Partie 7 : Gestion des fichiers de données 369
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écute-
Requê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 :
Passage de paramètres à une requête
Une requête sur une base de données peut rece-
voir 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 fonc-
tion
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 con-
caténation avec les paramètres.
Par exemple, pour rechercher un client dont le
numéro a été saisi à l'écran :
3.3 Langage SQL et autres bases de données
3.3.1 Présentation
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.
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 "Ana-
lyse", dans le groupe "Création", déroulez "Impor-
ter" 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.
3.3.3 Requête créée par programmation
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
HOu-
vreConnexion
.
• Exécution de la requête avec la fonction
HExécu-
teRequêteSQL
.
• Parcours du résultat de la requête avec les fonc-
tions
HLitXXX
.
• Fermeture de la connexion avec la fonction
HFer-
meConnexion
.
Déclaration de la connexion
Dans l’éditeur d’analyses, sous le volet "Analyse",
dans le groupe "Connexion", cliquez sur "Nouvelle
connexion".
SI PAS HExécuteRequêteSQL(...
"RequeteDeSuppression",...
"DELETE FROM CLIENT WHERE "+...
"CLIENT.NumClient=346") ALORS
Erreur(HErreurInfo())
SINON
Info("Suppression effectuée")
FIN
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
WLangage.book Page 369 Mardi, 23. avril 2013 1:59 13