次の方法で共有


SqlError.Number プロパティ

定義

エラーの種類を示す番号を取得します。

public:
 property int Number { int get(); };
public int Number { get; }
member this.Number : int
Public ReadOnly Property Number As Integer

プロパティ値

エラーの種類を示す番号。

次の例では、 コレクション内の各 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();
        }
    }
}

注釈

次の表では、このプロパティに使用できる値について説明します。

エラーの原因 SqlError.Number SqlError.State SqlException には内部 Win32Exception があります (with.NET Framework 4.5 以降)
サーバーからのエラー サーバー エラー コード

この数値は、テーブル内のエントリに master.dbo.sysmessages 対応します。
通常、0 より大きい いいえ
[接続タイムアウト] -2 0 はい (数値 = 258)
通信エラー (LocalDB 以外) Win32 エラー コード 0 はい (数値 = Win32 エラー コード)
通信エラー (LocalDB) Win32 エラー コード 0 いいえ
暗号化機能の不一致 20 0 いいえ
LocalDB を起動できませんでした Win32 エラー コード 0 いいえ
読み取り専用ルーティングエラー 0 0 いいえ
サーバーに重大なエラー処理クエリがありました 0 0 いいえ
結果の解析中に処理された取り消し 0 0 いいえ
ユーザー インスタンスを作成できませんでした 0 0 いいえ

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

適用対象