データベースの変更を別のスレッドで更新したいのですが、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());
}
}