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
Microsoft 365 Tenant Resilience
Face aux failles de résilience des tenants M365 (configurations, privilèges, sauvegarde). Découvrez 5 piliers pour durcir, segmenter et surveiller vos environnements afin de limiter l’impact des attaques. Prioriser vos chantiers cyber et améliorer la résilience de vos tenants Microsoft 365.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Secteur public : l’IA accélère la modernisation des infrastructures
- De l’inventaire à l’action : l’Asset Management au service d’un Numérique plus responsable
- IA et bureaucratie : la complexité qui grève les projets
- IA dans les services financiers : priorité stratégique, mais passage à l’échelle sous tension
Articles les + lus
Model Context Protocol : le contexte, grand oublié du débat
Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
Computex 2026 : 5 signaux forts à retenir
À la une de la chaîne Tech
- Model Context Protocol : le contexte, grand oublié du débat
- Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
- Computex 2026 : 5 signaux forts à retenir
