[英]how to update datagridview to database using c#?
I have a datagridview bound to a datasouce, bound to a datatable. 我有一个datagridview绑定到一个数据源,一个数据表。 I want to create a button that when I click it, the database will be updated with the new parameters in the datagridview.
我想创建一个按钮,当我单击它时,数据库将使用datagridview中的新参数进行更新。 I've read some stuff about TableAdapter but I cant really find some good examples and explanations.
我已经阅读了一些有关TableAdapter的内容,但我确实找不到一些好的示例和说明。
So if someone can give some information about tableadapter, it will help me a lot. 因此,如果有人可以提供一些有关tableadapter的信息,它将对我有很大帮助。 Also, if you think that you have a better solution for me regarding update the database, i'll be glad to know about that.
另外,如果您认为在更新数据库方面对我来说有更好的解决方案,我将很高兴知道这一点。
EDIT: ok so i'm trying to use the mysqlcommandbuilder. 编辑:好的,所以我试图使用mysqlcommandbuilder。 My code now looks like this:
我的代码现在看起来像这样:
MySqlDataAdapter da = new MySqlDataAdapter();
da.SelectCommand = new MySqlCommand("SELECT * from setups", sql_Class.myConnection);
MySqlCommandBuilder cb = new MySqlCommandBuilder(da);
cb.GetUpdateCommand();
da.Update(dt);
so now my error is in the da.Update(dt) and it says: "input string was not in the correct format". 所以现在我的错误是在da.Update(dt)中,它说:“输入字符串的格式不正确”。 I've created a loop that runs on all the parameters in the sql query and all the parameters values are null.
我创建了一个循环,该循环在sql查询中的所有参数上运行,并且所有参数值均为null。
for (int i = 0; i <= cb.GetUpdateCommand().Parameters.Count - 1; i++)
{
Console.WriteLine(cb.GetUpdateCommand().Parameters[i].ParameterName + " " + cb.GetUpdateCommand().Parameters[i].Value);
}
I have values in the datatable, i've double checked it, but someone the parameters are null. 我在数据表中有值,我已经对其进行了仔细检查,但是有人将该参数设置为null。 Any ideas why?
有什么想法吗?
Managed to update my database in some "old fashion" method. 设法以某种“旧方式”更新我的数据库。
I'm just running on every single row in the datagridview and updates it using executenonquery. 我只是在datagridview中的每一行上运行,并使用executenonquery更新它。 I get all the parameters manually.
我手动获取所有参数。
Example: int setup_id = Convert.ToInt16(stam.Cells["setup_id"].Value); 示例:int setup_id = Convert.ToInt16(stam.Cells [“ setup_id”]。Value); string setup_name = stam.Cells["setup_name"].Value.ToString();
字符串setup_name = stam.Cells [“ setup_name”]。Value.ToString(); string mySqlQuery = "UPDATE setups SET setup_name='"+setup_name+"' WHERE setup_id="+setup_id;
字符串mySqlQuery =“ UPDATE设置SET setup_name ='” + setup_name +“'WHERE setup_id =” + setup_id;
MySqlCommand cm = new MySqlCommand(mySqlQuery, sql_Class.myConnection); MySqlCommand cm =新的MySqlCommand(mySqlQuery,sql_Class.myConnection); cm.ExecuteNonQuery();
cm.ExecuteNonQuery();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.