无法重现在表格问题中插入的重复记录

时间:2015-08-20 10:10:22

标签: c# asp.net sql-server vb.net

我在sql server中有一个表。将记录插入表格时,有时会在两行中插入具有相同值的副本,但无法重现

示例:我在表格中的2行

        self.footerBar.alpha = 0;

        UIView.animateWithDuration(1.5, delay: 0.5, options: nil, animations: {
            self.footerBar.alpha = 1
        }
        , completion: { finished in
            UIView.animateWithDuration(0.75, delay: 1.25, options: nil, animations: {
               self.footerBar.alpha = 0
            }
            , completion: { finished in
               self.footerBar.setTitle("", forState: UIControlState.Normal)
            }
            )
       }
       )

2 个答案:

答案 0 :(得分:0)

你需要检查除标识列以外的某些字段中的重复值 你可以刷新你正在添加这些数据的页面。将逻辑用于检查c2列中的重复数据,例如

if not exists (select 1 from your table where c2=@"C2's parameter" )
begin
 insert operation
end
else
begin
raieerror already exists

end

希望你明白我的观点

答案 1 :(得分:0)

要调试它。

  • 在表格上创建一个涵盖所有列的unique constraint
  • 在调试器中运行代码
  • 设置调试器以在出现异常时中断
  • 重复时,调试器将告诉您第二次插入的代码是什么。
  • 解决问题后,请考虑是否要保留唯一约束

如果只在生产中重复,那么您需要执行上述操作,但记录所有异常。

倾向于primary keys,有一个很可能使第二个插入失败,因此在您的代码中显示了问题。

我希望页面正在刷新,或者按钮正在按下一次,但是没有看到调试器中发生了什么,这些只是猜测。