SqlException クラス
アセンブリ: System.Data (system.data.dll 内)
構文
このクラスは、サーバーが生成したエラーを .NET Framework SQL Server 用データ プロバイダが検出するたびに作成されます。クライアント側のエラーは、標準共通言語ランタイム例外としてスローされます。SqlException には、常に、SqlError のインスタンスが少なくとも 1 つ含まれています。
重大度レベルが 10 以下のメッセージは、情報メッセージです。これらは、ユーザーが入力した情報の誤りが原因の問題を示します。重大度レベルが 11 ~ 16 のメッセージは、ユーザーが生成し、修正できます。重要度レベルが 17 ~ 25 のメッセージは、ソフトウェアまたはハードウェアのエラーを示します。レベル 17、18、または 19 のエラーが発生した場合は、作業は続行できますが、一部のステートメントが実行できないことがあります。
重大度レベルが 19 以下のときは、SqlConnection は開いたままになります。重大度レベルが 20 以上のときは、通常、サーバーは SqlConnection を閉じます。ただし、ユーザーは接続を再び開いて、処理を継続できます。いずれの場合でも、SqlException は、コマンドを実行しているメソッドによって生成されます。
SQL Server が送信する警告メッセージと情報メッセージについては、『SQL Server Books Online』の「トラブルシューティング」を参照してください。SqlException クラスは、SQL Server の重大度に割り当てられます。
SqlException を作成し、例外を表示する例を次に示します。
Public Sub ShowSqlException(ByVal connectionString As String) Dim queryString As String = "EXECUTE NonExistantStoredProcedure" Dim errorMessages As New StringBuilder() Using connection As New SqlConnection(connectionString) Dim command As New SqlCommand(queryString, connection) Try command.Connection.Open() command.ExecuteNonQuery() Catch ex As SqlException Dim i As Integer For i = 0 To ex.Errors.Count - 1 errorMessages.Append("Index #" & i.ToString() & ControlChars.NewLine _ & "Message: " & ex.Errors(i).Message & ControlChars.NewLine _ & "LineNumber: " & ex.Errors(i).LineNumber & ControlChars.NewLine _ & "Source: " & ex.Errors(i).Source & ControlChars.NewLine _ & "Procedure: " & ex.Errors(i).Procedure & ControlChars.NewLine) Next i Console.WriteLine(errorMessages.ToString()) End Try End Using End Sub
public static void ShowSqlException(string connectionString) { string queryString = "EXECUTE NonExistantStoredProcedure"; StringBuilder errorMessages = new StringBuilder(); using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand(queryString, connection); try { command.Connection.Open(); command.ExecuteNonQuery(); } catch (SqlException ex) { for (int i = 0; i < ex.Errors.Count; i++) { errorMessages.Append("Index #" + i + "\n" + "Message: " + ex.Errors[i].Message + "\n" + "LineNumber: " + ex.Errors[i].LineNumber + "\n" + "Source: " + ex.Errors[i].Source + "\n" + "Procedure: " + ex.Errors[i].Procedure + "\n"); } Console.WriteLine(errorMessages.ToString()); } } }
System.Exception
System.SystemException
System.Runtime.InteropServices.ExternalException
System.Data.Common.DbException
System.Data.SqlClient.SqlException
プラットフォーム
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
SqlException プロパティ
パブリック プロパティ
名前 | 説明 | |
---|---|---|
Data | 例外に関する追加のユーザー定義情報を提供するキー/値ペアのコレクションを取得します。 ( Exception から継承されます。) | |
ErrorCode | エラーの HRESULT を取得します。 ( ExternalException から継承されます。) | |
HelpLink | 例外に関連付けられているヘルプ ファイルへのリンクを取得または設定します。 ( Exception から継承されます。) | |
InnerException | 現在の例外を発生させた Exception インスタンスを取得します。 ( Exception から継承されます。) | |
Message | 現在の例外を説明するメッセージを取得します。 ( Exception から継承されます。) | |
Source | オーバーライドされます。 エラーを生成したプロバイダの名前を取得します。 | |
StackTrace | 現在の例外がスローされたときにコール スタックにあったフレームの文字列形式を取得します。 ( Exception から継承されます。) | |
TargetSite | 現在の例外をスローするメソッドを取得します。 ( Exception から継承されます。) |
参照
SqlException メソッド
パブリック メソッド
名前 | 説明 | |
---|---|---|
Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) | |
GetBaseException | 派生クラスでオーバーライドされた場合、それ以後に発生する 1 つ以上の例外の主要な原因である Exception を返します。 ( Exception から継承されます。) | |
GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) | |
GetObjectData | オーバーライドされます。 例外に関する情報を使用して、SerializationInfo を設定します。 | |
GetType | 現在のインスタンスのランタイム型を取得します。 ( Exception から継承されます。) | |
ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) | |
ToString | 現在の例外の文字列形式を作成して返します。 ( Exception から継承されます。) |
名前 | 説明 | |
---|---|---|
Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) | |
MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
SqlException メンバ
SQL Server が警告またはエラーを返したときにスローされる例外。このクラスは継承できません。
SqlException データ型で公開されるメンバを以下の表に示します。
パブリック プロパティ
名前 | 説明 | |
---|---|---|
Data | 例外に関する追加のユーザー定義情報を提供するキー/値ペアのコレクションを取得します。(Exception から継承されます。) | |
ErrorCode | エラーの HRESULT を取得します。(ExternalException から継承されます。) | |
HelpLink | 例外に関連付けられているヘルプ ファイルへのリンクを取得または設定します。(Exception から継承されます。) | |
InnerException | 現在の例外を発生させた Exception インスタンスを取得します。(Exception から継承されます。) | |
Message | 現在の例外を説明するメッセージを取得します。(Exception から継承されます。) | |
Source | オーバーライドされます。 エラーを生成したプロバイダの名前を取得します。 | |
StackTrace | 現在の例外がスローされたときにコール スタックにあったフレームの文字列形式を取得します。(Exception から継承されます。) | |
TargetSite | 現在の例外をスローするメソッドを取得します。(Exception から継承されます。) |
パブリック メソッド
名前 | 説明 | |
---|---|---|
Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) | |
GetBaseException | 派生クラスでオーバーライドされた場合、それ以後に発生する 1 つ以上の例外の主要な原因である Exception を返します。 (Exception から継承されます。) | |
GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) | |
GetObjectData | オーバーライドされます。 例外に関する情報を使用して、SerializationInfo を設定します。 | |
GetType | 現在のインスタンスのランタイム型を取得します。 (Exception から継承されます。) | |
ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) | |
ToString | 現在の例外の文字列形式を作成して返します。 (Exception から継承されます。) |
名前 | 説明 | |
---|---|---|
Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) | |
MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
Weblioに収録されているすべての辞書からSqlExceptionを検索する場合は、下記のリンクをクリックしてください。
全ての辞書からSqlExceptionを検索
- SqlExceptionのページへのリンク