Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 并发冲突:UpdateCommand影响了0条具有自动编号字段的预期1记录_C#_Concurrency_.net 3.5_Autonumber - Fatal编程技术网

C# 并发冲突:UpdateCommand影响了0条具有自动编号字段的预期1记录

C# 并发冲突:UpdateCommand影响了0条具有自动编号字段的预期1记录,c#,concurrency,.net-3.5,autonumber,C#,Concurrency,.net 3.5,Autonumber,我正在使用VisualStudio2008和.NET3.5以及SQLite编写一个小型的C协会会员应用程序 我使用各种向导来生成我的主窗体,它有一个BindingNavigator和一个BindingSource。其思想是表单显示1条记录,您可以更新该记录,并使用BindingNavigator控件导航到其他记录、添加记录、删除记录等 我希望在用户导航到其他记录或关闭表单时,将当前记录写回数据库 成员记录中有一个自动编号字段。我希望与应用程序中其他位置的其他表建立关系 这一切都有效,除了添加新记

我正在使用VisualStudio2008和.NET3.5以及SQLite编写一个小型的C协会会员应用程序

我使用各种向导来生成我的主窗体,它有一个BindingNavigator和一个BindingSource。其思想是表单显示1条记录,您可以更新该记录,并使用BindingNavigator控件导航到其他记录、添加记录、删除记录等

我希望在用户导航到其他记录或关闭表单时,将当前记录写回数据库

成员记录中有一个自动编号字段。我希望与应用程序中其他位置的其他表建立关系

这一切都有效,除了添加新记录。将保存新记录,但此后任何更新数据的尝试都会在标题中显示错误消息

我意识到这是因为在保存数据时,自动编号字段尚未添加到数据集的本地副本中。但是我不知道应该在哪里放置一些代码来检索自动编号id并将其填充到新记录中

我可以将代码放入为数据表生成的代码的Insert方法中,但是下次在设计器中更改任何内容时,我的更改都会丢失,而且我不确定Insert方法是否会被调用,在那里放置断点似乎不会停止

我在谷歌上搜索了一个答案,发现一个建议,建议我在数据表设计器的高级配置设置中选中“更新后刷新”复选框,但这并没有改变生成的代码,也没有任何效果,当我返回查看时,该复选框再次被取消选中

补充问题-哪里是阅读DataBindingNavigator、DataBindingSource和新生成的数据类如何结合的概述的最佳位置


最后,如果你看到我提出的另一个类似问题,请道歉。我可以发誓我昨天问了一个问题,但我在这里找不到,所以我假设它从未发布过。

您选择的路径与MS-SQL兼容,但其他数据库可能不太支持。保持简单,不要过分依赖花哨的功能。自动编号列并不简单。如何检索新添加的记录?您可能需要一个额外的Guid列。谢谢您的输入-我以为没有人知道这些事情。我不确定guid会有什么帮助-大概我必须在某个地方添加一些代码来生成guid,然后将其返回到记录集中-这让我回到了最初的问题,即如何连接以添加此代码?Nikki-这是较旧的东西,查找文章等