Share via


Exécution d'une commande

Après avoir établi une connexion à une source de données, vous pouvez exécuter des commandes et retourner les résultats de la source à l'aide d'un objet Command. Vous pouvez créer une commande à l'aide du constructeur Command, qui prend les arguments optionnels d'une instruction SQL à exécuter au niveau de la source de données, d'un objet Connection et d'un objet Transaction. Vous pouvez aussi créer une commande pour un Connection particulier à l'aide de la méthode CreateCommand de l'objet Connection. L'instruction SQL de l'objet Command peut être interrogée et modifiée avec la propriété CommandText.

L'objet Command expose plusieurs méthodes Execute que vous pouvez utiliser pour effectuer l'action prévue. Lors du retour des résultats comme flux de données, utilisez ExecuteReader pour retourner un objet DataReader. Utilisez ExecuteScalar pour retourner une valeur singleton. Utilisez ExecuteNonQuery pour exécuter les commandes qui ne retournent pas de lignes.

Lors de l'utilisation de l'objet Command avec une procédure stockée, vous pouvez affecter StoredProcedure à la propriété CommandType de l'objet Command. Avec un CommandType de StoredProcedure, vous pouvez utiliser la propriété Parameters de Command pour accéder aux paramètres d'entrée et de sortie et aux valeurs de retour. La propriété Parameters est accessible indépendamment de la méthode Execute appelée. Cependant, lors de l'appel à ExecuteReader, les valeurs de retour et les paramètres de sortie ne seront pas accessibles jusqu'à la fermeture de DataReader.

L'exemple de code suivant illustre la mise en forme d'un objet Command pour qu'il retourne une liste de Categories à partir de la base de données Northwind.

SqlClient

Dim catCMD As SqlCommand = New SqlCommand("SELECT CategoryID, CategoryName FROM Categories", nwindConn)
[C#]
SqlCommand catCMD = new SqlCommand("SELECT CategoryID, CategoryName FROM Categories", nwindConn);

OleDb

Dim catCMD As OleDbCommand = New OleDbCommand("SELECT CategoryID, CategoryName FROM Categories", nwindConn)
[C#]
OleDbCommand catCMD = new OleDbCommand("SELECT CategoryID, CategoryName FROM Categories", nwindConn);

Compteurs de performance pour les commandes

Le fournisseur de données .NET Framework pour SQL Server ajoute un compteur de performance pour vous permettre de détecter des problèmes intermittents liés aux exécutions de commande ayant échoué. Vous pouvez accéder au compteur « SqlClient: Total # failed commands » dans l'Analyseur de performances sous l'objet de performance .NET CLR Data pour déterminer le nombre total d'exécutions de commande ayant échoué pour une raison quelconque.

Remarque   Lorsque vous utilisez les compteurs de performance du fournisseur de données .NET Framework pour SQL Server avec des applications ASP.NET, seule l'instance _Global est disponible. Par conséquent, la valeur retournée par le compteur de performance est la somme des valeurs de compteur de toutes les applications ASP.NET.

Voir aussi

Utilisation des fournisseurs de données .NET Framework pour l'accès aux données | Utilisation des procédures stockées avec une commande | Extraction des données à l'aide de DataReader | Obtention d'une valeur unique à partir d'une base de données | Exécution d'opérations de base de données et modification de données | OleDbCommand, classe | OleDbDataReader, classe | SqlCommand, classe | SqlDataReader, classe