共用方式為


SqlException.Class 屬性

定義

取得從 .NET Framework Data Provider for 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 的值,表示錯誤的嚴重性層級。

範例

下列範例會顯示集合內的每一個 SqlErrorSqlErrorCollection

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

class Program
{
    static void Main()
    {
        string s = GetConnectionString();
        ShowSqlException(s);
        Console.ReadLine();
    }

    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" +
                        "Error Number: " + ex.Errors[i].Number + "\n" +
                        "LineNumber: " + ex.Errors[i].LineNumber + "\n" +
                        "Source: " + ex.Errors[i].Source + "\n" +
                        "Procedure: " + ex.Errors[i].Procedure + "\n");
                }
                Console.WriteLine(errorMessages.ToString());
            }
        }
    }

    static private string GetConnectionString()
    {
        // To avoid storing the connection string in your code, 
        // you can retrieve it from a configuration file.
        return "Data Source=(local);Initial Catalog=AdventureWorks;"
            + "Integrated Security=SSPI";
    }
}

備註

嚴重性層級為 10 或更少的訊息為資訊,並指出使用者輸入之資訊中錯誤所造成的問題。 從 11 到 16 的嚴重性層級是由使用者產生,而且可由使用者更正。 17 到 25 的嚴重性層級表示軟體或硬體錯誤。 當發生層級 17、18 或 19 錯誤時,您可以繼續運作,雖然您可能無法執行特定的語句。

當嚴重性層級為 19 或低於 19 時,SqlConnection 仍保持開啟。 當嚴重性層級為 20 或以上時,伺服器通常會關閉 SqlConnection 。 但是,使用者可以再次開啟連線,然後繼續進行。 在這兩個情況中,SqlException 皆由執行該命令的方法所產生。

如需SQL Server所傳送之警告和參考訊息的相關資訊,請參閱SQL Server檔的疑難排解一節。

這是 屬性中 Errors 第一個 SqlError 屬性的包裝 Class 函式。

如果 為 Errorsnull ,則會 default 傳回 的值 byte

適用於

另請參閱