【发布时间】:2012-12-15 15:28:32
【问题描述】:
假设您的 MSSQL 2008 数据库中存在唯一索引约束违规,如下所示:
Violation of PRIMARY KEY constraint 'PK_ManufacturerCode'. Cannot insert duplicate key in object 'dbo.ManufacturerCode'. The duplicate key value is (8410179)
目前我正在通过胖客户端中的全局异常处理程序处理此异常(使用 ADO 在 Delphi 6 中编写,但没关系,我计划将来使用 C#.NET)并且异常消息附加到一个日志框。
但我想亲自处理这个特定的重复键异常,并使用胖客户端自己的文本在客户端中显示适当的错误消息。我可以解析匹配的错误消息,但出于两个原因不会这样做:
- 这不是正确的做法 - 最好依靠一些错误代码;
- 胖客户端旨在使用不同语言的各种 MSSQL 服务器版本,可能有不同的错误文本
使用带有自定义退出代码的 RETURN 或不断调用特殊的存储过程来检查重复项并不能让我感到高兴。
【问题讨论】:
标签: sql-server exception-handling unique-constraint duplicate-data