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

Definition

Ruft den Schweregrad des von der .NET Framework-Datenanbieter 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

Das folgende Beispiel zeigt die einzelnen SqlError innerhalb der SqlErrorCollection Auflistung.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 mit dem Schweregrad von 10 oder weniger dienen zu Informationszwecken und weisen auf Probleme verursacht, die durch fehlerhafte Informationen, die ein Benutzer eingegeben hat.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. 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 Schweregrad 17, die 18 oder 19 Fehler auftritt, wird Sie weiterarbeiten können, obwohl Sie möglicherweise nicht auf eine bestimmte Anweisung ausgeführt werden können.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 höher ist, schließt der Server normalerweise die SqlConnection.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 Warnungen und sonstige Meldungen, die von SQL Server gesendet werden finden Sie im Abschnitt zur Problembehandlung 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 des ersten SqlError in die Errors Eigenschaft.This is a wrapper for the Class property of the first SqlError in the Errors property.

Gilt für:

Siehe auch