SqlException.Class Eigenschap

Definitie

Hiermee wordt het ernstniveau van de fout opgehaald uit de .NET Framework-Data Provider voor SQL Server.

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

Waarde van eigenschap

Een waarde van 1 tot 25 die het ernstniveau van de fout aangeeft.

Voorbeelden

In het volgende voorbeeld wordt elk SqlError in de SqlErrorCollection verzameling weergegeven.

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

Opmerkingen

Berichten met een ernstniveau van 10 of minder zijn informatief en geven problemen aan die worden veroorzaakt door fouten in informatie die een gebruiker heeft ingevoerd. Ernstniveaus van 11 tot en met 16 worden gegenereerd door de gebruiker en kunnen worden gecorrigeerd door de gebruiker. Ernstniveaus van 17 tot en met 25 geven software- of hardwarefouten aan. Wanneer een fout op niveau 17, 18 of 19 optreedt, kunt u doorgaan met werken, hoewel u mogelijk geen bepaalde instructie kunt uitvoeren.

Het SqlConnection blijft open wanneer het ernstniveau 19 of minder is. Wanneer het ernstniveau 20 of hoger is, wordt de server gewoonlijk gesloten SqlConnection. De gebruiker kan de verbinding echter opnieuw openen en doorgaan. In beide gevallen wordt een SqlException gegenereerd door de methode die de opdracht uitvoert.

Zie de sectie Probleemoplossing van de SQL Server-documentatie voor informatie over de waarschuwings- en informatieve berichten die door SQL Server zijn verzonden.

Dit is een wrapper voor de eigenschap van de Class eerste SqlError in de Errors eigenschap.

Van toepassing op

Zie ook