SqlCommand.ExecuteNonQuery Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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 a été défini sur 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 transmet 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 pour effectuer des ExecuteNonQuery 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 pour modifier les données d’une base de données sans utiliser d’opération DataSet en exécutant des instructions UPDATE, INSERT ou DELETE.
Bien que le ExecuteNonQuery ne retourne aucune ligne, les paramètres de sortie ou 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 en cours d’insertion ou de mise à jour, la valeur de retour inclut 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 retournées par cette méthode.
Si aucune instruction ne contribue au nombre, la valeur de retour est -1. Si une restauration se produit, la valeur de retour est également -1.