SqlCommand.ExecuteNonQuery Méthode

Définition

Exécute une instruction Transact-SQL sur la connexion et retourne le nombre de lignes affectées.Executes a Transact-SQL statement against the connection and returns the number of rows affected.

public:
 virtual int ExecuteNonQuery();
public int ExecuteNonQuery ();
abstract member ExecuteNonQuery : unit -> int
override this.ExecuteNonQuery : unit -> int
Public Function ExecuteNonQuery () As Integer

Retours

Nombre de lignes affectées.The number of rows affected.

Implémente

Exceptions

Un SqlDbType autre que Binary ou VarBinary a été utilisé quand Value avait la valeur Stream.A SqlDbType other than Binary or VarBinary was used when Value was set to Stream. Pour plus d’informations sur le streaming, consultez Prise en charge du streaming pour SqlClient.For more information about streaming, see SqlClient Streaming Support.

- ou --or-

Un SqlDbType autre que Char, NChar, NVarChar, VarChar ou Xml a été utilisé quand Value avait la valeur TextReader.A SqlDbType other than Char, NChar, NVarChar, VarChar, or Xml was used when Value was set to TextReader.

- ou --or-

Un SqlDbType autre que Xml a été utilisé quand Value avait la valeur XmlReader.A SqlDbType other than Xml was used when Value was set to XmlReader.

Une exception s’est produite pendant l’exécution de la commande sur une ligne verrouillée.An exception occurred while executing the command against a locked row. Cette exception n’est pas générée quand vous utilisez Microsoft .NET Framework version 1.0.This exception is not generated when you are using Microsoft .NET Framework version 1.0.

- ou --or-

Un délai d’attente a été dépassé pendant une opération de diffusion en continu.A timeout occurred during a streaming operation. Pour plus d’informations sur le streaming, consultez Prise en charge du streaming pour SqlClient.For more information about streaming, see SqlClient Streaming Support.

Une erreur s’est produite dans un objet Stream, XmlReader ou TextReader pendant une opération de diffusion en continu.An error occurred in a Stream, XmlReader or TextReader object during a streaming operation. Pour plus d’informations sur le streaming, consultez Prise en charge du streaming pour SqlClient.For more information about streaming, see SqlClient Streaming Support.

La SqlConnection a été fermée ou supprimée pendant une opération de diffusion en continu.The SqlConnection closed or dropped during a streaming operation. Pour plus d’informations sur le streaming, consultez Prise en charge du streaming pour SqlClient.For more information about streaming, see SqlClient Streaming Support.

L’objet Stream, XmlReader ou TextReader a été fermé pendant une opération de diffusion en continu.The Stream, XmlReader or TextReader object was closed during a streaming operation. Pour plus d’informations sur le streaming, consultez Prise en charge du streaming pour SqlClient.For more information about streaming, see SqlClient Streaming Support.

Exemples

L’exemple suivant crée un SqlCommand, puis l’exécute à l’aide de ExecuteNonQuery.The following example creates a SqlCommand and then executes it using ExecuteNonQuery. L’exemple reçoit une chaîne qui est une instruction Transact-SQL (telle que UPDATE, INSERT ou DELETE) et une chaîne à utiliser pour se connecter à la source de données.The example is passed a string that is a Transact-SQL statement (such as UPDATE, INSERT, or DELETE) and a string to use to connect to the data source.

private static void CreateCommand(string queryString,
    string connectionString)
{
    using (SqlConnection connection = new SqlConnection(
               connectionString))
    {
        SqlCommand command = new SqlCommand(queryString, connection);
        command.Connection.Open();
        command.ExecuteNonQuery();
    }
}
Public Sub CreateCommand(ByVal queryString As String, _
  ByVal connectionString As String)
    Using connection As New SqlConnection(connectionString)
        Dim command As New SqlCommand(queryString, connection)
        command.Connection.Open()
        command.ExecuteNonQuery()
    End Using
End Sub

Remarques

Vous pouvez utiliser la ExecuteNonQuery pour effectuer des opérations de catalogue (par exemple, interroger la structure d’une base de données ou créer des objets de base de données tels que des tables) ou modifier les données d’une base de données sans utiliser de DataSet en exécutant des instructions UPDATE, INSERT ou DELETE.You can use the ExecuteNonQuery to perform catalog operations (for example, querying the structure of a database or creating database objects such as tables), or to change the data in a database without using a DataSet by executing UPDATE, INSERT, or DELETE statements.

Bien que le ExecuteNonQuery ne retourne aucune ligne, les paramètres de sortie ou les valeurs de retour mappés aux paramètres sont remplis avec des données.Although the ExecuteNonQuery returns no rows, any output parameters or return values mapped to parameters are populated with data.

Pour les instructions UPDATE, INSERT et DELETE, les valeurs de retour représentent le nombre de lignes affectées par la commande.For UPDATE, INSERT, and DELETE statements, the return value is the number of rows affected by the command. Pour tous les autres types d'instructions, la valeur de retour est -1.For all other types of statements, the return value is -1.

Lorsqu’un déclencheur existe sur une table qui est insérée ou mise à jour, la valeur de retour comprend le nombre de lignes affectées par l’opération d’insertion ou de mise à jour et le nombre de lignes affectées par le ou les déclencheurs.When a trigger exists on a table being inserted or updated, the return value includes the number of rows affected by both the insert or update operation and the number of rows affected by the trigger or triggers.

Lorsque SET NOCOUNT ON est défini sur la connexion (avant ou dans le cadre de l’exécution de la commande, ou dans le cadre d’un déclencheur initié par l’exécution de la commande), les lignes affectées par les instructions individuelles cessent de contribuer au nombre de lignes affectées qui est retourné par ce m Méthod.When SET NOCOUNT ON is set on the connection (before or as part of executing the command, or as part of a trigger initiated by the execution of the command) the rows affected by individual statements stop contributing to the count of rows affected that is returned by this method.

Si aucune instruction qui contribue au nombre n’est détectée, la valeur de retour est-1.If no statements are detected that contribute to the count, the return value is -1. Si une restauration se produit, la valeur de retour est également-1.If a rollback occurs, the return value is also -1.

S’applique à

Voir aussi