CONNEXION MYSQL SANS ODBC

cs_LogOff Messages postés 69 Date d'inscription dimanche 6 octobre 2002 Statut Membre Dernière intervention 14 juillet 2009 - 30 mars 2005 à 18:03
YannGotti Messages postés 36 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 29 décembre 2010 - 29 déc. 2010 à 16:37
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/30427-connexion-mysql-sans-odbc

YannGotti Messages postés 36 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 29 décembre 2010 1
29 déc. 2010 à 16:37
Presque 8 mois après... Mais il vaux mieux tard que jamais. C'était ça, et ça fonctionne. Merci!
McKelian Messages postés 1 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 29 décembre 2010
29 déc. 2010 à 16:34
Au cas où: Si erreur fonction non déclaré : Il faut aller dans les références et ajouter Microsoft OLE DB ActiveX Data Objects
YannGotti Messages postés 36 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 29 décembre 2010 1
3 mai 2010 à 10:29
Public Function ExportSnapToRs(Optional ByRef Retour As Boolean = False) As ADODB.Recordset

Je reprends juste le développement après plusieurs années; je ne sais pas pourquoi ça me renvoie une erreur fonction non déclarée.
Comment rajouter les ref necessaire pour recordset?
kkZ Messages postés 19 Date d'inscription mercredi 19 décembre 2001 Statut Membre Dernière intervention 30 avril 2008
4 avril 2008 à 14:41
j'ai essayé ca :

Set mySQL = New cBaseMysql
mySQL.SetServer "***"
mySQL.SetUser "***"
mySQL.SetPassword "***"
mySQL.SetDatabase "***"
mySQL.OpenMySQL
mySQL.OuvrirSnap ("SELECT DISTINCT champ FROM table LIMIT 3")
mySQL.ExportSnapToRs (True)

Avec des tests dans la classe, cela semble fonctionner mais lors de la ligne de la classe mysql : Set ExportSnapToRs = rsRetour, la valeur recordcount de rsRetour est à 3 et dans mon form, elle arrive à 0 avec erreur BOF ou EOF.

Comprend pas,
Merci pour vos réponses.

kkZ
kkZ Messages postés 19 Date d'inscription mercredi 19 décembre 2001 Statut Membre Dernière intervention 30 avril 2008
3 avril 2008 à 02:41
Excellente source, fonctionne correctement en local comme à distance. Manque d'infos concernant l'utilisation (executer une requete, recuperer les résultats...).

Merci
kkZ
m2rtech Messages postés 239 Date d'inscription mercredi 9 octobre 2002 Statut Membre Dernière intervention 20 février 2012
25 mai 2007 à 12:51
Salut,

comment récupérer une valeur d'un champs ?
j'ai essayé :
mavaleur = Mysql.rs("nom_du_champ")

mais ça marche pas.

Merci de m'éclairer
jeffadsl Messages postés 1 Date d'inscription mardi 28 janvier 2003 Statut Membre Dernière intervention 30 décembre 2006
30 déc. 2006 à 10:25
A tester :
Comment récupérer une IP (interne) FREE.FR
Ben tout simplement en passant par leurs propres proxy qu'ils mettent à disposition. Voir les infos sur leurs pages d'assistance.
J'avoue ne pas avoir testé avec MySQL mais ça vaut le cout de tenter la chose.
Maintenant reste à savoir si IP PROXY FREE.FR = Localhost chez eux....


Jeff
m2rtech Messages postés 239 Date d'inscription mercredi 9 octobre 2002 Statut Membre Dernière intervention 20 février 2012
30 sept. 2006 à 22:11
Salut,

lorsque le serveur a un soucis comment regler un timeout, histoire de ne pas attendre plusieurs dizaines de secondes ?

merci
freddy1787 Messages postés 60 Date d'inscription mardi 24 juin 2003 Statut Membre Dernière intervention 19 avril 2009
15 mars 2006 à 18:07
Bonjour,

Est-ce que quelqu'un pourrait me dire comment ressortir une string d'une requete?
Pour que, par exemple, lorsque je rentre l'adresse dans un champ
texte il aille me chercher le nom et me l'affiche dans un deuxieme textbox!!

resultat.Text = Requete("SELECT nom FROM adresse WHERE rue=nom_de_la_rue") ==> Un truc comme ça quoi!!

Merci beaucoup,

Freddy
vbsurfer Messages postés 8 Date d'inscription jeudi 30 décembre 2004 Statut Membre Dernière intervention 2 juin 2008
6 déc. 2005 à 21:36
salut,

perso j'ai arrive à me connecter à un server mysql en local installé via easyphp juste pour tester ton code.

j'ai bien recup libmySQL.dll (copiez dans le meme dossier ke le projet et même dans system32), insérer ton cBaseMySQL.cls

rajouter les ref necessaire pour recordset

mis le load suivant : (jai bien sur creer les bases et tables qui vont bien. ca a marché un temps uniquement pour le listing des tables et le insert into et puis la ca marche plus :(

Private Sub Form_Load()

Set mySQL = New cBaseMysql

mySQL.SetServer "localhost"
mySQL.SetUser "root"
mySQL.SetPassword "root"
mySQL.SetDatabase "test1"
mySQL.OpenMySQL

Me.Print "Connecté"
Me.Print "Obtention de la liste des tables..."

Me.Print mySQL.EnumTables

End Sub


tu pourait donné un exmple complet de tes fonction et dans kel ordre elle doivent être ececuté.

merci par avance,
VBsurfer
redtech2 Messages postés 1 Date d'inscription jeudi 11 septembre 2003 Statut Membre Dernière intervention 24 octobre 2005
24 oct. 2005 à 12:24
salut,

peut tu donner un exemple pour executer une requete renvoyant un recordset ?

merci
cs_LogOff Messages postés 69 Date d'inscription dimanche 6 octobre 2002 Statut Membre Dernière intervention 14 juillet 2009
2 avril 2005 à 01:34
ok leteltel, je vais essayer en local
leteltel Messages postés 8 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 10 février 2006
1 avril 2005 à 14:43
c normal chez free on ne peux accéder aux bases mysql que par leurs interfaces phpmyadmin...
cs_derick Messages postés 41 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 25 août 2007
1 avril 2005 à 08:21
Yark !
Ne tenez pas compte de mon précédent commentaire, j'ai fait un mauvais copier / coller (voilà ce qui arrive quand on fait pls choses à la fois !
cs_derick Messages postés 41 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 25 août 2007
1 avril 2005 à 08:19
Slt !
Ton progr donne pas mal d'infos, c cool ... mais
- Au chargement, j'ai le msg "trouve pas c:\windows\system32\wbem\wbemdisp.TLB"
Indispensable ce fichier ou pas ?
- tu n'as pas ajouté 'option explicit' : c'est voulu ?
cs_LogOff Messages postés 69 Date d'inscription dimanche 6 octobre 2002 Statut Membre Dernière intervention 14 juillet 2009
31 mars 2005 à 17:49
j'accède à la function EnumTables de cette façon :

Dim mySQL As cBaseMysql

Private Sub Form_Load()

Set mySQL = New cBaseMysql

mySQL.SetServer "sql.free.fr"
mySQL.SetUser "..."
mySQL.SetPassword "..."
mySQL.SetDatabase "..."
mySQL.OpenMySQL

Me.Print "Connecté"
Me.Print "Obtention de la liste des tables..."

Me.Print mySQL.EnumTables

End Sub


mais aucune table n'est listée
leteltel Messages postés 8 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 10 février 2006
31 mars 2005 à 10:07
en fait j'ai oublié de virer l'argument on ne passe pas d'arguments ila fonction =>

Public Function EnumTables() As String
Dim pMyRow As Long
Dim myrow As Long
Dim pMyRs As Long
Dim i As Long
Dim sRetour As String

On Error GoTo fin

pMyRs = mysql_list_tables(pMySQL, "")

If (pMyRs <> 0) Then
For i = 0 To mysql_num_rows(pMyRs) - 1
pMyRow = mysql_fetch_row(pMyRs)
CopyMemory myrow, ByVal pMyRow, 4
sRetour = sRetour & CopieChaine(pMyRow) & "|"
Next
mysql_free_result (pMyRs)
End If
If sRetour <> "" Then
sRetour = Mid(sRetour, 1, Len(sRetour) - 1)
End If
fin:
EnumTables = sRetour
End Function

elle retourne une chaine avec la liste des tables séparés par des |
cs_LogOff Messages postés 69 Date d'inscription dimanche 6 octobre 2002 Statut Membre Dernière intervention 14 juillet 2009
30 mars 2005 à 18:03
Je parviens à me connecter à mon serveur sql, mais que faut-il préciser en argument pour la fonction EnumTables ?