我正在处理一个asp.net应用程序。 有没有办法,当捕获一个SqlException, 知道哪些约束被违反?违反SqlException约束
4
A
回答
2
你必须添加异常处理程序ConstraintException如果我明白你的问题正确
try
{
}
catch(ConstraintException exc)
{
//exc.Message
}
0
你让异常泡沫吗?如果你不抓住它,并在web.config中关闭自定义错误,我相信它会显示在你的浏览器中。如果你在捕捉它,我会在捕捉部分放一个断点并检查那里的异常。
7
-1
最好的事情是在你的C#代码中捕获这个catch异常。
catch(SqlException ex)
{
if (ex.Message.Contains("UniqueConstraint"))
throw new UniqueConstraintException();
throw;
}
您可以创建自己的异常并从数据层中抛出异常,否则可以直接捕获上述的异常。
using System;
public class UniqueConstraintException : Exception
{
}
+0
-1。也因为.NET框架中已经有'ConstraintException'。 – Neolisk 2014-11-03 13:15:39
4
catch (SqlException ex)
{
if (ex.Errors.Count > 0) // Assume the interesting stuff is in the first error
{
switch (ex.Errors[0].Number)
{
case 547: // Foreign Key violation
throw new InvalidOperationException("Your FK user-friendly description", ex);
break;
// other cases
}
}
}
+0
在这种特殊情况下,为了简单起见,您可以使用ex.Number。 – 2015-05-19 11:18:59
相关问题
- 1. 违反约束?
- 2. doctrine2违反约束
- 3. 违反PRIMARY KEY约束
- 4. Postgres:违反外键约束
- 5. 违反唯一键约束
- 6. DB约束违反休眠
- 7. 违反约束失败
- 8. 违反唯一约束?
- 9. 违反PRIMARY KEY约束'PK _ *%$ ^&'
- 10. @NamedNativeQuery违反约束 - 交易
- 11. 违反约束上插入
- 12. FactoryGirl:非空约束违反
- 13. 违反PRIMARY KEY约束“PK_
- 14. 了解违反约束SQL
- 15. sqlalchemy,违反外键约束
- 16. 违反PRIMARY KEY约束插入空表
- 17. 多重约束违反SQL Server 2008 - CodeFirst
- 18. djangorestframework USER_ID违反了非空约束
- 19. Hibernate违反UNIQUE KEY约束条件
- 20. Rspec + Postgresql9.1违反非空约束?
- 21. ORA-00001:违反的唯一约束(DEV.X_PK)
- 22. postgres中的timetravel - 违反PRIMARY KEY约束
- 23. 合并导致违反唯一约束
- 24. EntityFramework 4.0:InvalidOperationExeception:违反多重约束
- 25. Django的关键违反唯一约束
- 26. AspNet身份MVC6违反类型约束
- 27. 00001. 00000 - “唯一约束(%s。%s)违反”
- 28. 装载机违反约束在JBoss中
- 29. 违反PRIMARY KEY约束错误SQL
- 30. 捕捉违反约束在JPA 2.0
是的。我只想知道用户是否违反了唯一的约束,所以应用程序可以通知'UniqueConstraintException:Exception'(绕过SqlException)哪个插入的数据错误 – DJPB 2010-03-25 16:07:14