Sdílet prostřednictvím


SqlError Třída

Definice

Shromažďuje informace související s upozorněním nebo chybou 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ý z nich 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 zprostředkovatelem dat rozhraní .NET Framework pro SQL Server při výskytu chyby. Instance SqlError je vytvořená a spravovaná objektem SqlErrorCollection, který je následně vytvořen SqlException třídou .

Zprávy s úrovní závažnosti 10 nebo nižší jsou informativní a označují problémy způsobené chybami v informacích, které uživatel zadal. Úrovně závažnosti od 11 do 16 generuje uživatel a může je opravit. Úrovně závažnosti od 17 do 25 značí chyby softwaru nebo hardwaru. Když dojde k chybě úrovně 17, 18 nebo 19, můžete pokračovat v práci, i když nemusí být možné provést konkrétní příkaz.

Hodnota zůstane otevřená SqlConnection , pokud je úroveň závažnosti 19 nebo nižší. 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 se vygeneruje SqlException metodou, která spouští příkaz .

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

Vlastnosti

Class

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

LineNumber

Získá číslo řádku v rámci Transact-SQL příkaz dávky 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 volání vzdálené procedury (RPC), která vygenerovala chybu.

Server

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

Source

Získá název zprostředkovatele, který vygeneroval chybu.

State

Získá jedinečný kód stavu pro chybu.

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

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

Slouží jako výchozí hashovací funkce.

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

Type Získá z aktuální instance.

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

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

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

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

Platí pro

Viz také