Partager via


SqlException.Class Propriété

Définition

Obtient le niveau de gravité de l'erreur retournée par le fournisseur de données .NET Framework pour SQL Server.

public:
 property System::Byte Class { System::Byte get(); };
public byte Class { get; }
member this.Class : byte
Public ReadOnly Property Class As Byte

Valeur de propriété

Valeur s'échelonnant de 1 à 25 indiquant le niveau de gravité de l'erreur.

Exemples

L’exemple suivant affiche chacun SqlError d’eux dans la SqlErrorCollection collection.

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";
    }
}

Remarques

Les messages dont le niveau de gravité est inférieur ou égal à 10 sont informatifs et indiquent des problèmes causés par des erreurs dans les informations qu’un utilisateur a entrées. Les niveaux de gravité de 11 à 16 sont générés par l’utilisateur et peuvent être corrigés par l’utilisateur. Les niveaux de gravité compris entre 17 et 25 indiquent des erreurs logicielles ou matérielles. Lorsqu’une erreur de niveau 17, 18 ou 19 se produit, vous pouvez continuer à travailler, bien que vous ne puissiez peut-être pas exécuter une instruction particulière.

SqlConnection reste ouvert lorsque le niveau de gravité est inférieur ou égal à 19. Lorsque le niveau de gravité est égal ou supérieur à 20, le serveur ferme généralement le SqlConnection. L'utilisateur peut toutefois rouvrir la connexion et continuer. Dans les deux cas, SqlException est généré par la méthode qui exécute la commande.

Pour plus d’informations sur les messages d’avertissement et d’information envoyés par SQL Server, consultez la section Résolution des problèmes de la documentation SQL Server.

Il s’agit d’un wrapper pour la Class propriété du premier SqlError dans la Errors propriété .

Si Errors a nullla valeur , la default valeur de byte est retournée.

S’applique à

Voir aussi