在插入期间捕获c#中的sql唯一约束违规的最佳方式

在插入期间捕获c#中的sql唯一约束违规的最佳方式,第1张

概述我有一个c#中的循环插入到表中.漂亮的基本东西有没有什么insdie异常对象抛出一个唯一的约束被违反,我可以用来看看什么是违规的值? 还是有办法在sql中返回它?我有一系列文件,其数据加载到表格中,我正在绑定我的头试图找到这个dupe. 我知道我可以把一些纯粹的基于IO的代码放在一起,可以找到它,但是我想要一些可以用作更永久的解决方案. 您正在寻找的是SqlException,特别是违反主键约束. 我有一个c#中的循环插入到表中.漂亮的基本东西有没有什么insdIE异常对象抛出一个唯一的约束被违反,我可以用来看看什么是违规的值?

还是有办法在sql中返回它?我有一系列文件,其数据加载到表格中,我正在绑定我的头试图找到这个dupe.

我知道我可以把一些纯粹的基于IO的代码放在一起,可以找到它,但是我想要一些可以用作更永久的解决方案.

解决方法 您正在寻找的是sqlException,特别是违反主键约束.您可以通过查看抛出的异常的number属性来获取此异常的特定错误.这个答案可能与你需要的相关:
How to Identify the primary key duplication from a SQL Server 2008 error code?

总而言之,它看起来像这样:

// put this block in your looptry{   // 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
总结

以上是内存溢出为你收集整理的在插入期间捕获c#中的sql唯一约束违规的最佳方式全部内容,希望文章能够帮你解决在插入期间捕获c#中的sql唯一约束违规的最佳方式所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1260304.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存