非接触型カードの制御と記録に使用するアプリケーションを作成しました。カードがリーダーに押し付けられると、アプリケーションがカードのシリアル番号を記録し (シリアル番号が読み取られた場合、カードは正常に機能しています)、それをローカルの SQL データベースに保存します。
これはすべて正常に機能しますが、解決できないエラーが 1 つあります。同じカードが読み取られた場合に、その特定のカードが既に記録されていることを示す例外がスローされるように、シリアル番号の列を主キーとしてマークしました。
発生し続ける奇妙なことは、この例外が正確に 6 回 (毎回) スローされた後、表示されなくなり、重複したカードが通常のものとして記録されることです。これを引き起こしているのは何ですか。また、入力を制御し、重複についてユーザーに警告する他の方法はありますか。
VS 2010 および SQL Server 2005 で C# を使用してアプリケーションを作成していますが、これを解決するにはどうすればよいですか?