SqlError Classe

Definição

Recolhe informações relevantes para um aviso ou erro devolvido pelo SQL Server.

public ref class SqlError sealed
[System.Serializable]
public sealed class SqlError
[<System.Serializable>]
type SqlError = class
Public NotInheritable Class SqlError
Herança
SqlError
Atributos

Exemplos

O exemplo seguinte apresenta cada um SqlError dentro da SqlErrorCollection coleção.

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

Observações

Esta classe é criada pelo .NET Framework Data Provider para SQL Server quando ocorre um erro. Uma instância de SqlError é criada e gerida pela SqlErrorCollection, que por sua vez é criada pela SqlException classe.

Mensagens com um nível de gravidade de 10 ou menos são informativas e indicam problemas causados por erros na informação inserida por um utilizador. Os níveis de gravidade de 11 a 16 são gerados pelo utilizador e podem ser corrigidos pelo utilizador. Níveis de gravidade de 17 a 25 indicam erros de software ou hardware. Quando ocorre um erro de nível 17, 18 ou 19, pode continuar a trabalhar, embora possa não conseguir executar uma determinada instrução.

Permanece SqlConnection aberto quando o nível de gravidade é de 19 ou menos. Quando o nível de gravidade é 20 ou superior, o servidor normalmente fecha o SqlConnection. No entanto, o utilizador pode reabrir a ligação e continuar. Em ambos os casos, a SqlException é gerado pelo método que executa o comando.

Para mais informações sobre erros gerados por SQL Server, consulte Database Engine Erros. Para mais informações sobre os níveis de gravidade, consulte Database Engine Erros de Gravidade.

Propriedades

Name Description
Class

Recebe o nível de gravidade do erro devolvido pelo SQL Server.

LineNumber

Obtém o número da linha dentro do lote de comandos Transact-SQL ou procedimento armazenado que contém o erro.

Message

Recebe o texto que descreve o erro.

Number

Obtém um número que identifica o tipo de erro.

Procedure

Obtém o nome do procedimento armazenado ou chamada de procedimento remoto (RPC) que gerou o erro.

Server

Obtém o nome da instância do SQL Server que gerou o erro.

Source

Obtém o nome do fornecedor que gerou o erro.

State

Obtém o código de estado único do erro.

Métodos

Name Description
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Recebe o texto completo da mensagem de erro.

Aplica-se a

Ver também