0

我遇到了 SqlException 的问题。在我的 c# 代码中,当我尝试在数据库中插入数据时,出现下一个错误:无法在对象错误号中插入重复键我在 Sql Server 中进行了约束。但我需要知道这个异常的错误代码?我应该做什么?

       try{
      connect c = new connection();
      DataTable d = c.query("INSERT INTO User (code, name, surname) VALUES ('"+code+"',           '"+name+"', '"+surname+"')");
      }
      catch(SqlException e)
      {
     if(e.Number == ???)
      {
       MessageBox.Show("Sorry, you can't add duplicate data");
       }

}

4

2 回答 2

1

一个简单的解决方案是switch错误号上:

switch (exc.Errors[0].Number){
    case 17:
    case 4060:
    case 18456:
    case 547:
        break;
}

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlexception.number.aspx

于 2012-05-14T13:05:39.817 回答
-1

试试这个,看看你得到了什么错误号:

try
{
    connect c = new connection();
    DataTable d = c.query("INSERT INTO User (code, name, surname) VALUES ('"+code+"',           '"+name+"', '"+surname+"')");
}
catch(SqlException e)
{
    MessageBox.Show(e.Number.ToString());
}
于 2012-05-14T13:05:44.103 回答