次の方法で共有


SqlError.Class プロパティ

定義

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

public:
 property System::Byte Class { System::Byte get(); };
public byte Class { get; }
member this.Class : byte
Public ReadOnly Property Class As Byte

プロパティ値

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

次の例では、コレクション内の各 をSqlErrorSqlErrorCollection表示します。

using Microsoft.Data.SqlClient;
using System.Collections.Generic;
using System.Text;

namespace Classic_WebData_SqlError.StateCS
{
    class Program
    {
        static void Main()
        {
            //DisplaySqlErrors();
        }

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

注釈

重大度レベルが 10 以下のメッセージは情報メッセージで、ユーザーの入力ミスによってエラーが発生した場合に表示されます。 11 から 16 までの重大度レベルはユーザーによって生成され、ユーザーが修正できます。 重大度レベルが 17 ~ 25 のエラーは、ソフトウェアまたはハードウェアのエラーです。 レベル 17、18、または 19 のエラーが発生した場合は、特定のステートメントを実行できない可能性がありますが、作業を続行できます。

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

SQL Serverによって生成されるエラーの詳細については、「データベース エンジンのイベントとエラー」を参照してください。

適用対象