Friday, November 9, 2018
Code Windev réalisant une connexion à une base de données SQL Server
Code du projet qui appele la classe de connexion à la base de données
// Connexion à la base de données
cCnxBase.gsFichierIni = "Appli.ini" // Nom du fichier .INI avec paramétres de connexion à la base de données
SI cCnxBase.ConnexionBD() = -1 ALORS
Bip
FinProgramme ("Erreur lors de la lecture des paramètres de connexion à la base de données" + RC + "Arrêt du programme")
FIN
Exemple du fichier .INI :
[ParamCnx]
Serveur=MonServeur
Utilisateur=User_Test
MotDePasse=di5FmvXzGw // Valeur cryptée
Base=MaBase
Code exécutant une requête SQL via la connexion définie par la classe cCnxBase
PROCÉDURE Test()
s est une Source de Données
HExécuteRequêteSQL(s,cCnxBase.gConnexionBD, hRequêteSansCorrection ,"exec [Ma_Pro_Stock]") // Exécution d'une procédure stockée
FichierVersTableau(MonTableau_Graphe, s)
HLibèreRequête(s)
=======================================================================
Code de la classe cCnxBase
// Déclaration de cCnxBase
cCnxBase est une Classe
GLOBAL
gConnexionBD est une Connexion
gsFichierIni est une chaîne
gsCheminIni est une chaîne
gsNomServeur est une chaîne
gsUtilisateur est une chaîne
gsMotDePasse est une chaîne
gsBase est une chaîne
FIN
// ------------------------------------------------------------------
// Méthode ConnexionBD()
// Connexion à la base de données
PROCÉDURE PUBLIQUE GLOBALE ConnexionBD()
gsCheminIni=ComplèteRep(fRepExe()) + gsFichierIni
SI PAS fFichierExiste(gsCheminIni) ALORS
Bip
Erreur ("Le fichier de paramètres " + gsFichierIni + " n'est pas présent dans le répertoire de l'application '"+fRepExe()+"'"+RC+"Arrêt du programme")
RENVOYER -1
FIN
//Récupération du nom du serveur sql dans le fichier ini
gsNomServeur=INILit("ParamCnx","Serveur","",gsCheminIni)
SI gsNomServeur="" ALORS
Bip
FinProgramme ("Le paramètre 'Serveur' n'est pas présent dans fichier de paramètres " + gsFichierIni + RC + "Arrêt du programme")
RENVOYER -1
FIN
//Récupération de Utilisateur dans le fichier ini
gsUtilisateur=INILit("ParamCnx","Utilisateur","",gsCheminIni)
SI gsUtilisateur="" ALORS
Bip
FinProgramme ("Le paramètre 'Utilisateur' n'est pas présent dans fichier de paramètres " + gsFichierIni + RC + "Arrêt du programme")
RENVOYER -1
FIN
//Récupération de Mot De Passe dans le fichier ini
gsMotDePasse=INILit("ParamCnx","MotDePasse","",gsCheminIni)
SI gsMotDePasse="" ALORS
Bip
FinProgramme ("Le paramètre 'Mot De Passe' n'est pas présent dans fichier de paramètres " + gsFichierIni + RC + "Arrêt du programme")
RENVOYER -1
FIN
//Récupération de Base dans le fichier ini
gsBase=INILit("ParamCnx","Base","",gsCheminIni)
SI gsBase="" ALORS
Bip
FinProgramme ("Le paramètre 'Base' n'est pas présent dans fichier de paramètres " + gsFichierIni + RC + "Arrêt du programme")
RENVOYER -1
FIN
gConnexionBD..Source = gsNomServeur
gConnexionBD..Utilisateur = gsUtilisateur
gConnexionBD..MotDePasse = Décrypte(gsMotDePasse, "MaClé")
gConnexionBD..BaseDeDonnées = gsBase
gConnexionBD..Provider = hAccèsNatifSQLServer
gConnexionBD..Accès = hOLectureEcriture
SI HOuvreConnexion(gConnexionBD) = Faux ALORS
RENVOYER -1
SINON
HChangeConnexion("*",gConnexionBD)
RENVOYER 1
FIN
// Autre possibilité de connexion à la base (par programmation):
// HDécritConnexion()
// HChangeConnexion()
Monday, November 5, 2018
Subscribe to:
Comments (Atom)