繁体   English   中英

如何使用C#将datagridview更新到数据库?

[英]how to update datagridview to database using c#?

我有一个datagridview绑定到一个数据源,一个数据表。 我想创建一个按钮,当我单击它时,数据库将使用datagridview中的新参数进行更新。 我已经阅读了一些有关TableAdapter的内容,但我确实找不到一些好的示例和说明。

因此,如果有人可以提供一些有关tableadapter的信息,它将对我有很大帮助。 另外,如果您认为在更新数据库方面对我来说有更好的解决方案,我将很高兴知道这一点。

编辑:好的,所以我试图使用mysqlcommandbuilder。 我的代码现在看起来像这样:

                MySqlDataAdapter da = new MySqlDataAdapter();
            da.SelectCommand = new MySqlCommand("SELECT * from setups", sql_Class.myConnection);
            MySqlCommandBuilder cb = new MySqlCommandBuilder(da);
            cb.GetUpdateCommand();

            da.Update(dt);

所以现在我的错误是在da.Update(dt)中,它说:“输入字符串的格式不正确”。 我创建了一个循环,该循环在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);
            }

我在数据表中有值,我已经对其进行了仔细检查,但是有人将该参数设置为null。 有什么想法吗?

设法以某种“旧方式”更新我的数据库。

我只是在datagridview中的每一行上运行,并使用executenonquery更新它。 我手动获取所有参数。

示例:int setup_id = Convert.ToInt16(stam.Cells [“ setup_id”]。Value); 字符串setup_name = stam.Cells [“ setup_name”]。Value.ToString(); 字符串mySqlQuery =“ UPDATE设置SET setup_name ='” + setup_name +“'WHERE setup_id =” + setup_id;

MySqlCommand cm =新的MySqlCommand(mySqlQuery,sql_Class.myConnection); cm.ExecuteNonQuery();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM