我想将sql-2000主键错误捕获到c#中并开发我自己的错误 “这是重复的发票编号”
请在c#应用程序中回复如何执行此操作。
感谢名单。
答案 0 :(得分:1)
通常,这不被认为是好的设计。您应该在插入之前检查重复的密钥,并且仅将DB约束作为“安全网”。
但是如果你想这样做,你需要捕获异常SQLException。然后你需要使用SQLException的属性(特别是ErrorCode和Number)来检查它是否是PK违规。
但是通常检查SQLException的确切原因很棘手并且取决于所使用的DBMS,所以它不是一个好的和强大的方法。这就是为什么不推荐它的原因之一(见上文)。
答案 1 :(得分:-1)
如果您希望将其作为例外处理,则应该在插入之前检查特定ID是否存在。