3.3 Langage SQL et autres bases de données

publicité
WLangage.book Page 369 Mardi, 23. avril 2013 1:59 13
Particularité des requêtes de mise à jour de base
(UPDATE, DELETE, INSERT, ...)
Ces requêtes n'étant pas destinées à renvoyer une
sélection d'enregistrements, il n'est pas nécessaire
de disposer d'une source de données pour les exécuter. Les fonctions HExécuteRequête et HExécuteRequêteSQL peuvent alors être appelées avec un
nom de requête au lieu d'une source de données.
Exemple de requête SQL DELETE :
SI PAS HExécuteRequêteSQL(...
"RequeteDeSuppression",...
"DELETE FROM CLIENT WHERE "+...
"CLIENT.NumClient=346") ALORS
Erreur(HErreurInfo())
SINON
Info("Suppression effectuée")
FIN
Passage de paramètres à une requête
Une requête sur une base de données peut recevoir des paramètres (par exemple la sélection des
clients du département X).
Pour cela, la fonction HExécuteRequête permet de
passer des paramètres à la requête construite sous
l'éditeur de requêtes. Consultez l'aide relative à
l'éditeur de requêtes et à la fonction HExécuteRe-
quête pour de plus amples informations.
Une requête en langage SQL (initialisée par la fonction HExécuteRequêteSQL) peut elle aussi accepter
des paramètres. Il suffit pour cela que la chaîne
constituant la requête SQL soit construite par concaténation avec les paramètres.
Par exemple, pour rechercher un client dont le
numéro a été saisi à l'écran :
CReqSQL est une chaîne
SourceRequete est une source de ...
données
// ChampNumeroClient est un champ
// de saisie de la fenêtre
cReqSQL="SELECT NomClient"+ ...
"FROM CLIENT WHERE "+...
"CLIENT.NClient=" +...
ChampNumeroClient
SI PAS HExécuteRequêteSQL(...
SourceRequete,cReqSQL) ...
ALORS Erreur(HErreurInfo())
SINON
HLitPremier(SourceRequete)
Info(SourceRequete.NomClient)
// Affiche nom client trouvé
FIN
3.3 Langage SQL et autres bases de données
3.3.1 Présentation
3.3.3 Requête créée par programmation
WinDev / WebDev permet d’interroger une base de
données tierce :
• soit par le WLangage (HExécuteRequêteSQL),
• soit par une requête créée avec l’éditeur de
requêtes.
Pour créer une requête sur une base de données
tierce, les différentes étapes sont les suivantes :
1. Déclaration de la connexion dans l’éditeur
d’analyses.
2. En programmation, deux méthodes sont
possibles :
Méthode 1 : Déclaration d’une source de données.
Utilisation de la fonction HExécuteRequêteSQL.
Méthode 2 :
• Ouverture de la connexion avec la fonction HOuvreConnexion.
• Exécution de la requête avec la fonction HExécuteRequêteSQL.
• Parcours du résultat de la requête avec les fonctions HLitXXX.
• Fermeture de la connexion avec la fonction HFermeConnexion.
3.3.2 Requête créée dans l’éditeur de
requêtes
Pour créer une requête sur une base de données
tierce, les étapes sont les suivantes :
1. Importation des tables de la base de données
tierce (description des structures) dans l’analyse du
projet.
Pour réaliser cette opération, sous le volet "Analyse", dans le groupe "Création", déroulez "Importer" et sélectionnez l’option "Importer des
descriptions de fichiers/tables". L’assistant permet
de se connecter à un serveur ou à une base de
données et de sélectionner les tables à importer.
2. Création des requêtes avec l’éditeur de requêtes.
Déclaration de la connexion
Dans l’éditeur d’analyses, sous le volet "Analyse",
dans le groupe "Connexion", cliquez sur "Nouvelle
connexion".
Partie 7 : Gestion des fichiers de données
369
Téléchargement