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