Exemples évolués
Chaque exemple montre une utilisation pratique de la fonction du WLangage.
Quand plusieurs syntaxes sont possibles, chacune est illustrée indépendamment.
|
Cet exemple permet de manipuler une base Hyper File via une connexion SQL.
|
||
|
NumConnexion est un entier
NomCompletWdd est une chaîne MotDePasseWdd est une chaîne VariableDeTest est une chaîne // Chemin de l'analyse NomCompletWdd = fRepEncours() + "\MonAnalyse.WD9\MonAnalyse.WDD" // Mot de passe défini dans l'analyse pour le WDD (si un mot de passe est défini) MotDePasseWdd = "PASSWDD" // Connexion à la base de données Hyper File NumConnexion = SQLConnecte (NomCompletWdd, "", MotDePasseWdd, "Hyper File") SI NumConnexion <> 0 ALORS // La connexion s'est bien passée // Utilisation de la connexion pour exécuter des requêtes SQL VariableDeTest = "DUPOND" SI SQLExec("SELECT * FROM CLIENT WHERE NOM='" + VariableDeTest + "'", ... "RECHCLIENTPARNOM") ALORS // Traitement de la requête SINON // Échec de la requête : affichage d'un message explicatif SQLInfoGene("RECHCLIENTPARNOM") Erreur("Erreur" + SQL.Erreur + "dans la requête : ", SQL.MesErreur) FIN SINON // La connexion a échoué : affichage d'un message explicatif Erreur(HErreurInfo()) FIN // Obligatoire, que la connexion soit OK ou non SQLDéconnecte()
|
||
|
Cet exemple permet de manipuler une base ACCESS (ou ORACLE) via une connexion SQL.
|
||
|
NumConnexion est un entier
NomSource est une chaîne NomUtilisateur est une chaîne = "" PasseUtilisateur est une chaîne = "" VariableDeTest est une chaîne TypeBase est une chaîne // Connexion à une source de données spécifique via l'accès natif MS ACCESS NomSource = "C:\cdm\test.mdb" TypeBase = "Access" NumConnexion = SQLConnecte (NomSource, NomUtilisateur, PasseUtilisateur, "", TypeBase) // Ou connexion à une source données via l'accès natif ORACLE // NomSource = "NOMALIAS" (nom de l'alias défini avec SQLNet) // TypeBase = "ORACLE" // NumConnexion = SQLConnecte(NomSource, NomUtilisateur, PasseUtilisateur, "", TypeBase) SI NumConnexion <> 0 ALORS // La connexion s'est bien passée // Utilisation de la connexion pour exécuter des requêtes SQL VariableDeTest = "DUPOND" SI SQLExec("SELECT * FROM CLIENT WHERE NOM='" + ... VariableDeTest + "'", "RECHCLIENTPARNOM") ALORS // Traitement de la requête SINON // Échec de la requête : affichage d'un message explicatif SQLInfoGene("RECHCLIENTPARNOM") Erreur("Erreur" + SQL.Erreur + "dans la requête : ", SQL.MesErreur) FIN SINON // La connexion a échoué : affichage d'un message explicatif // Recherche des types de sources dans la liste des sources disponibles SI Position(RC + Majuscule(SQLListeSource("BASE")) + RC, ... RC + Majuscule(TypeBase) + RC) = 0 ALORS // Type de source non trouvé Erreur("L'accès natif" + TypeBase + "n'est pas correctement installé.", ... "Vérifiez la présence des DLL WinDev/WebDev correspondantes" + ... "(WDxxxACC.DLL pour Access, WDxxxORA.DLL pour Oracle," + ... "WDxxxSQS.DLL pour SQL Server)") SINON // Type de source trouvé dans la liste de type de source SQLInfoGene() // Instruction à supprimer pour l'accès natif Oracle Erreur("Le type de source de données" + TypeBase + ... "a bien été trouvé mais la connexion a échoué.", ... "Vérifiez le nom de la base (ou chaîne de connexion) " + ... "et le mot de passe.", SQL.MesErreur) FIN FIN // Obligatoire, que la connexion soit OK ou non SQLDéconnecte()
|
||
|
Cet exemple permet de manipuler une base ACCESS via une connexion ODBC.
|
||
|
NumConnexion est un entier
NomSource est une chaîne VariableDeTest est une chaîne // Connexion à une source de données spécifique via ODBC MS ACCESS // (note :certains drivers ouvrent une boîte de sélection de // fichiers si aucun fichier n'est associé à cette source) NomSource = "MS Access 97 Database" NumConnexion = SQLConnecte(NomSource, "", "", "", "ODBC") SI NumConnexion <> 0 ALORS // La connexion s'est bien passée // Utilisation de la connexion pour exécuter des requêtes SQL VariableDeTest = "DUPOND" SI SQLExec("SELECT * FROM CLIENT WHERE NOM='" + ... VariableDeTest + "'", "RECHCLIENTPARNOM") ALORS // Traitement de la requête SINON // Échec de la requête : affichage d'un message explicatif SQLInfoGene("RECHCLIENTPARNOM") Erreur("Erreur" + SQL.Erreur + "dans la requête : ", SQL.MesErreur) FIN SINON // La connexion a échoué : affichage d'un message explicatif // Recherche des types de sources dans la liste des sources disponibles SI Position(RC + Majuscule(SQLListeSource("BASE")) + RC, ... RC + Majuscule(TypeBase) + RC)= 0 ALORS // Type de source non trouvé Erreur("L'accès natif" + TypeBase + "n'est pas correctement installé.", ... "Vérifiez la présence des DLL WinDev/WebDev correspondantes" + ... "(WDxxxACC.DLL pour Access, WDxxxORA.DLL pour Oracle," + ... "WDxxxSQS.DLL pour SQL Server)") SINON // Type de source trouvé dans la liste des types de sources SQLInfoGene() // Instruction à supprimer pour l'accès natif Oracle Erreur ( "Le type de source de données" + TypeBase + ... "a bien été trouvé mais la connexion a échoué." , ... "Vérifiez le nom de la base (ou chaîne de connexion) " + ... "et le mot de passe." , SQL.MesErreur ) FIN FIN // Obligatoire, que la connexion soit OK ou non SQLDéconnecte ()
|
||
|
|
||
|
NomSource est une chaîne =
"jdbc:mysql://apollon/test"
NumConnexion est un entier = SQLConnecte ( NomSource , "MH" , "FORMH" , ... "test" , "" , "com.mysql.jdbc.Driver" )
SI NumConnexion
=
0
ALORS
// La connexion a échoué : affichage d'un message explicatif SQLInfoGene () Erreur ( "La connexion à la source de données" + NomSource + ... "a échoué." + RC +... "Code erreur : " + SQL.Erreur + RC +... SQL.MesErreur ) RETOUR
FIN
// Exécuter la requête et récupérer le résultat ligne à ligne SI PAS SQLExec ( "SELECT NomClient, Adresse, Telephone FROM CLIENT " , "REQ1" ) ALORS SQLInfoGene ( "REQ1" ) Erreur ( "Echec de la requête " + RC + "Code erreur : " + SQL.Erreur + RC + SQL.MesErreur ) SINON i est un entier = 0 TANTQUE SQLFetch("REQ1") = 0 // Il y a encore une ligne à lire i ++ // Récupérer les données sValeur est une chaîne = SQLLitCol("REQ1", 1) SQLInfoGene ("REQ1")
SI SQL.MesErreur <>"" ALORS
Trace("Erreur : " + SQL.MesErreur)
SINON
Trace(sValeur)
FIN
sValeur = SQLLitCol ( "REQ1" , 2 )
SQLInfoGene ("REQ1")
SI SQL.MesErreur <>"" ALORS
Trace("Erreur : " + SQL.MesErreur)
SINON
Trace(sValeur)
FIN
sValeur = SQLLitCol ( "REQ1" , 3 )
SQLInfoGene ("REQ1")
SI SQL.MesErreur <>"" ALORS
Trace("Erreur : " + SQL.MesErreur)
SINON
Trace(sValeur)
FIN
FIN
SQLFerme ( "REQ1" )
FIN
SQLDeconnecte ()
|
Auteur: Patrick Biker