SqlException.Class SqlException.Class SqlException.Class SqlException.Class Property

Definition

Ruft den Schweregrad des vom .NET Framework-Datenprovider für SQL Server zurückgegebenen Fehlers ab.Gets the severity level of the error returned from the .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

Eigenschaftswert

Ein Wert zwischen 1 und 25, der den Schweregrad des Fehlers angibt.A value from 1 to 25 that indicates the severity level of the error.

Beispiele

Im folgenden Beispiel werden alle SqlError in der SqlErrorCollection -Auflistung angezeigt.The following example displays each SqlError within the SqlErrorCollection collection.

using System;
using System.Data;
using System.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";
    }
}
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 _
                    & "Error Number: " & ex.Errors(i).Number & 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

Hinweise

Nachrichten, die einen Schweregrad von 10 oder weniger aufweisen, sind Informations Informationen und weisen auf Probleme hin, die durch Fehler in den von einem Benutzer eingegebenen Informationen verursacht wurden.Messages that have a severity level of 10 or less are informational and indicate problems caused by mistakes in information that a user has entered. Die Schweregrade von 11 bis 16 werden vom Benutzer generiert und können vom Benutzer korrigiert werden.Severity levels from 11 through 16 are generated by the user, and can be corrected by the user. Schweregrade von 17 bis 25 zeigen Software- oder Hardwarefehler an.Severity levels from 17 through 25 indicate software or hardware errors. Wenn ein Fehler der Stufe 17, 18 oder 19 auftritt, können Sie die Arbeit fortsetzen, obwohl Sie möglicherweise nicht in der Lage sind, eine bestimmte Anweisung auszuführen.When a level 17, 18, or 19 error occurs, you can continue working, although you might not be able to execute a particular statement.

Die SqlConnection bleibt hergestellt, wenn der Schweregrad 19 oder darunter beträgt.The SqlConnection remains open when the severity level is 19 or less. Wenn der Schweregrad 20 oder größer ist, schließt der Server normalerweise SqlConnectionden.When the severity level is 20 or greater, the server ordinarily closes the SqlConnection. Die Benutzer können die Verbindung aber erneut öffnen und fortfahren.However, the user can reopen the connection and continue. In beiden Fällen wird von der Methode, die den Befehl ausführt, eine SqlException generiert.In both cases, a SqlException is generated by the method executing the command.

Informationen zu den von SQL Server gesendeten Warnungen und Informationsmeldungen finden Sie im Abschnitt zur Problembehandlung in der SQL Server-Dokumentation.For information about the warning and informational messages sent by SQL Server, see the Troubleshooting section of the SQL Server documentation.

Dies ist ein Wrapper für die Class -Eigenschaft der ersten SqlError in der Errors -Eigenschaft.This is a wrapper for the Class property of the first SqlError in the Errors property.

Gilt für:

Siehe auch