SqlError Klas

Definitie

Verzamelt informatie die relevant is voor een waarschuwing of fout die door SQL Server wordt geretourneerd.

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

Voorbeelden

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

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

Opmerkingen

Deze klasse wordt gemaakt door de .NET Framework-Data Provider voor SQL Server wanneer er een fout optreedt. Er wordt een exemplaar van SqlError gemaakt en beheerd door de SqlErrorCollection, die op zijn beurt door de SqlException klasse wordt gemaakt.

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 meestal 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 Database Engine Errors voor meer informatie over fouten die zijn gegenereerd door SQL Server. Zie Database Engine Ernst van fout voor meer informatie over ernstniveaus.

Eigenschappen

Name Description
Class

Hiermee wordt het ernstniveau van de fout opgehaald uit SQL Server.

LineNumber

Hiermee haalt u het regelnummer op in de Transact-SQL opdrachtbatch of opgeslagen procedure die de fout bevat.

Message

Hiermee haalt u de tekst op waarin de fout wordt beschreven.

Number

Hiermee haalt u een getal op dat het type fout aangeeft.

Procedure

Hiermee haalt u de naam op van de opgeslagen procedure of externe procedure-aanroep (RPC) die de fout heeft gegenereerd.

Server

Hiermee haalt u de naam op van het exemplaar van SQL Server dat de fout heeft gegenereerd.

Source

Hiermee haalt u de naam op van de provider die de fout heeft gegenereerd.

State

Hiermee haalt u de unieke statuscode voor de fout op.

Methoden

Name Description
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Hiermee haalt u de volledige tekst van het foutbericht op.

Van toepassing op

Zie ook