我有一个绑定到datasouce的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。 有什么想法吗?
答案 0 :(得分:0)
管理以某种“旧时尚”的方式更新我的数据库。
我只是在datagridview中的每一行上运行,并使用executenonquery更新它。 我手动获取所有参数。
实施例: int setup_id = Convert.ToInt16(stam.Cells [“setup_id”]。Value); string setup_name = stam.Cells [“setup_name”]。Value.ToString(); string mySqlQuery =“UPDATE setups SET setup_name ='”+ setup_name +“'WHERE setup_id =”+ setup_id;
MySqlCommand cm = new MySqlCommand(mySqlQuery,sql_Class.myConnection); cm.ExecuteNonQuery();