0

最初のメモとして: 私は、私たちに渡された既存のアプリを調べており、バグを調べて修正しようとしています.

特定の DataGridView でエラーが発生するという問題が発生しています。IDでUnique Constraint Exceptionが発生しました。奇妙なことに、新しいアイテムをテーブルに追加してもこのエラーは表示されません。 DataGridView. このテーブルにアイテムを追加すると、ID が順次インクリメントされ、デバッグからは ID が正しくインクリメントされているように見えるため、このエラーが発生する理由がわかりません。私はVisual Studioを初めて使用するので、アイテムがテーブルに追加されたときではなく、行を選択したときにこのエラーが発生する理由について本当に混乱しています。

このエラーが発生している行、または DGV で行を選択したときにエラーが発生した理由を知る方法はありますか? System.Data.ConstraintException を [例外] ウィンドウでマークしてみましたが、これは通常は機能しますが、プログラムは停止せず、他の例外の場合とは異なり、コード内の対応する行に移動しません。ダイアログウィンドウがポップアップするだけで、閉じるとプログラムは通常どおり続行します。

私が注意すべきもう 1 つのことは、アイテムがデータベースに適切に追加され、正しい ID とすべてが含まれていることです。例外ダイアログがポップアップする以外に問題が発生しているようには見えません。ダイアログが表示されないように DataError イベントを処理するだけでよいことはわかっていますが、これを隠すのではなく、これを解決したいと考えています。

例外のスクリーンショットは次のとおりです。

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

繰り返しますが、明確にするために、新しいレコードを追加した後に DataGridView で任意の行を選択すると、この例外がポップアップします。また、onRowEnter で発生するように設定されたイベントはありません。

どんな助けでも大歓迎です!前もって感謝します。

4

1 に答える 1

0

IDシーケンスに一種の「ホットスポット」がある可能性があるため、行を選択した後でもIDが正しくインクリメントされていれば、すでに存在するものと2倍になる可能性があります。

于 2011-07-05T19:42:52.087 に答える