Problème avec la connection à mysql

cyberjobiz Messages postés 4 Date d'inscription vendredi 11 juin 2004 Statut Membre Dernière intervention 9 mai 2007 - 6 janv. 2006 à 22:26
cyberjobiz Messages postés 4 Date d'inscription vendredi 11 juin 2004 Statut Membre Dernière intervention 9 mai 2007 - 7 janv. 2006 à 12:16
Bonjour,



Voici en quelques mots mon problème,

je tente d'accédé à une base de données mySQL via VB6 (je suis débutant
avec ce logiciel, mais j'ai déja des bases de VB aprés avoir fait pas
mal d'applics en VBA).



Donc voici le problème, tout d'abord mon code :



Dim test As New MYSQL_CONNECTION

Dim compteur As MYSQL_RS











Private Sub Form_Load()



test.OpenConnection "localhost", "root", "", "madb"



Set compteur = test.Execute("SELECT COUNT(*) As info FROM membres")



labelCompteur.Caption = compteur.Fields("info").Value



End Sub



chaque fois que je tente de l'exécuter je reçois le message d'erreur suivant :



Erreur d'exéction 429

Le composant activeX ne peut crée l'objet



Cette erreur survient à la ligne d'ouverture de la connection



(pour info, j'ai bien séclectionné dans "références" la référence
"mysqladod" et il semble reconnaitre mon objet car lorsque je tappe mon
code et que je met un point, le menu déroulant contenant les propriétés
et méthodes de mon objet "test" se mettent bien à l'écran)





Merci d'avance à tout qui pourra m'aider

4 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
7 janv. 2006 à 00:36
Salut
Bizarre car cette erreur n'apparait que lorsque tu utilises un OCX qui n'a pas été enregistré dans la base de registres ...
Quel OCX "spécial" utilises-tu dans ton application ?
Est-ce que tu es bioen sur la même machine que celle où tu as développé ?
Voir commande DOS RegSvr32 monFichier.OCX

Sinon, côté SQL, je pense que tu n'utilises pas la bonne méthode.
En ADODB (est-ce pareil en MySQL ?), pour envoyer les données dans un RecordSet, il faut utiliser cette syntaxe :
monRecordSet.Open "Select ...", maConnexion

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
7 janv. 2006 à 00:37
et réserver la méthode Execute aux commande "Insert Into" et "Delete From"
0
cyberjobiz Messages postés 4 Date d'inscription vendredi 11 juin 2004 Statut Membre Dernière intervention 9 mai 2007
7 janv. 2006 à 11:59
Salut,

Je ne pense pas utilisé d'OCX vraiment particulier, j'ai juste pris
dans les préférences "mysqladod" et "Microsoft ActiveX data object"
(bien que je ne pense pas qu'ils me servent à quelque chose dans ce
cas).



Sinon pour le côté SQL, je pense utilisé la bonne syntaxe car je me
suis inspiré de sources disponibles sur ce site, et du reste, la
méthode .open de mon objet recordset mysql n'existe pas, donc cela ne
fonctionne pas comme avec les adodb.



Je ne voit plus trop comment faire, peut être existe il une autre
méthode pour accédé à mySQL ? mais celle ci est la seul que j'ai
trouver, donc si quelqu'un a d'autres idées faites moi signe,
j'essaierai via une autre méthode (via ADODB par exemple, c'est
possible ???)



Merci d'avance pour votre aide
0
cyberjobiz Messages postés 4 Date d'inscription vendredi 11 juin 2004 Statut Membre Dernière intervention 9 mai 2007
7 janv. 2006 à 12:16
ça vas, je n'ai rien dit !

je vient de trouver une sollution à mon problème, j'utilise les adodb
comme je le fait habituelement pour access, voici mon code :



Dim conn As New ADODB.Connection

Dim rs As New ADODB.Recordset













Private Sub Form_Load()



conn.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=madb;USER=root;PASSWORD=;OPTION=3;port=3306;"





Call rs.Open("SELECT COUNT(*) As info FROM membres", conn, adOpenDynamic, adLockOptimistic)

labelCompteur.Caption = rs("info").Value





End Sub





Merci de ton aide et bonne continuation dans la prog
0
Rejoignez-nous