SqlException.Class Egenskap

Definition

Hämtar allvarlighetsgraden för felet som returneras från .NET Framework-Data Provider för SQL Server.

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

Egenskapsvärde

Ett värde från 1 till 25 som anger allvarlighetsgraden för felet.

Exempel

I följande exempel visas var och en SqlError i SqlErrorCollection samlingen.

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

Kommentarer

Meddelanden som har en allvarlighetsgrad på 10 eller mindre är informationsbaserade och indikerar problem som orsakas av misstag i information som en användare har angett. Allvarlighetsgraderna från 11 till 16 genereras av användaren och kan korrigeras av användaren. Allvarlighetsgraderna från 17 till 25 indikerar programvaru- eller maskinvarufel. När ett fel på nivå 17, 18 eller 19 inträffar kan du fortsätta att arbeta, även om du kanske inte kan köra en viss instruktion.

Förblir SqlConnection öppen när allvarlighetsgraden är 19 eller mindre. När allvarlighetsgraden är 20 eller högre stänger SqlConnectionservern vanligtvis . Användaren kan dock öppna anslutningen igen och fortsätta. I båda fallen genereras en SqlException av metoden som kör kommandot.

Information om varnings- och informationsmeddelanden som skickas av SQL Server finns i avsnittet Felsökning i SQL Server dokumentationen.

Det här är en omslutning för egenskapen Class för den första SqlError i Errors egenskapen.

Gäller för

Se även