0

就像一个开始说明:我正在浏览一个传递给我们的现有应用程序,并试图通过并修复错误。

我一直遇到一个特定的 DataGridView 出错的问题;给我一个关于 ID 的唯一约束例外。奇怪的是,当我将新项目添加到表中时,我没有收到此错误,当我尝试在数据网格视图。当您将项目添加到此表时,它会按顺序递增 ID,并且从调试开始,ID 似乎正在正确递增,所以我不确定为什么会收到此错误。我是 Visual Studio 的新手,所以我真的很困惑为什么我在选择一行而不是在将项目添加到表时收到此错误。

无论如何,当我在 DGV 中选择一行时,我是否可以告诉该错误发生在哪一行或为什么会发生?我尝试在“异常”窗口中标记 System.Data.ConstraintException,因为这通常可以正常工作,但是程序不会像通常处理其他异常那样停止并将我带到代码中的相应行。对话框窗口刚刚弹出,程序在我关闭后继续正常运行。

我应该注意的另一件事是该项目已正确添加到数据库中,具有正确的 ID 和所有内容。除了弹出异常对话框之外,它似乎没有引起问题。我知道我可以只处理 DataError 事件来阻止对话框显示,但我真的很想解决这个问题,而不是仅仅掩盖它。

可以在此处看到异常的屏幕截图:

http://i.imgur.com/VICFv.png

同样,为了清楚起见,当我在添加新记录后选择 DataGridView 中的任何行时,会弹出此异常。此外,我没有设置任何事件发生 onRowEnter。

非常感谢任何帮助!提前致谢。

4

1 回答 1

0

可能是您的 ID 序列中有某种“热点”,因此即使在选择行之后,如果 ID 正确递增,它也可以与已经存在的行加倍。

于 2011-07-05T19:42:52.087 回答