SqlCommand, classe
Assembly : System.Data (dans system.data.dll)
Lorsqu'une instance de SqlCommand est créée, les propriétés de lecture/écriture prennent leurs valeurs initiales. Pour obtenir la liste de ces valeurs, consultez le constructeur SqlCommand.
SqlCommand met en œuvre les méthodes suivantes pour l'exécution de commandes au niveau d'une base de données SQL Server :
| Élément | Description |
|---|---|
| Lance l'exécution asynchrone de l'instruction Transact-SQL ou de la procédure stockée qui est décrite par cet SqlCommand, en exécutant généralement des commandes, telles que des instructions INSERT, DELETE, UPDATE et SET. Chaque appel à BeginExecuteNonQuery doit être associé à un appel à EndExecuteNonQuery, ce qui termine l'opération, normalement sur un thread séparé. | |
| Lance l'exécution asynchrone de l'instruction Transact-SQL ou de la procédure stockée qui est décrite par cet SqlCommand et récupère un ou plusieurs jeux de résultats du serveur. Chaque appel à BeginExecuteReader doit être associé à un appel à EndExecuteReader, ce qui termine l'opération, normalement sur un thread séparé. | |
| Lance l'exécution asynchrone de l'instruction Transact-SQL ou de la procédure stockée qui est décrite par cet SqlCommand. Chaque appel à BeginExecuteXmlReader doit être associé à un appel à EndExecuteXmlReader, ce qui termine l'opération, normalement sur un thread séparé, puis retourne un objet XmlReader. | |
| Exécute des commandes qui retournent des lignes. Afin d'améliorer les performances, ExecuteReader appelle des commandes à l'aide de la procédure stockée système Transact-SQL sp_executesql. Par conséquent, il se peut que ExecuteReader n'ait pas l'effet souhaité s'il est utilisé pour exécuter des commandes, telles que des instructions Transact-SQL SET. | |
| Exécute des commandes, telles que des instructions Transact-SQL INSERT, DELETE, UPDATE et SET. | |
| Récupère une valeur unique (par exemple, une valeur d'agrégation) d'une base de données. | |
| Envoie CommandText à Connection et génère un objet XmlReader. |
Vous pouvez réinitialiser la propriété CommandText et réutiliser l'objet SqlCommand. Cependant, vous devez fermer le SqlDataReader avant d'exécuter une commande nouvelle ou précédente.
En cas de génération de SqlException par la méthode exécutant SqlCommand, SqlConnection reste ouvert lorsque le niveau de gravité est inférieur ou égal à 19. Lorsque le niveau de gravité est supérieur ou égal à 20, le serveur ferme normalement SqlConnection. L'utilisateur peut toutefois rouvrir la connexion et continuer.
L'exemple suivant crée un SqlConnection, un SqlCommand et SqlDataReader. L'exemple lit les données, en les affichant dans la console. Pour terminer, l'exemple ferme SqlDataReader, puis SqlConnection.
private static void ReadOrderData(string connectionString) { string queryString = "SELECT OrderID, CustomerID FROM dbo.Orders;"; using (SqlConnection connection = new SqlConnection( connectionString)) { SqlCommand command = new SqlCommand( queryString, connection); connection.Open(); SqlDataReader reader = command.ExecuteReader(); try { while (reader.Read()) { Console.WriteLine(String.Format("{0}, {1}", reader[0], reader[1])); } } finally { // Always call Close when done reading. reader.Close(); } } }
System.MarshalByRefObject
System.ComponentModel.Component
System.Data.Common.DbCommand
System.Data.SqlClient.SqlCommand
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition
Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.