0

我有一个绑定到数据源的数据网格视图,绑定到数据表。我想创建一个按钮,当我单击它时,数据库将使用 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 查询中的所有参数上运行,并且所有参数值为空。

            for (int i = 0; i <= cb.GetUpdateCommand().Parameters.Count - 1; i++)
            {
                Console.WriteLine(cb.GetUpdateCommand().Parameters[i].ParameterName + " " + cb.GetUpdateCommand().Parameters[i].Value);
            }

我在数据表中有值,我已经仔细检查过,但有人参数为空。任何想法为什么?

4

1 回答 1

0

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

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

示例: int setup_id = Convert.ToInt16(stam.Cells["setup_id"].Value); 字符串 setup_name = stam.Cells["setup_name"].Value.ToString(); string mySqlQuery = "更新设置 SET setup_name='"+setup_name+"' WHERE setup_id="+setup_id;

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

于 2013-10-09T07:20:28.137 回答