DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Fonctions HFSQL
  • Exemple : Importer une description de fichier à partir d'un fichier de données existant
  • Exemple : Importation d'un fichier Client/Serveur HFSQL avec mot de passe
  • Exemple : Se connecter au fichier des utilisateurs du Groupware
  • Exemple : Exécuter une requête SQL sur une source de données déclarée par la fonction HDéclareExterne
HDéclareExterne (Exemple)
Exemple : Importer une description de fichier à partir d'un fichier de données existant
WINDEVWEBDEV - Code ServeurEtats et RequêtesWindowsCode Utilisateur (MCU)Ajax
L'exemple suivant permet d'utiliser le fichier "C:\UnExemple\CLIENT.FIC" dans l'application en cours. Ce fichier de données est décrit dans l'application "Exemple". Il est importé dans l'application en cours sous le nom "ClientWD". Sa structure est automatiquement importée dans l'analyse du projet en cours. Il est ainsi possible d'ajouter un enregistrement dans ce fichier de données par exemple.
ClientWD est une Source de Données
// Importe la description du fichier CLIENT sous le nom ClientWD
HDéclareExterne("C:\UnExemple\CLIENT.FIC", "ClientWD")

// Ajout d'un enregistrement
ClientWD.Nom = "Martin"
...
HAjoute(ClientWD)

// Ferme le fichier
HFerme(ClientWD)

// On ne veut plus utiliser la description
HAnnuleDéclaration(ClientWD)
Exemple : Importation d'un fichier Client/Serveur HFSQL avec mot de passe
sdMonHotel est une Source de Données
Nouvelle_connexion est une Connexion

HPasse(sdMonHotel, "Tahiti")

// Paramètres de la connexion
Nouvelle_connexion.Provider = hAccèsHFClientServeur
Nouvelle_connexion.Utilisateur = "MonUtilisateur"
Nouvelle_connexion.MotDePasse = "MonMotDePasse"
Nouvelle_connexion.Serveur = "MonIPServeur"
Nouvelle_connexion.BaseDeDonnées = "MaBaseDeDonnees"

// Ouverture de la connexion
SI PAS HOuvreConnexion(Nouvelle_connexion) ALORS
	Erreur("Erreur de connexion : ", HErreurInfo())
	RETOUR
FIN
SI PAS HDéclareExterne(".\Hotels.fic","sdMonHotel", Nouvelle_connexion) ALORS
	Erreur("Erreur sur la déclaration externe : ", HErreurInfo())
	RETOUR
FIN

HLitPremier(sdMonHotel)
Info(sdMonHotel.Nom)
Exemple : Se connecter au fichier des utilisateurs du Groupware
Cet exemple montre comment se connecter au fichier des utilisateurs du Groupware utilisateur lorsque ce fichier est de type HFSQL Client/Serveur.
sdGPWUTIL est une Source de Données
Nouvelle_connexion est une Connexion

// Paramètres de la connexion
Nouvelle_connexion.Provider = hAccèsHFClientServeur
Nouvelle_connexion.Utilisateur = "mon utilisateur"
Nouvelle_connexion.MotDePasse = "mon mot de passe"
Nouvelle_connexion.Serveur = "mon serveur"
Nouvelle_connexion.BaseDeDonnées = "ma base de données"
Nouvelle_connexion.Cryptage = hCryptageNon

// Ouverture de la connexion
SI PAS HOuvreConnexion(Nouvelle_connexion) ALORS 
	Erreur(HErreurInfo())
	RETOUR
FIN

HPasse(sdGPWUTIL,"PCSGPW2001")
SI PAS HDéclareExterne(".\Gpw_GPWU_HFCS\\GPWUTILISATEUR.fic", sdGPWUTIL, Nouvelle_connexion) ALORS
	Erreur(HErreurInfo())
	RETOUR
FIN

sdGPWUTIL.login = "testman"
SI PAS HAjoute("sdGPWUtil") ALORS Erreur(HErreurInfo())
Exemple : Exécuter une requête SQL sur une source de données déclarée par la fonction HDéclareExterne
Cet exemple montre comment exécuter une requête SQL sur une source de données déclarée par la fonction HDéclareExterne. La propriété "Nom" doit être utilisée.
// Connexion à la base de données
cnxConnexionSuivi est une Connexion
cnxConnexionSuivi.Utilisateur = "Nom_Utilisateur"
cnxConnexionSuivi.MotDePasse = ""
cnxConnexionSuivi.Serveur = "Nom_Server"
cnxConnexionSuivi.BaseDeDonnées = "Nom_Base"
cnxConnexionSuivi.Provider = hAccèsHFClientServeur
cnxConnexionSuivi.Accès = hOLectureEcriture   

sArticle est une Source de Données  
sdRetourReq est une Source de Données

sReq  est une chaîne =
[
	SELECT *
	FROM %1
]

SI PAS HOuvreConnexion(cnxConnexionSuivi) ALORS
	Trace("Erreur de connexion à la BDD du suivi" + RC + HErreurInfo(hErrComplet))
	FinProgramme()
FIN
SI PAS HDéclareExterne(".\ARTICLE.FIC", sArticle, cnxConnexionSuivi) ALORS
	Trace("Le fichier sArticle n'a pas pu être déclaré" + RC + HErreurInfo(hErrComplet))
	FinProgramme()
FIN
sReq = ChaîneConstruit(sReq, sArticle..Nom)
Trace(sReq)
SI HExécuteRequêteSQL(sdRetourReq, cnxConnexionSuivi, hRequêteDéfaut, sReq) ALORS
	POUR TOUT sdRetourReq
		Trace(sdRetourReq.DESA_ART)
	FIN
SINON
	Trace(HErreurInfo(hErrComplet))
	FinProgramme()   
FIN
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Exemple
Dans l'exemple suivant :

sdMonHotel est une Source de Données
Nouvelle_connexion est une Connexion

HPasse(sdMonHotel, "Tahiti")

// Paramètres de la connexion
Nouvelle_connexion.Provider = hAccèsHFClientServeur
Nouvelle_connexion.Utilisateur = "MonUtilisateur"
Nouvelle_connexion.MotDePasse = "MonMotDePasse"
Nouvelle_connexion.Serveur = "MonIPServeur"
Nouvelle_connexion.BaseDeDonnées = "MaBaseDeDonnees"

// Ouverture de la connexion
SI PAS HOuvreConnexion(Nouvelle_connexion) ALORS
Erreur("Erreur de connexion : ", HErreurInfo())
RETOUR
FIN
SI PAS HDéclareExterne(".\Hotels.fic","sdMonHotel", Nouvelle_connexion) ALORS
Erreur("Erreur sur la déclaration externe : ", HErreurInfo())
RETOUR
FIN

HLitPremier(sdMonHotel)
Info(sdMonHotel.Nom)

Pour que ça fonctionne de mon côté j'ai du modifier la ligne suivante en retirant les "" pour sdMonHotel

SI PAS HDéclareExterne(".\Hotels.fic",sdMonHotel, Nouvelle_connexion)

Damien 10
03 jan. 2024

Dernière modification : 19/08/2024

Signaler une erreur ou faire une suggestion | Aide en ligne locale