Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CONNEXION MYSQL SANS ODBC


Information sur la source

Catégorie :Base de Donnees Niveau : Initié Date de création : 30/03/2005 Date de mise à jour : 26/07/2005 17:37:30 Vu / téléchargé: 9 784 / 2 511

Note :
9 / 10 - par 2 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (15)
Ajouter un commentaire et/ou une note

Description

Classe de connexion a MySQL sans passer par l'odbc seulement avec les API en C et la librairie libMySQL.dll


 

Source

  • Call Voir sans le zip
Call Voir sans le zip

Conclusion

Fonctionne avec la version 4.1, il est nécessaire de mettre la dll libMySQL.dll fournis avec mysql dans le repertoire de l'application.
Merci a Romain Puyfoulhoux dont le source m'a aidé (j'ai récupéré les declarations de fonctions et structures, que j'ai néanmoins retravaillé car ses sources n'était plus à jour)
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

26 juillet 2005 11:01:00 :
MAJ du 26/07/2005 : ajout d'une fonction qui permet d'exporter directement dans un recordset ADODB
26 juillet 2005 17:37:30 :
petite erreur dans l exportation du recordset adodb au niveau des valeurs null

Commentaires et avis

signaler à un administrateur
Commentaire de LogOff le 30/03/2005 18:03:55

Je parviens à me connecter à mon serveur sql, mais que faut-il préciser en argument pour la fonction EnumTables ?

signaler à un administrateur
Commentaire de leteltel le 31/03/2005 10:07:38

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 |

signaler à un administrateur
Commentaire de LogOff le 31/03/2005 17:49:28

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

signaler à un administrateur
Commentaire de derick le 01/04/2005 08:19:26

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 ?

signaler à un administrateur
Commentaire de derick le 01/04/2005 08:21:09

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 !

signaler à un administrateur
Commentaire de leteltel le 01/04/2005 14:43:51

c normal chez free on ne peux accéder aux bases mysql que par leurs interfaces phpmyadmin...

signaler à un administrateur
Commentaire de LogOff le 02/04/2005 01:34:32

ok leteltel, je vais essayer en local

signaler à un administrateur
Commentaire de redtech2 le 24/10/2005 12:24:27

salut,

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

merci

signaler à un administrateur
Commentaire de vbsurfer le 06/12/2005 21:36:33

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

signaler à un administrateur
Commentaire de freddy1787 le 15/03/2006 18:07:10

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

signaler à un administrateur
Commentaire de m2rtech le 30/09/2006 22:11:28

Salut,

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

merci

signaler à un administrateur
Commentaire de jeffadsl le 30/12/2006 10:25:55

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

signaler à un administrateur
Commentaire de m2rtech le 25/05/2007 12:51:14

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

signaler à un administrateur
Commentaire de kkZ le 03/04/2008 02:41:05 10/10

Excellente source, fonctionne correctement en local comme à distance. Manque d'infos concernant l'utilisation (executer une requete, recuperer les résultats...).

Merci
kkZ

signaler à un administrateur
Commentaire de kkZ le 04/04/2008 14:41:09

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

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,484 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.