我创建了一个用于控制和记录非接触式卡片的应用程序。当卡片压在读卡器上时,我的应用程序会记录卡片的序列号(如果读取了序列号,则说明卡片工作正常)并将其存储到本地 SQL 数据库中。
所有这一切都很好,只有一个我无法解决的错误。我将序列号列标记为主键,这样如果读取同一张卡,就会抛出异常,表明该特定卡已被记录。
不断发生的奇怪事情是,这个异常恰好被抛出 6 次(每次),然后它停止出现,重复的卡片被记录为正常的卡片。造成这种情况的原因是什么,是否有其他方法可以控制输入并警告用户重复。
我在 VS 2010 和 SQL Server 2005 中使用 C# 创建我的应用程序,我该如何解决这个问题?