我有一个c#中的循环插入到表中.漂亮的基本东西有没有什么insdie异常对象抛出一个唯一的约束被违反,我可以用来看看什么是违规的值?
解决方法
您正在寻找的是sqlException,特别是违反主键约束.您可以通过查看抛出的异常的number属性来获取此异常的特定错误.这个答案可能与你需要的相关:
How to Identify the primary key duplication from a SQL Server 2008 error code?
How to Identify the primary key duplication from a SQL Server 2008 error code?
总而言之,它看起来像这样:
// put this block in your loop try { // do your insert } catch(sqlException ex) { // the exception alone won't tell you why it Failed... if(ex.Number == 2627) // <-- but this will { //Violation of primary key. Handle Exception } }
编辑:
这可能有点麻烦,但您也可以检查异常的消息组件.这样的事情
if (ex.Message.Contains("UniqueConstraint")) // do stuff