SqlCommand.ExecuteNonQuery Méthode

Définition

Exécute une instruction Transact-SQL sur la connexion et retourne le nombre de lignes affectées.

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

Retours

Int32

Nombre de lignes affectées.

Implémente

Exceptions

Un SqlDbType autre que Binary ou VarBinary a été utilisé quand Value avait la valeur Stream. Pour plus d’informations sur le streaming, consultez Prise en charge du streaming pour SqlClient.

  • ou -

Un SqlDbType autre que Char, NChar, NVarChar, VarChar ou Xml a été utilisé quand Value avait la valeur TextReader.

  • ou -

Un SqlDbType autre que Xml a été utilisé quand Value avait la valeur XmlReader.

Une exception s’est produite pendant l’exécution de la commande sur une ligne verrouillée. Cette exception n’est pas générée quand vous utilisez Microsoft .NET Framework version 1.0.

  • ou -

Un délai d’attente a été dépassé pendant une opération de diffusion en continu. Pour plus d’informations sur le streaming, consultez Prise en charge du streaming pour SqlClient.

Une erreur s’est produite dans un objet Stream, XmlReader ou TextReader pendant une opération de diffusion en continu. Pour plus d’informations sur le streaming, consultez Prise en charge du streaming pour SqlClient.

La SqlConnection a été fermée ou supprimée pendant une opération de diffusion en continu. Pour plus d’informations sur le streaming, consultez Prise en charge du streaming pour SqlClient.

L’objet Stream, XmlReader ou TextReader a été fermé pendant une opération de diffusion en continu. Pour plus d’informations sur le streaming, consultez Prise en charge du streaming pour SqlClient.

Exemples

L’exemple suivant crée un SqlCommand , puis l’exécute à l’aide de 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.

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 le ExecuteNonQuery pour effectuer des opérations de catalogue (par exemple, pour interroger la structure d’une base de données ou pour créer des objets de base de données tels que des tables) ou pour modifier les données d’une base de données sans utiliser une DataSet en exécutant des instructions Update, INSERT ou DELETE.

Bien que 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.

Pour les instructions UPDATE, INSERT et DELETE, les valeurs de retour représentent le nombre de lignes affectées par la commande. Pour tous les autres types d'instructions, la valeur de retour est -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.

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 cette méthode.

Si aucune instruction qui contribue au nombre n’est détectée, la valeur de retour est-1. Si une restauration se produit, la valeur de retour est également-1.

S’applique à

Voir aussi