gpt4 book ai didi

sql-server - 需要一种方法来拦截 MSSQL 中的重复键异常

转载 作者:行者123 更新时间:2023-12-02 18:40:33 25 4
gpt4 key购买 nike

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

最佳答案

在 ADO 中,您可以访问连接 Errors发生错误后,检查 NativeError 属性以获取 SQL Server 特定错误号。

当您切换到 .NET 时,相同的数字将作为 SqlExceptionNumber 属性公开。或SqlError

但是,查找特定的错误编号可能有点麻烦 - 对于重复 key ,错误编号为 2627。

关于sql-server - 需要一种方法来拦截 MSSQL 中的重复键异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14102138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com