Biblioteca de clases de .NET Framework
SqlException (Clase)

La excepción que se produce cuando SQL Server devuelve una advertencia o un error. Esta clase no se puede heredar.

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

Sintaxis

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

Esta clase se crea siempre que el proveedor de datos de .NET Framework para SQL Server encuentra un error generado en el servidor. Los errores en el cliente se producen como excepciones estándar de Common Language Runtime. SqlException siempre contiene al menos una instancia de SqlError.

Los mensajes con un nivel de gravedad igual o menor que 10 son mensajes informativos e indican los problemas ocasionados 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 gravedad es igual o mayor que 20, normalmente, el servidor cierra la conexión 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.

Para obtener información sobre los mensajes informativos y de advertencia enviados por SQL Server, vea la sección Solución de problemas de los Libros en pantalla de SQL Server. La clase SqlException se asigna a la gravedad de SQL Server.

Ejemplo

En el ejemplo siguiente se genera una excepción SqlException y, a continuación, se muestra.

Visual Basic
Public Sub ShowSqlException(ByVal connectionString As String)
    Dim queryString As String = "EXECUTE NonExistantStoredProcedure"
    Dim errorMessages As New StringBuilder()

    Using connection As New SqlConnection(connectionString)
        Dim command As New SqlCommand(queryString, connection)

        Try
            command.Connection.Open()
            command.ExecuteNonQuery()

        Catch ex As SqlException
            Dim i As Integer
            For i = 0 To ex.Errors.Count - 1
                errorMessages.Append("Index #" & i.ToString() & ControlChars.NewLine _
                    & "Message: " & ex.Errors(i).Message & ControlChars.NewLine _
                    & "LineNumber: " & ex.Errors(i).LineNumber & ControlChars.NewLine _
                    & "Source: " & ex.Errors(i).Source & ControlChars.NewLine _
                    & "Procedure: " & ex.Errors(i).Procedure & ControlChars.NewLine)
            Next i
            Console.WriteLine(errorMessages.ToString())
        End Try
    End Using
End Sub
C#
public static void ShowSqlException(string connectionString)
{
    string queryString = "EXECUTE NonExistantStoredProcedure";
    StringBuilder errorMessages = new StringBuilder();
    
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        SqlCommand command = new SqlCommand(queryString, connection);
        try
        {
            command.Connection.Open();
            command.ExecuteNonQuery();
        }
        catch (SqlException ex)
        {
            for (int i = 0; i < ex.Errors.Count; i++)
            {
                errorMessages.Append("Index #" + i + "\n" +
                    "Message: " + ex.Errors[i].Message + "\n" +
                    "LineNumber: " + ex.Errors[i].LineNumber + "\n" +
                    "Source: " + ex.Errors[i].Source + "\n" +
                    "Procedure: " + ex.Errors[i].Procedure + "\n");
            }
            Console.WriteLine(errorMessages.ToString());
        }
    }
}
Jerarquía de herencia

System.Object
   System.Exception
     System.SystemException
       System.Runtime.InteropServices.ExternalException
         System.Data.Common.DbException
          System.Data.SqlClient.SqlException
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 :


Community Content

Hufer
Consulta
Hola mi nombre es Hugo Fernando

estoy empesando a trabajar con vb8 ya realize una pruebas con coneccion a Mysql 5.1 y me a funcionado pero la verdad con sqlserver 2005 no se como configurarle un usuario para trabajar en red y poderlo trabajar desde vb8

gracias por su ayuda
Etiquetas : aprender

Page view tracker