Re: connection bd avec un ActiveX du type VSFlexGrid

Posté par drcharly93 le 13/4/2004 10:37:43
Bonjour,

Si tu possède un driver ODBC cela ne devrait pas poser de problème.

La première chose à faire , c'est de créer un fichier UDL

Comment créer un fichier UDL
-dans le répertoire de votre application creér un nouveau fichier texte vide.
-Changer l'extension du fichier de .txt en .udl
-Double cliquer su le fichier, et dans l'onglet fournisseur sélectionner le fournisseur adéquate (ici OLE DB provider for ODBC Drivers
-Dans l'onglet Connexion sélectionner la source de donnée voulue ainsi que le nom d'utilisateur et le mot de passe.
Cocher Autoriser l'enregistrement du mot de passe.
-Tester la connexion si la connexion fonctionne alors vous allez pouvoir commencer
-Renommer la connexion par exemple comme test.udl

Utilisation de la classe cADO
-importer la classe cADO
-Déclarer une instance de la classe

MaBdd est un objet cADO(<Chemin du fichier 
udl>+"\test.udl")
ADO_Rs est un objet automation dynamique
Sql est une chaine

Sql "SELECT * FROM " + <MaTable>
SI PAS MaBdd:OpenDataBase() ALORS
	Erreur("Imposible d'ouvrir la base" + CR + MaBdd:GetDbEngineErrors())
	RETOUR
FIN
SI PAS MaBdd:OpenRs(Sql, ADO_Rs) ALORS
		Erreur("Imposible de d'ouvrir un RecordSet " + RC + MaBdd:GetDbEngineErrors())
		RETOUR
	FIN
Info(MaBdd:RecordCount(ADO_Rs)+ " Enregistrements trouvés.)
TANTQUE PAS ADO_Rs>>EOF() ALORS
 INFO(ADO_Rs>>Fields("<Nom d'un champ de la table>")>>Value)
 ADO_Rs>>MoveNext()
FIN


Voilà dans ce code vous avez
-La connexion à la base de données via le fichier UDL
-La création d'un RecordSet contenant les données correspondant à la requête SQL
-Une méthode pour récupérer le nombre d'enregistrement correspondant à la requête
-Une méthode pour parcourir les données de la requête.


Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=12&topic_id=747&post_id=2997