Des exemples d'utilisation des fonctions du WLangage
Rien de tel qu'un exemple pour comprendre une fonction de WLangage. Dans cette section, vous trouverez des exemples simples.
Des exemples évolués, où la fonction est utilisée en contexte, sont également disponible sur ce site.
SQLAssocie (en anglais SQLAssociate)
ResExec est un booléen
ResExec = SQLExec("SELECT NOMCLI,ADR1,ADR2,VILLE,CP FROM FACT", "REQ2") SI ResExec = Vrai ALORS SQLAssocie("REQ2", NomCli, Adr[1], Adr[2], Ville, CodePostal) SQLPremier("REQ2") SINON // Traite erreur FIN SQLFerme("REQ2")
|
SQLAvance (en anglais SQLFetch)
i est un entier = 0
SQLExec("SELECT NOM, PRENOM, POSTE, PHOTO FROM CLIENT", "REQ1") // Récupérer la requête ligne à ligne TANTQUE SQLFetch ("REQ1") = 0 // Il y a encore une ligne à lire i++ // Récupérer les données NOM[i] = SQLLitCol("REQ1", 1) PRENOM[i] = SQLLitCol("REQ1", 2) POSTE[i] = SQLLitCol("REQ1", 3) {"IMAGE"+i} = SQLLitMémo("REQ1", 4) FIN SQLFerme("REQ1")
|
SQLBloque (en anglais SQLLock)
Req est une chaîne
// Début de transaction pour bloquer SQLTransaction( SQLDébut ) // Bloque toute la table SQLBloque ("CLIENT", "Table") // Exécute la requête Req = "UPDATE CLIENT SET NOMCLIENT = 'DUPOND' WHERE REFCLIENT = 1043" SQLExec(Req, "REQ1") // Débloquer le fichier SQLTransaction( SQLFin )
|
SQLBloque (en anglais SQLLock)
ReqBloque, ReqUpdate sont des chaînes
// Début de transaction pour bloquer SQLTransaction( SQLDébut ) // Définition de Requête ReqBloque est une chaîne = "SELECT * FROM CLIENT WHERE REFCLIENT = 1043" // Bloquer le résultat de la requête SELECT SQLBloque (ReqBloque) // Définition d'une requête de mise à jour ReqUpdate est une chaîne ReqUpdate = "UPDATE CLIENT SET NOMCLIENT = 'DUPOND' WHERE REFCLIENT = 1043" // Exécution d'une requête de mise à jour SQLExec(ReqUpdate, "REQ1") // Débloquer les enregistrements SQLTransaction( SQLFin )
|
SQLChangeConnexion (en anglais SQLChangeConnection)
// Les clients sont sur une base ORACLE
Conn1 est un entier = SQLConnecte("ORACLE", "", "") // La comptabilité est sur une base SQLSERVER Conn2 est un entier = SQLConnecte("SQLSERVER", "", "") ... // Accéder aux clients SQLChangeConnexion (Conn1) ... // Accéder à la comptabilité SQLChangeConnexion (Conn2) ... // Fermeture de la connexion en cours SQLDéconnecte() // Fermeture de la connexion en cours SQLDéconnecte()
|
SQLCol (en anglais SQLCol)
ResExec = SQLExec("SELECT NOMCLI FROM FACT", "REQ1")
SI ResExec ALORS SQLPremier("REQ1")
// Transfert du nom dans LISTENOM
TANTQUE PAS SQL.EnDehors ListeAjoute("LISTENOM", SQLCol ("REQ1", 1)) SQLSuivant("REQ1") FIN SINON // TraiteErreur FIN SQLFerme("REQ1")
|
SQLColonne (en anglais SQLColumn)
// Connexion à une base de données
Numéro_Connexion est un entier = SQLConnecte(NomSource, "", "", "", "ODBC") i est un entier // ListeTab est une liste contenant la liste des tables i = ListeTab SI i <> -1 ALORS ListeAjoute(Liste1, SQLColonne (Numéro_Connexion,ListeTab[i])) FIN
|
SQLConnecte (en anglais SQLConnect)
// Exemple de connexion via 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 ... SINON // 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) FIN // Dans tous les cas (connexion OK ou pas) SQLDéconnecte()
|
SQLConnecte (en anglais SQLConnect)
// Connexion à une base MySQL sur la machine apollon
// avec le login "superv" à la base client test NumConnexion est un entier NumConnexion = SQLConnecte ("apollon","superv","","test")
|
SQLConnecte (en anglais SQLConnect)
// Connexion à une base mySQL en utilisant un driver JDBC :
SQLConnecte("jdbc:mysql://"+monServeur+"/"+ madatabase,"moi","monpwd","","JDBC","com.mysql.jdbc.Driver")
// Connexion en utilisant une source de données ODBC :
SQLConnecte("jdbc:odbc:MaSource","moi","monpwd","","JDBC","sun.jdbc.odbc.JdbcOdbcDriver") // Connexion en utilisant Hyper File : SQLConnecte("MonAnalyse.WDD","","monpwd","","Hyper File")
|
SQLDeconnecte (en anglais SQLDisconnect)
// Exemple attaché à l'analyse GESCOM
|
SQLDernier (en anglais SQLLast)
ResExec
est un entier
// Exécution d'une requête ResExec = SQLExec("SELECT NOMCLI FROM FACT", "REQ1") SI ResExec = Vrai ALORS // Transfert du nom dans LISTENOM SQLDernier ("REQ1") TANTQUE PAS SQL.EnDehors // Ajout du résultat dans une liste ListeAjoute("LISTENOM", SQLCol("REQ1", 1)) SQLPrécédent("REQ1") FIN SINON // Traite erreur FIN SQLFerme("REQ1")
|
SQLExec (en anglais SQLExec)
// Exécuter la requête et récupérer le résultat ligne à ligne
i est un entier = 0 SQLExec("SELECT NOM, PRENOM, POSTE, PHOTO FROM CLIENT", "REQ1") TANTQUE SQLAvance("REQ1") = 0 // Il y a encore une ligne à lire i++ // Récupérer les données NOM[i] = SQLLitCol("REQ1", 1) PRENOM[i] = SQLLitCol("REQ1", 2) POSTE[i] = SQLLitCol("REQ1", 3) {"IMAGE"+i} = SQLLitMémo("REQ1", 4) FIN SQLFerme("REQ1")
|
SQLExecWDR (en anglais SQLExecWDR)
// Exécuter la requête et récupérer le résultat ligne à ligne
i est un entier = 0 SQLExecWDR ("RequêteClient84") TANTQUE SQLFetch("RequêteClient84") = 0 // Il y a encore une ligne à lire i++ // Récupérer les données NOM[i] = SQLLitCol("RequêteClient84", 1) PRENOM[i] = SQLLitCol("RequêteClient84", 2) POSTE[i] = SQLLitCol("RequêteClient84", 3) {"IMAGE"+i} = SQLLitMémo("RequêteClient84", 4) FIN SQLFerme("RequêteClient84")
|
SQLFerme (en anglais SQLClose)
// Exécution de la requête et récupération des informations
ResSQL = SQLExec("SELECT* FROM FACT", "REQ1") SI PAS ResSQL ALORS SQLInfoGene("REQ1") Info("Erreur SQL : " + SQL.MesErreur) SINON SQLTable("REQ1", "Table1") FIN SQLFerme("REQ1")
|
SQLFormatColonne (en anglais SQLColumnFormat)
Ch est une chaîne
Ch = SQLFormatColonne () // La chaîne Ch contient par exemple : // "CHAR" + TAB + "9" + RC + "VARCHAR" + TAB + "20" + RC
|
SQLInfoGene (en anglais SQLInfo)
ResSQL = SQLExec("SELECT * FROM FACT", "REQ1")
SI PAS ResSQL ALORS SQLInfoGene ("REQ1") Info("Erreur SQL : " + SQL.MesErreur) SINON SQLTable("REQ1", "Table1") FIN SQLFerme("REQ1")
|
SQLListeSource (en anglais SQLListSource)
// Afficher dans une liste les sources de données accessibles
ListeAjoute("ListeData", SQLListeSource ()) // Afficher dans une liste les bases de données accessibles ListeAjoute("ListeData", SQLListeSource ("BASE"))
|
SQLListeTable (en anglais SQLListTable)
// Liste non détaillée des tables
Ch est une chaîne = SQLListeTable ( Faux ) Ch = SansEspace(Ch) // Ajout dans un champ Liste ListeAjoute(LISTE, Ch)
|
SQLListeTable (en anglais SQLListTable)
Ch
est une chaîne =
SQLListeTable
()
|
SQLListeTable (en anglais SQLListTable)
Ch
est une chaîne =
SQLListeTable
()
|
SQLLitCol (en anglais SQLGetCol)
i est un entier = 0
SQLExec("SELECT NOM, PRENOM, POSTE, PHOTO FROM CLIENT", "REQ1") // Récupérer la requête ligne à ligne TANTQUE SQLAvance("REQ1") = 0 // Il y a encore une ligne à lire i++ // Récupérer les données NOM[i] = SQLLitCol ("REQ1", 1) PRENOM[i] = SQLLitCol ("REQ1", 2) POSTE[i] = SQLLitCol ("REQ1", 3) FIN SQLFerme("REQ1")
|
SQLLitMemo (en anglais SQLGetMemo)
SQLExec("SELECT NOM, PRENOM, POSTE, PHOTO FROM CLIENT", "REQ1")
SQLAvance("REQ1") // Ou SQLFetch("REQ1") // Récupérer les données NOM = SQLLitCol("REQ1", 1) PRENOM = SQLLitCol("REQ1", 2) POSTE = SQLLitCol("REQ1", 3) // Lire le mémo binaire et le stocker dans un fichier // photo du produit HExtraitMemo( SQLLitMémo ("REQ1", 4),"Produit.BMP") SQLFerme("REQ1") // Récupération d'un mémo binaire SQLExec("SELECT NOM, MORCEAU FROM MUSIQUE", "REQ1") Son( SQLLitMémo ("REQ1", 2)) // Joue le mémo binaire
|
SQLLitMemoTexte (en anglais SQLGetTextMemo)
SQLExec("SELECT NOM, PRENOM, POSTE, NOTES FROM CLIENT", "REQ1")
SQLAvance("REQ1") // Ou SQLFetch("REQ1") // Récupérer les données NOM = SQLLitCol("REQ1", 1) PRENOM = SQLLitCol("REQ1", 2) POSTE = SQLLitCol("REQ1", 3) // Lire le mémo texte NOTE = SQLLitMémoTexte ("REQ1", 4) SQLFerme("REQ1")
|
SQLModifie (en anglais SQLModify)
SQLPositionne (en anglais SQLSeek)
// Modification de l'ascenseur
// Positionnement direct selon la valeur de l'ascenseur SQLPositionne ("REQ", ASCENS1)
|
SQLPrecedent (en anglais SQLPrevious)
ResExec = SQLExec("SELECT NOMCLI FROM FACT", "REQ1")
SI ResExec ALORS // Transfert du nom dans LISTENOM SQLDernier("REQ1") TANTQUE PAS SQL.EnDehors ListeAjoute("LISTENOM", SQLCol("REQ1", 1)) SQLPrécédent ("REQ1") FIN SINON // Traite l'erreur FIN SQLFerme("REQ1")
|
SQLPremier (en anglais SQLFirst)
// Initialisation des paramètres de l'ascenseur en fin de requête
ResSQL = SQLExec("SELECT NOMCLI, PRENOM, ADR1, ADR2, VILLE, CP" + ... "FROM CLIENT", "REQ1") SI ResSQL ALORS SQLPremier("REQ1") // Affiche la première ligne ASCENS1..Maxi = SQL.NbLig // Initialise la borne maximale // de l'ascenseur ASCENS1 = 1 // Place l'ascenseur au début SINON // Traite l'erreur FIN SQLFerme("REQ1")
|
SQLReqExiste (en anglais SQLReqExists)
SQLSuivant (en anglais SQLNext)
ResSQL = SQLExec("SELECT NOMCLI FROM FACT", "REQ1")
SI ResSQL ALORS SQLPremier("REQ1") TANTQUE PAS SQL.EnDehors ListeAjoute("LISTENOM", SQLCol("REQ1", 1)) SQLSuivant ("REQ1") FIN SINON // Erreur SQLEXEC FIN SQLFerme("REQ1")
|
SQLTable (en anglais SQLTable)
// Transfert dans table : récupération sans fetch
ResSQL = SQLExec("SELECT NOMCLI,PRENOMCLI FROM FACT", "REQ1") SI ResSQL ALORS SQLTable ("REQ1", "TABREQ", "Nom du client" + TAB + "Prénom", "30 20") // Calcule le nombre d'enreg. résultat Nbenr est un entier = TableOccurrence(TabReq) SINON // Erreur SQL FIN SQLFerme("REQ1")
|
SQLTable (en anglais SQLTable)
// Transfert dans table : récupération uniquement des 25 premiers
ResSQL = SQLExec("SELECT NOMCLI,PRENOMCLI,VILLE FROM FACT", "REQ1") SI ResSQL ALORS // Avoir uniquement les 25 premières lignes SQLTable ("REQ1", "TABREQ", 25) SINON // Erreur SQL FIN SQLFerme("REQ1")
|
SQLTable (en anglais SQLTable)
// Transfert dans table : récupération par Fetch
ResSQL = SQLExec("SELECT NOMCLI,PRENOMCLI,VILLE FROM FACT", "REQ1") SI ResSQL ALORS // Récupération par groupe de 28 lignes TANTQUE SQLTable (28,"REQ1","MATABLE","ColTitre","90") // Traitement SINON
// Erreur SQL FIN SQLFerme("REQ1")
|
SQLTransaction (en anglais SQLTransaction)
NumConnexion est un entier = SQLConnecte("MaBase", "User", "MotDePasse",...
"","OLEDB","MonProvider") SI NumConnexion = 0 ALORS SQLInfoGene() Erreur("Erreur d'ouverture de la connexion : " + SQL.MesErreur) SINON // Mise en transaction de la connexion SQLTransaction ( SQLDébut ) // Modification de la valeur de toutes les rubriques MonFichier. MaRubrique SI SQLExec("UPDATE MonFichier SET MaRubrique = 'nouvelle valeur'",... "RequeteModif") = 0 ALORS SQLInfoGene("RequeteModif") Erreur("Erreur d'execution de la requête : " + SQL.MesErreur) SQLTransaction ( sqlFin ) FIN // Annulation de la transaction SQLTransaction ( sqlAnnule ) // le contenu du fichier MonFichier n'a pas changé. FIN
|