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
- Akamai Technologies déploie sa stratégie de protection en ligne
- Baromètre channel IT : fin du cuivre, essor de UCaaS et premiers pas vers l’IA
- Fraude par identité synthétique : comment l’IA peut redonner confiance aux entreprises et à leurs clients
- VirtualBrowser protège la navigation web à la source
Articles les + lus
Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
Moderniser le développement logiciel : de la fragmentation à l’intégration
Analyse Patch Tuesday Mars 2026
Une nouvelle ère de la modernisation du mainframe
Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
À la une de la chaîne Tech
- Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
- Moderniser le développement logiciel : de la fragmentation à l’intégration
- Analyse Patch Tuesday Mars 2026
- Une nouvelle ère de la modernisation du mainframe
- Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
