SqlError Klass

Definition

Samlar in information som är relevant för en varning eller ett fel som returneras av SQL Server.

public ref class SqlError sealed
public sealed class SqlError
[System.Serializable]
public sealed class SqlError
type SqlError = class
[<System.Serializable>]
type SqlError = class
Public NotInheritable Class SqlError
Arv
SqlError
Attribut

Exempel

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

public static void ShowSqlException(string connectionString)
{
    string queryString = "EXECUTE NonExistantStoredProcedure";

    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        SqlCommand command = new SqlCommand(queryString, connection);
        try
        {
            command.Connection.Open();
            command.ExecuteNonQuery();
        }
        catch (SqlException ex)
        {
            DisplaySqlErrors(ex);
        }
    }
}

private static void DisplaySqlErrors(SqlException exception)
{
    for (int i = 0; i < exception.Errors.Count; i++)
    {
        Console.WriteLine("Index #" + i + "\n" +
            "Error: " + exception.Errors[i].ToString() + "\n");
    }
    Console.ReadLine();
}
Public Sub ShowSqlException(ByVal connectionString As String)
    Dim queryString As String = "EXECUTE NonExistantStoredProcedure"

    Using connection As New SqlConnection(connectionString)
        Dim command As New SqlCommand(queryString, connection)

        Try
            command.Connection.Open()
            command.ExecuteNonQuery()

        Catch ex As SqlException
            DisplaySqlErrors(ex)
        End Try
    End Using
End Sub

Private Sub DisplaySqlErrors(ByVal exception As SqlException)
    Dim i As Integer

    For i = 0 To exception.Errors.Count - 1
        Console.WriteLine("Index #" & i & ControlChars.NewLine & _
            "Error: " & exception.Errors(i).ToString() & ControlChars.NewLine)
    Next i
    Console.ReadLine()
End Sub

Kommentarer

Den här klassen skapas av .NET Framework-Data Provider för SQL Server när ett fel inträffar. En instans av SqlError skapas och hanteras av SqlErrorCollection, som i sin tur skapas av SqlException klassen.

Meddelanden med 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.

Mer information om fel som genereras av SQL Server finns i Database Engine Errors. Mer information om allvarlighetsgraderna finns i Database Engine Fel allvarlighetsgrad.

Egenskaper

Name Description
Class

Hämtar allvarlighetsgraden för felet som returneras från SQL Server.

LineNumber

Hämtar radnumret i Transact-SQL kommandobatch eller lagrad procedur som innehåller felet.

Message

Hämtar texten som beskriver felet.

Number

Hämtar ett tal som identifierar typen av fel.

Procedure

Hämtar namnet på den lagrade proceduren eller fjärrproceduranropet (RPC) som genererade felet.

Server

Hämtar namnet på instansen av SQL Server som genererade felet.

Source

Hämtar namnet på providern som genererade felet.

State

Hämtar den unika tillståndskoden för felet.

Metoder

Name Description
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Hämtar den fullständiga texten i felmeddelandet.

Gäller för

Se även