我正在使用Visual Studio 2008编写一个小型C#社会会员应用程序,并使用.Net 3.5和SQLite编写新数据层。
我使用各种向导生成我的主窗体,其上有一个BindingNavigator和一个BindingSource。这个想法是表单显示1条记录,你可以更新记录,并使用BindingNavigator控件导航到其他记录,添加记录,删除记录等。
每当用户导航到不同的记录(或关闭表单)时,我希望将当前记录写回数据库。
成员记录中包含一个自动编号字段(我打算与应用程序中的其他表有关系)。
除非我添加新记录,否则一切正常。保存新记录,但此后任何更新数据的尝试都会在标题中显示错误消息。
我意识到这是因为在保存数据时,自动编号字段尚未添加到数据集的本地副本中。但我不知道在哪里放一些代码来检索自动编号id并将其填入新记录中。
我可以将代码放在生成的数据表代码的Insert方法中,但是下次我在设计器中更改了任何内容时,我的更改将会丢失,而且我不确定Insert方法实际上是否被调用(放置一个断点似乎没有停止)。
我用Google搜索了一个答案,并发现我在数据表设计器的高级配置设置中选中“更新后刷新”复选框,但这并没有改变生成的代码,或者有任何影响(当我回过头来看,复选框再次被取消了。)
补充问题 - 哪里是阅读DataBindingNavigator,DataBindingSource和新生成的数据类如何组合在一起的概述的最佳位置?
最后,如果您从我这里看到另一个类似的问题,请道歉。我可以发誓我昨天问了一个,但我在这里找不到,所以我假设它从未被发布过。