gpt4 book ai didi

c# - 主键和唯一键分开异常处理 | ASP.NET C#

转载 作者:行者123 更新时间:2023-11-30 21:59:24 26 4
gpt4 key购买 nike

我正在使用以下代码来处理唯一键和主键违规的异常情况。

catch (SqlException ex)
{
if (ex.Number == 2627)
{
if (ex.Message.Contains("Unique"))
//error msg regarding Unique key violation.
else
//error msg regarding Primary key violation.
}
else
//any other error msg.
}

但是它不能正常工作。对于主键和唯一键违规,显示相同的错误消息(主键错误消息)。

当我只是显示错误信息而不使用

if (ex.Number == 2627)
{
if (ex.Message.Contains("Unique"))
//error msg regarding Unique key violation.
else
//error msg regarding Primary key violation.
}
else

显示以下错误消息:

For Primary key:
Violation of PRIMARY KEY constraint 'PK_users'. Cannot insert duplicate key in object 'dbo.users'. The statement has been terminated.

For Unique key:
Violation of UNIQUE KEY constraint 'UQ__users__AB6E61640425A276'. Cannot insert duplicate key in object 'dbo.users'. The statement has been terminated.

请为此提出任何解决方案。

最佳答案

Contains 方法区分大小写。你应该使用

catch (SqlException ex)
{
if (ex.Number == 2627)
{
if (ex.Message.Contains("UNIQUE"))
//error msg regarding Unique key violation.
else
//error msg regarding Primary key violation.
}
else
//any other error msg.
}

关于c# - 主键和唯一键分开异常处理 | ASP.NET C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29285493/

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