Biblioteca de clases de .NET Framework
SqlError (Clase)

Recopila información relevante para una advertencia o un error devuelto por SQL Server.

Espacio de nombres: System.Data.SqlClient
Ensamblado: System.Data (en system.data.dll)

Sintaxis

Visual Basic (Declaración)
<SerializableAttribute> _
Public NotInheritable Class SqlError
Visual Basic (Uso)
Dim instance As SqlError
C#
[SerializableAttribute] 
public sealed class SqlError
C++
[SerializableAttribute] 
public ref class SqlError sealed
J#
/** @attribute SerializableAttribute() */ 
public final class SqlError
JScript
SerializableAttribute 
public final class SqlError
Comentarios

Esta clase se crea mediante el proveedor de datos de .NET Framework para SQL Server cuando se produce un error. Se crea una instancia de SqlError y se administra mediante SqlErrorCollection, que a su vez se crea mediante la clase SqlException.

Los mensajes con un nivel de gravedad igual o menor que 10 son mensajes informativos e indican los problemas producidos cuando un usuario no escribe la información correctamente. Los niveles de gravedad del 11 al 16 son errores generados por el usuario y que él mismo puede corregir. Los niveles de gravedad del 17 al 25 indican errores de software o hardware. Cuando se produce un error de niveles 17, 18 o 19, se puede continuar trabajando, aunque es posible que no se pueda ejecutar una determinada instrucción.

SqlConnection permanece abierto cuando el nivel de gravedad es igual o menor que 19. Si el nivel de severidad es igual o mayor que 20, normalmente, el servidor cierra la SqlConnection. Sin embargo, el usuario puede volver a abrir la conexión y continuar. En ambos casos, el método que ejecuta el comando genera una SqlException.

Ejemplo

En el siguiente ejemplo se muestra cada SqlError dentro de la colección SqlErrorCollection.

Visual Basic
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
C#
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();
}
Jerarquía de herencia

System.Object
  System.Data.SqlClient.SqlError
Seguridad para subprocesos

Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Plataformas

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

Información de versión

.NET Framework

Compatible con: 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 2.0, 1.0
Vea también

Etiquetas :


Page view tracker