C# 在主键列(表)中插入重复值时,SQL Server返回哪个错误代码
在主键列(表)中插入重复值时,SQL Server返回哪个错误代码C# 在主键列(表)中插入重复值时,SQL Server返回哪个错误代码,c#,sql,sql-server,sql-server-2005,ado.net,C#,Sql,Sql Server,Sql Server 2005,Ado.net,在主键列(表)中插入重复值时,SQL Server返回哪个错误代码 您要查找的错误代码是2601。使用属性 错误代码为2627(违反主键约束) 2601 示例:无法在具有唯一索引的对象“my_table_name”中插入重复的键行 2627 示例:违反主键约束“我的约束名”。无法在对象“我的表名”中插入重复键 来源:测试起来很容易,不是吗?它不是一个方法,它是sql异常发生时抛出的SqlException对象可用的属性。此代码每次都相同或不同?当主键中的重复值同时违反2601和2627时,我的p
您要查找的错误代码是2601。使用属性 错误代码为2627(违反主键约束) 2601 示例:无法在具有唯一索引的对象“my_table_name”中插入重复的键行 2627 示例:违反
主键
约束“我的约束名”。无法在对象“我的表名”中插入重复键
来源:测试起来很容易,不是吗?它不是一个方法,它是sql异常发生时抛出的SqlException对象可用的属性。此代码每次都相同或不同?当主键中的重复值同时违反2601和2627时,我的project sql server中的@ChrisGessler将返回2627。因为您说过当主键中的值重复时,2601将是错误代码,所以我请求帮助。我认为2627将是OP寻求的更合适的错误代码。你说呢?对将来看这个的人来说。2627与2601有很大不同。2601是唯一的密钥冲突2627是主键冲突。这意味着,如果你像我一样,你会对大多数主键使用标识值。这意味着你永远不应该得到2627。
try
{
dataAdapterObj = new SqlDataAdapter(selectString, conObj);
return true;
}
catch (Exception e)
{
MessageBox.Show("Exception is : " + e.ToString());
return false;
}
catch (SqlException e)
{
MessageBox.Show(String.Format("Exception is {0} - {1}", e.Number, e.Message));
}
try
{
// do insert
}
catch (SqlException e)
{
if (e.Number == 2627)
//do something
}