Freigeben über


SqlException.Class Eigenschaft

Definition

Ruft den Schweregrad des vom .NET Framework-Datenprovider für SQL Server zurückgegebenen Fehlers ab.

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

Eigenschaftswert

Ein Wert zwischen 1 und 25, der den Schweregrad des Fehlers angibt.

Beispiele

Im folgenden Beispiel werden alle SqlError innerhalb der SqlErrorCollection Auflistung angezeigt.

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";
    }
}

Hinweise

Nachrichten mit einem Schweregrad von 10 oder weniger sind informell und weisen auf Probleme hin, die durch Fehler in den Von einem Benutzer eingegebenen Informationen verursacht wurden. Schweregrade von 11 bis 16 werden vom Benutzer generiert und können vom Benutzer korrigiert werden. Schweregrade von 17 bis 25 zeigen Software- oder Hardwarefehler an. Wenn ein Fehler der Ebene 17, 18 oder 19 auftritt, können Sie weiter arbeiten, obwohl Sie möglicherweise keine bestimmte Anweisung ausführen können.

Die SqlConnection bleibt hergestellt, wenn der Schweregrad 19 oder darunter beträgt. Wenn der Schweregrad 20 oder höher ist, schließt der Server normalerweise den SqlConnection. Die Benutzer können die Verbindung aber erneut öffnen und fortfahren. In beiden Fällen wird von der Methode, die den Befehl ausführt, eine SqlException generiert.

Informationen zu den Warnungen und Informationsmeldungen, die von SQL Server gesendet werden, finden Sie im Abschnitt Problembehandlung der SQL Server-Dokumentation.

Dies ist ein Wrapper für die Class Eigenschaft der ersten SqlError in der Errors -Eigenschaft.

Wenn Errors ist null, wird der default Wert für byte zurückgegeben.

Gilt für:

Weitere Informationen