Command.ExecuteNonQuery() exécute une instruction t-sql ou une procédure stockée sans valeur de retour. Elle est généralement utilisée pour insérer, supprimer, mettre à jour et d'autres opérations afin de renvoyer le nombre de lignes affectées.
Command.ExecuteRader() exécute une requête qui renvoie un jeu de résultats
Command.ExecuteScalar() exécute une requête qui renvoie une seule valeur. Le type de valeur de retour est objet.
Généralement utilisé pour exécuter des requêtes à l'aide de fonctions d'agrégation telles que count, max, min, moyenne, etc.
connexion.CreateCommand()
Créer un objet Command basé sur l'objet actuellement lié
int?AddressId;
Définir un type de valeur nullable
AddressId.HasValue
Déterminer s'il a de la valeur
AddressId.Value.ToString();
Convertir sa valeur en type String
commandText peut utiliser 2 instructions SQL séparées par ";" pour renvoyer plusieurs jeux de résultats.
Utilisez NextResult dans DataReader pour obtenir le jeu de résultats suivant.
Utilisation d'objets paramètres dans la commande
1.0
sqlCommand.Parameters.Add("@pname",SqlDbType.VarChar).Value=this.textBox1.Text;
2.0
sqlCommand.Parameters.AddWithValue("@pname",this.textBox1.Text);
Obtenir un objet paramètre par index ou nom de paramètre
sqlCommand.Parameters[index|pname]
Utiliser les transactions
1Créer un objet de transaction
XxxTransaction tran = XxxConnection.BeginTransaction()
Sql:SqlTransaction tran = SqlConnection.BeginTransaction();
2 Spécifiez une transaction pour l'objet Commande
sqlCommand.Transaction = tran
3Exécuter la commande
sqlCommand.ExecuteNonQuery()
4Commit ou rollback transaction
tran.Commit()
tran.Rollback()
Lorsque la transaction n'est pas terminée, par défaut les enregistrements concernés ne peuvent pas être exploités et sont verrouillés. Il s'agit du niveau d'isolement de la transaction. Si vous souhaitez modifier le niveau d'isolement lors de l'ouverture d'une transaction, vous pouvez préciser son niveau d'isolement.
-