次の方法で共有


SqlError.Class プロパティ

SQL Server から返されたエラーの重大度レベルを取得します。

Public ReadOnly Property Class As Byte
[C#]
public byte Class {get;}
[C++]
public: __property unsigned char get_Class();
[JScript]
public function get Class() : Byte;

プロパティ値

エラーの重大度レベルを示す 1 ~ 25 の値。既定値は 0 です。

解説

重大度レベルが 10 以下のメッセージは、情報メッセージです。これらは、ユーザーが入力した情報の誤りが原因の問題を示します。重大度レベルが 11 ~ 16 のメッセージは、ユーザーが生成し、修正できます。重要度レベルが 17 ~ 25 のメッセージは、ソフトウェアまたはハードウェアのエラーを示します。レベル 17、18、または 19 のエラーが発生した場合は、作業は続行できますが、一部のステートメントが実行できないことがあります。

重大度レベルが 19 以下のときは、 SqlConnection は開いたままになります。重大度レベルが 20 以上のときは、通常、サーバーは SqlConnection を閉じます。ただし、ユーザーが接続を再び開いて、処理を継続できます。いずれの場合でも、 SqlException は、コマンドを実行しているメソッドによって生成されます。

SQL Server が送信する警告メッセージと情報メッセージについては、『SQL Server ドキュメント』の「トラブルシューティング」を参照してください。

使用例

[Visual Basic, C#, C++] SqlErrorCollection コレクション内の各 SqlError を表示する例を次に示します。

 
Public Sub DisplaySqlErrors(myException As SqlException)
    Dim i As Integer
    For i = 0 To myException.Errors.Count - 1
        MessageBox.Show(("Index #" & i & ControlChars.NewLine & _
                         "Source: " & myException.Errors(i).Source & ControlChars.NewLine & _
                         "Number: " & myException.Errors(i).Number.ToString() & ControlChars.NewLine & _
                         "State: " & myException.Errors(i).State.ToString() & ControlChars.NewLine & _
                         "Class: " & myException.Errors(i).Class.ToString() & ControlChars.NewLine & _
                         "Server: " & myException.Errors(i).Server & ControlChars.NewLine & _
                         "Message: " & myException.Errors(i).Message & ControlChars.NewLine & _
                         "Procedure: " & myException.Errors(i).Procedure & ControlChars.NewLine & _
                         "LineNumber: " & myException.Errors(i).LineNumber.ToString()))
    Next i
End Sub 'DisplaySqlErrors

[C#] 
public void DisplaySqlErrors(SqlException myException) 
 {
    for (int i=0; i < myException.Errors.Count; i++)
    {
       MessageBox.Show("Index #" + i + "\n" +
            "Source: " + myException.Errors[i].Source + "\n" +
            "Number: " + myException.Errors[i].Number.ToString() + "\n" +
            "State: " + myException.Errors[i].State.ToString() + "\n" +
            "Class: " + myException.Errors[i].Class.ToString() + "\n" +
            "Server: " + myException.Errors[i].Server + "\n" +
            "Message: " + myException.Errors[i].Message + "\n" +
            "Procedure: " + myException.Errors[i].Procedure + "\n" +
            "LineNumber: " + myException.Errors[i].LineNumber.ToString());
    }
 }

[C++] 
public:
void DisplaySqlErrors(SqlException* myException) 
 {
    for (int i=0; i < myException->Errors->Count; i++)
    {
       MessageBox::Show(String::Concat(
          String::Format( S"Index #{0}\nSource: {1}\nNumber: {2}\n",
             __box(i), myException->Errors->Item[i]->Source, __box(myException->Errors->Item[i]->Number) ),
          String::Format( S"State: {0}\nClass: {1}\nServer: {2}\n",
             __box(myException->Errors->Item[i]->State), __box(myException->Errors->Item[i]->Class), myException->Errors->Item[i]->Server ),
          String::Format( S"Message: {0}\nProcedure: {1}\nLineNumber: {2}",
             myException->Errors->Item[i]->Message, myException->Errors->Item[i]->Procedure, __box(myException->Errors->Item[i]->LineNumber) )));
    }
 }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

参照

SqlError クラス | SqlError メンバ | System.Data.SqlClient 名前空間 | Number | State | Server | Source | Message | Procedure | LineNumber