如何从Datagridview c#更新数据库?我的项目是在DB中加载数据表的工作。但是不能更新到DB 它的加载数据按钮
private void button2_Click(object sender, EventArgs e)
{
string connectionString;
connectionString = "Server=localhost;User Id=root; Password=1234; Database=db2; Pooling=false;CharSet=tis620;";
connection = new MySqlConnection(connectionString);
sda = new MySqlDataAdapter("Select * from data Where Id = '" + comp.Text.Trim() + "'", connection);
dt = new DataTable();
sda.Fill(dt);
Table1.DataSource = dt;
}
并更新按钮
private void button3_Click(object sender, EventArgs e)
{
cmdbl = new MySqlCommandBuilder(sda);
sda.Update(dt);
MessageBox.Show("Save data complete");
}
我按照此剪辑Insert,Delete and Update data in database from datagridview 而我无法做到 对不起我的英语我说得不够好,谢谢你的回答。
答案 0 :(得分:0)
假设您已配置UpdateCommand。 更新后尝试dt.AcceptChanges()
private void button3_Click(object sender, EventArgs e)
{
cmdbl = new MySqlCommandBuilder(sda);
sda.Update(dt);
dt.AcceptChanges()
MessageBox.Show("Save data complete");
}
否则请按照MSDN
进行操作作为最低要求,您必须设置SelectCommand属性才能使自动命令生成起作用。 SelectCommand属性检索的表模式确定自动生成的INSERT,UPDATE和DELETE语句的语法。 DbCommandBuilder必须执行SelectCommand才能返回构造INSERT,UPDATE和DELETE SQL命令所需的元数据。因此,需要额外访问数据源,这可能会影响性能。要获得最佳性能,请明确指定命令,而不是使用DbCommandBuilder。 SelectCommand还必须至少返回一个主键或唯一列。如果不存在,则会生成InvalidOperation异常,并且不会生成命令。