我想用另一个线程更新数据库的更改,因为当我更改超过100个单元格值时,表单冻结几秒钟。C#dataGridView更新到另一个线程的数据库
我尝试了很多的解决方案,但我总是得到这个错误
已经有一个用此
Connection
必须先关闭相关联的打开DataReader
。
我该如何解决这个问题?
不必穿线使用此代码更新数据库:
private void dataGridView1_RowValidated(object sender, DataGridViewCellEventArgs e)
{
try
{
DataTable changes = ((DataTable)dataGridView1.DataSource).GetChanges();
if (changes != null)
{
MySqlCommandBuilder mcb = new MySqlCommandBuilder(mySqlDataAdapter);
((DataTable)dataGridView1.DataSource).AcceptChanges();
mySqlDataAdapter.UpdateCommand = mcb.GetUpdateCommand();
mySqlDataAdapter.Update(changes);
}
}
catch (Exception _ex)
{
MessageBox.Show(_ex.ToString());
}
}