1, 在多个线程中同时用Adapter更新一个DataTable:
tbReferTableAdapter tbAdapter = new tbReferTableAdapter();
tbAdapter.Update(dataSetRefer.tbRefer); //更新到数据库,tbRefer是datatable中的一张表。
遇到如下错误: throws DBConcurrencyException 违反并发性: UpdateCommand 影响了预期 1 条记录中的 0 条。
在我写的程序中,是因为当用DataSet来更新数据库时,若DataSet对应数据库中数据被其他线程改变,引发DBConcurrencyException.
解决办法如下:
tbReferTableAdapter tbAdapter = new tbReferTableAdapter();
tbAdapter.Update(dataSetRefer.tbRefer); //更新到数据库,tbRefer是datatable中的一张表
tbAdapter.Fill(dataSetRefer.tbRefer); //把内存中的数据和数据库保持一致,