La méthode ExecuteScalar. Cette méthode exécute la requête et renvoie la première colonne de la première ligne de l'ensemble de lignes (si la requête réussit). Notez que la méthode ExecuteScalar renvoie un objet scalaire, de nature très diverse : chaîne, nombre, nombre flottant ou tout autre genre d'objet. Cette approche
Deux méthodes efficaces (2)
suppose
que la requête SQL contient une instruction
SELECT. Comme ADO.NET
n’accepte que la première colonne de la première ligne, il convient de limiter
l’ensemble de lignes à une valeur,
comme vous le faites quand vous utilisez
SELECT pour renvoyer une variable
de serveur. Mais, comme vous utilisez
encore une instruction SELECT dans
ce cas, renvoyer un objet scalaire n’est
pas aussi efficace que renvoyer le paramètre
OUTPUT ou ReturnValue.
Examinons du code qui démontre
ces deux méthodes. Le code du listing
1 utilise la méthode ExecuteScalar
pour exécuter une procédure stockée
(qu’illustre le listing 2) qui ajoute une
nouvelle ligne à la table Northwind
Orders et renvoie un objet scalaire (un
entier) contenant le nouveau OrderID
que SQL Server génère.
Le code du listing 3 utilise la méthode
ExecuteNonQuery de l’objet
SqlCommand pour renvoyer la valeur
RowsAffected provenant de la procédure
stockée du listing 4 et les paramètres
renvoyés restants. Notez que le listing 3 montre deux manières de renvoyer
des valeurs à partir de la procédure
stockée : avec un paramètre OUTPUT
et avec un paramètre ReturnValue.
Vous pouvez utiliser les deux pour renvoyer
de nouvelles valeurs d’identité
de ligne, des objets scalaires (nombres
ou chaînes) ou toute information qui
vous intéresse. N’oubliez pas qu’il est
bien plus rapide de gérer des paramètres
OUTPUT que de renvoyer un
ensemble de lignes.
Si vous évitez d’exécuter des requêtes
qui contiennent des instructions
SELECT quand votre question a
une réponse oui ou non numérique,
votre application s’exécutera plus rapidement
et sera plus extensible.
Inutile d’utiliser une instruction
SELECT pour savoir s’il reste des places
sur ce vol pour Cleveland – sauf si vous
voulez avoir la liste des voyageurs occupant
les places voisines. Et s’il y avait
une célébrité ?
Téléchargez cette ressource
Sécuriser Microsoft 365 avec une approche Zero-Trust
Découvrez comment renforcer la cyber-résilience de Microsoft 365 grâce à une approche Zero-Trust, une administration granulaire et une automatisation avancée. La technologie Virtual Tenant de CoreView permet de sécuriser et simplifier la gestion des environnements complexes, tout en complétant vos stratégies IAM, y compris dans les secteurs réglementés.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Adaptation climatique : les entreprises accélèrent, mais peinent à mesurer l’impact financier
- Data centers : 31 600 milliards de dollars d’investissements d’ici 2050, l’énergie au cœur de la nouvelle géographie du calcul
- Analyse Patch Tuesday Septembre 2026
- Agents fantômes en EMEA : l’IA s’emballe, les conseils d’administration s’inquiètent
Articles les + lus
Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
Sécurité : une approche dans la durée avant tout
Guide Ultime des Raccourcis Clavier Windows 11 pour les Professionnels IT
Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
Model Context Protocol : le contexte, grand oublié du débat
À la une de la chaîne Tech
- Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
- Sécurité : une approche dans la durée avant tout
- Guide Ultime des Raccourcis Clavier Windows 11 pour les Professionnels IT
- Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
- Model Context Protocol : le contexte, grand oublié du débat
