Je vois souvent des programmes HLL avec une instruction SQL Fetch imbriquée dans une boucle qui teste la variable SqlState comme une condition de fin de boucle, comme dans le fragment de code suivant :
Dow SqlState = SqlStateOK
.
.
.
Copier SqlState pour éviter des problèmes
Fetch Next From CustCursor
EndDo
C’est une pratique dangereuse parce que n’importe quelle instruction SQL exécutée après le Fetch et avant la fin du bloc Do, réinitialisera la valeur de la variable SqlState. Cette méthode vous semblera adaptée dans le cas d’une simple boucle sans aucune autre instruction SQL. Mais que se passera-t-il quand d’autres programmes modifieront ultérieurement le code, peut-être pour utiliser une instruction Insert pour journaliser des erreurs ? Au mieux, votre utilisation de SqlState pour contrôler la boucle rend plus difficile la modification du code. Au pire, le programmeur ne s’aperçoit pas du problème et ajoute du code susceptible de faire continuer la boucle quand une défaillance se produit.
Le meilleur moyen d’appliquer du code qui est dépendant de SqlState est de copier immédiatement soit la valeur SqlState dans une autre variable, soit de tester SqlState immédiatement pour définir une autre variable de contrôle. Le deuxième profil de l’article principal utilise cette technique pour définir la variable MoreRows à False à la fin du jeu de résultats, ou quand une condition imprévue survient.
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
- Microsoft Build 2026 : industrialiser l’IA agentique dans les environnements d’entreprise
- IA et souveraineté des données : les entreprises françaises redéfinissent les infrastructures IT
- Temps d’arrêt IT : un coût de 600 milliards de dollars pour les entreprises du Global 2000
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
Articles les + lus
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
Analyse Patch Tuesday Mai 2026
À la une de la chaîne Tech
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- Analyse Patch Tuesday Mai 2026
