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 に答える