假设您的 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 或不断调用特殊的存储过程来检查重复项并不会让我感到高兴。