c# – 如何正确地将bindingSource更改提交到源数据库?

c# – 如何正确地将bindingSource更改提交到源数据库?,第1张

概述我设置了DataGridView和其他UI组件,以允许用户编辑来自SQLite DB的数据.但是这些更改(即使它们在应用程序中正确显示)也不会保存到DB.我试过这段代码 aBindingSource.EndEdit();dbDataSetA.GetChanges();aTableAdapter.Update(dbDataSetA.Accounts); 但是有并发异常: System.Data. 我设置了DataGrIDVIEw和其他UI组件,以允许用户编辑来自sqlite DB的数据.但是这些更改(即使它们在应用程序中正确显示)也不会保存到DB.我试过这段代码

aBindingSource.EndEdit();dbDataSetA.GetChanges();atableAdapter.Update(dbDataSetA.Accounts);

但是有并发异常:

System.Data.DBConcurrencyException was unhandled Message=Concurrency
violation: the UpdateCommand affected 0 of the expected 1 records.

那么我应该如何将绑定源更改提交给DB,伙计们呢?

编辑后
我在启动程序时遇到此异常,然后单击DataGrIDVIEw中的第二行,然后单击第三行,此时程序引发并发异常.希望他的帮助能让这个问题更加详细.

先谢谢你们!

解决方法 像这样的东西?

try{   aBindingSource.EndEdit();   dbDataSetA.GetChanges();   atableAdapter.Update(dbDataSetA.Accounts);   }catch (DBConcurrencyException exc){   MessageBox.Show("original data changed,please redo updates");   atableAdapter.Fill(dbDataSetA);}

然后根据需要将dbDataSetA重新分配为DataSource,用户必须再次输入数据.

总结

以上是内存溢出为你收集整理的c# – 如何正确地将bindingSource更改提交到源数据库?全部内容,希望文章能够帮你解决c# – 如何正确地将bindingSource更改提交到源数据库?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1217540.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存