就像一个开始的说明:我正在浏览一个现有的应用程序,该应用程序已传递给我们,并尝试通过并修复错误。
我一直遇到一个错误的特定DataGridView问题;在ID上给我一个唯一约束异常。奇怪的是,当我将新项添加到表中时,我没有收到此错误,当我尝试选择一行(任何行,它不一定是新添加的项)时,我收到它DataGridView的。当你向这个表添加一个项目时,它会按顺序递增ID,并且从调试开始看起来ID似乎正在递增,所以我不知道为什么我收到这个错误。我是Visual Studio的新手,所以,当我选择一行而不是将项添加到表中时,我真的很困惑为什么我收到此错误。
当我在DGV中选择一行时,我是否知道这个错误发生在哪一行或为什么会发生?我尝试在Exceptions窗口中标记System.Data.ConstraintException,因为这通常有效,但是程序不会停止并将我带到代码中的相应行,因为它通常与其他异常一起使用。弹出对话框窗口,一旦我关闭它,程序就会正常继续。
我应该注意的另一件事是该项目正确地添加到数据库中,具有正确的ID和所有内容。除了弹出异常对话框之外,它似乎没有引起问题。我知道我可以处理DataError事件以阻止对话框显示,但我真的想解决这个问题,而不是仅仅覆盖它。
可以在此处看到异常的屏幕截图:
再次,为了清楚起见,当我在添加新记录后在DataGridView中选择任何行时,会弹出此异常。此外,我没有在RowEnter上设置任何事件。
任何帮助非常感谢!提前谢谢。
答案 0 :(得分:0)
可能是你的ID序列中有一些“热点”,所以即使选择了行 如果ID正确递增,它可以加倍已经存在的。