SqlExceptionとは? わかりやすく解説

SqlException クラス

SQL Server警告またはエラー返したときにスローされる例外。このクラス継承できません。

名前空間: System.Data.SqlClient
アセンブリ: System.Data (system.data.dll 内)
構文構文

<SerializableAttribute> _
Public NotInheritable Class
 SqlException
    Inherits DbException
[SerializableAttribute] 
public sealed class SqlException : DbException
[SerializableAttribute] 
public ref class SqlException sealed : public
 DbException
/** @attribute SerializableAttribute() */ 
public final class SqlException extends DbException
SerializableAttribute 
public final class SqlException extends
 DbException
解説解説

このクラスは、サーバー生成したエラー.NET Framework SQL Serverデータ プロバイダ検出するたびに作成されます。クライアント側エラーは、標準共通言語ランタイム例外としてスローさます。SqlException には、常に、SqlError のインスタンス少なくとも 1 つ含まれています。

重大度レベル10 以下のメッセージは、情報メッセージです。これらは、ユーザー入力した情報誤り原因問題示します重大度レベル1116メッセージは、ユーザー生成し修正できます重要度レベル1725メッセージは、ソフトウェアまたはハードウェアエラー示しますレベル 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.Object
   System.Exception
     System.SystemException
       System.Runtime.InteropServices.ExternalException
         System.Data.Common.DbException
          System.Data.SqlClient.SqlException
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SqlException メンバ
System.Data.SqlClient 名前空間
SqlError クラス
SqlErrorCollection クラス

SqlException プロパティ


パブリック プロパティパブリック プロパティ

プロテクト プロパティプロテクト プロパティ
  名前 説明
プロテクト プロパティ HResult  特定の例外割り当てられているコード化数値である HRESULT を取得または設定します。 ( Exception から継承されます。)
参照参照

関連項目

SqlException クラス
System.Data.SqlClient 名前空間
SqlError クラス
SqlErrorCollection クラス

SqlException メソッド


パブリック メソッドパブリック メソッド

プロテクト メソッドプロテクト メソッド
参照参照

関連項目

SqlException クラス
System.Data.SqlClient 名前空間
SqlError クラス
SqlErrorCollection クラス

SqlException メンバ

SQL Server警告またはエラー返したときにスローされる例外。このクラス継承できません。

SqlException データ型公開されるメンバを以下の表に示します


パブリック プロパティパブリック プロパティ
プロテクト プロパティプロテクト プロパティ
  名前 説明
プロテクト プロパティ HResult  特定の例外割り当てられているコード化数値である HRESULT を取得または設定します。(Exception から継承されます。)
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

SqlException クラス
System.Data.SqlClient 名前空間
SqlError クラス
SqlErrorCollection クラス


このページでは「.NET Framework クラス ライブラリ リファレンス」からSqlExceptionを検索した結果を表示しています。
Weblioに収録されているすべての辞書からSqlExceptionを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からSqlExceptionを検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「SqlException」の関連用語

SqlExceptionのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SqlExceptionのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS