SqlException.Class Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene el nivel de gravedad del error que devuelve el proveedor de datos de .NET Framework para SQL Server.
public:
property System::Byte Class { System::Byte get(); };
public byte Class { get; }
member this.Class : byte
Public ReadOnly Property Class As Byte
Valor de propiedad
Valor del 1 al 25 que indica el nivel de gravedad del error.
Ejemplos
En el ejemplo siguiente se muestra cada uno SqlError de los elementos de la SqlErrorCollection colección.
using Microsoft.Data.SqlClient;
using System.Text;
class Program
{
static void Main()
{
string s = GetConnectionString();
ShowSqlException(s);
Console.ReadLine();
}
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" +
"Error Number: " + ex.Errors[i].Number + "\n" +
"LineNumber: " + ex.Errors[i].LineNumber + "\n" +
"Source: " + ex.Errors[i].Source + "\n" +
"Procedure: " + ex.Errors[i].Procedure + "\n");
}
Console.WriteLine(errorMessages.ToString());
}
}
}
static private string GetConnectionString()
{
// To avoid storing the connection string in your code,
// you can retrieve it from a configuration file.
return "Data Source=(local);Initial Catalog=AdventureWorks;"
+ "Integrated Security=SSPI";
}
}
Comentarios
Los mensajes que tienen un nivel de gravedad de 10 o menos son informativos e indican problemas causados por errores en la información que ha escrito un usuario. El usuario genera los niveles de gravedad de 11 a 16 y el usuario puede corregirlo. Los niveles de gravedad entre 17 y 25 indican errores de software o hardware. Cuando se produce un error de nivel 17, 18 o 19, puede seguir funcionando, aunque es posible que no pueda ejecutar una instrucción determinada.
La conexión SqlConnection permanece abierta cuando el nivel de gravedad es 19 o inferior. Cuando el nivel de gravedad es 20 o superior, el servidor normalmente cierra .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 excepción SqlException.
Para obtener información sobre los mensajes informativos y de advertencia enviados por SQL Server, consulte la sección Solución de problemas de la documentación de SQL Server.
Se trata de un contenedor para la Class propiedad de la primera SqlError de la Errors propiedad .
Si Errors es null
, se devuelve el default
valor de byte
.