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