SqlError Třída

Definice

Shromažďuje informace relevantní pro upozornění nebo chybu vrácenou 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
Dědičnost
SqlError
Atributy

Příklady

Následující příklad zobrazí každý SqlError v kolekci SqlErrorCollection .

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

Poznámky

Tato třída je vytvořena .NET Framework Zprostředkovatel dat pro SQL Server při výskytu chyby. Instance SqlError je vytvořena a spravována SqlErrorCollection, která je následně vytvořena SqlException třídou.

Zprávy s úrovní závažnosti 10 nebo méně jsou informační a indikují problémy způsobené chybami v informacích, které uživatel zadal. Úrovně závažnosti od 11 do 16 jsou generovány uživatelem a uživatel je může opravit. Úrovně závažnosti od 17 do 25 označují chyby softwaru nebo hardwaru. Pokud dojde k chybě úrovně 17, 18 nebo 19, můžete pokračovat v práci, i když možná nebudete moct provést konkrétní příkaz.

Zůstane SqlConnection otevřená, pokud je úroveň závažnosti 19 nebo méně. Pokud je úroveň závažnosti 20 nebo vyšší, server obvykle zavře SqlConnection. Uživatel ale může znovu otevřít připojení a pokračovat. V obou případech je vygenerována SqlException metodou, která spouští příkaz.

Další informace o chybách generovaných SQL Server najdete v tématu Database Engine Chyby. Další informace o úrovních závažnosti najdete v tématu Database Engine Závažnosti chyb.

Vlastnosti

Name Description
Class

Získá úroveň závažnosti chyby vrácené z SQL Server.

LineNumber

Získá číslo řádku v rámci dávky příkazu Transact-SQL nebo uložená procedura, která obsahuje chybu.

Message

Získá text popisující chybu.

Number

Získá číslo, které identifikuje typ chyby.

Procedure

Získá název uložené procedury nebo vzdálené volání procedur (RPC), který vygeneroval chybu.

Server

Získá název instance SQL Server, která vygenerovala chybu.

Source

Získá název poskytovatele, který vygeneroval chybu.

State

Získá jedinečný stavový kód chyby.

Metody

Name Description
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ToString()

Získá úplný text chybové zprávy.

Platí pro

Viz také