IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[VB 2005] Utilisation de Base de donnée MySQL


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Momodedf
    Inscrit en
    Juillet 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2007
    Messages : 246
    Par défaut [VB 2005] Utilisation de Base de donnée MySQL
    Bonjour !

    Dans le cadre d'un stage il me faut developper une appliction permetant de piloter Excel (j'ai choisi VB pour utiliser l'interface COM d'Excel).
    Je dois alimenter ce fichier Excel depuis une Base de donnée MySQL (dont je me sers aussi pour d'autres outils).

    Mon probleme c'est que la MSDN ne donne aucune infos sur ça et mes recherches sur le net n'ont pas été trés fructueuses(quelques pistes sur ODBC ou l'API MySQL nottement ce tuto http://rp.developpez.com/vb/tutoriels/mysql mais j'avoue que c'est un peut flou pour moi).

    Voilà je cherche donc un moyen de me connecter (en lecture seule suffira pas besoin d'écriture si ça facilite les choses) à ma base MySQL pas trop compliqué (si possible éviter d'avoir à instaler une librairie sur le poste devant utiliser l'application.
    L'application sera instalée sur des postes personnels et la base sera sur un server local.

    Je vous remercie d'avance pour votre aide (n'hésitez pas à me demander un complément d'informations).

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Par défaut
    Et une petite recherche ici bas ?

    J'ai du donner le lien 20 fois. Aller tiens, soyons fou, voilà la 21ème

  3. #3
    Membre confirmé Avatar de Momodedf
    Inscrit en
    Juillet 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2007
    Messages : 246
    Par défaut
    Hum visual studio ne connait pas le type ODBC, est-ce qu'il faut ajouter une référence ?

    EDIT : j'ai pu trouver la référence à ajouter facilement je vais essayer ça.
    Je te remercie, je vous tiens au courant de l'évolution des choses.

  4. #4
    Membre confirmé Avatar de Momodedf
    Inscrit en
    Juillet 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2007
    Messages : 246
    Par défaut
    Avec la référence que j'ai ajoutée je ne peux utiliser ODBC qu'avec ADO mais ce n'est pas grave.
    Par contre ça me renvoit une erreur au débogage que je n'arrive pas à cibler :

    [Microsoft][Gestionnaire de pilotes ODBC] SOurce de données inrouvable et nom de pilote non spécifié.

    J'ai utilisé la syntaxe suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Dim conn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim fld As ADODB.Field
    Dim sql As String
     
    conn = New ADODB.Connection
    conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};"_
                            & "SERVER=localhost;"_ 
                            & " DATABASE=test_stage;"_
                            & "UID=root;PWD=; OPTION=3"
     
    conn.Open()
     
    rs = New ADODB.Recordset
    rs.CursorLocation = ADOBD.CursorLocationEnum.adUseServer
    rs.Open ("SELECT * FROM surf_recu", conn)
     
    Debug.Print(rs.RecordCount)
     
    rs.Close()
    J'ai essayé de remplacer localhost par 127.0.0.1 mais c'est pareil.
    Quand au nom de pilote je ne sais pas trop quoi faire. Faut il que j'instale un driver ?

  5. #5
    Membre confirmé Avatar de Momodedf
    Inscrit en
    Juillet 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2007
    Messages : 246
    Par défaut
    J'ai résolu ce probleme c'était le driver "MySQL ODBC 3.51 Driver" qui n'était pas installé sur mon pc.
    Pour ceux qui seraient dans le même cas que moi on peut le trouver à cette adresse :

    http://dev.mysql.com/downloads/connector/odbc/3.51.html

    Je vais maintenant essayer de recupere les résultat de mes requetes SQL et je ferais un peut topo à la fin pour les utilisateurs dans le même cas que moi (si je termine un jour ^^).

  6. #6
    Membre confirmé Avatar de Momodedf
    Inscrit en
    Juillet 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2007
    Messages : 246
    Par défaut
    Bonjour !
    Aprés avoir galeré pendant un petit moment je reviens aux nouvelles.

    Voilà j'ai réussi à me connecter à la BDD (du moins je crois) mais je n'arrive pas à choper les données.
    J'ai pas mal cherché sur le net mais je n'ai rien trouvé sur comment récuperer les données (ou alors des codes que je ne comprenais pas donc dans ces cas là mieux vaut eviter le C/C).

    Voici ce que j'ai essayé (je me doute bien que ce n'est pas bon vu que le type de retour serait plutot un array mais je n'allais pas venir les main vides).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    	Dim my_connect As ADODB.Connection
            Dim my_record As ADODB.Recordset
     
    	my_connect = New ADODB.Connection
            my_connect.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" _
                                        & "SERVER=localhost;" _
                                        & "DATABASE=test_stage;" _
                                        & "UID=root; PWD= ; OPTION=3"
     
            my_connect.Open()
     
            my_record = New ADODB.Recordset
     
            my_record.Open("SELECT * FROM surf_recu", my_connect, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly)
     
            Do While Not my_record.EOF
     
                onglet.Cells(compteurt, "A") = my_record.Index
                compteurt = compteurt + 1
                my_record.MoveNext()
     
            Loop
    N'hésitez pas à me demander le reste du code si vous en avez besoin (la partie de pilotage d'excel en bonne je l'ai déjà utilisée).

    Je vous remercie d'avance.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Android] Utiliser une base de données MySQL
    Par rodjarc dans le forum Applications mobiles
    Réponses: 1
    Dernier message: 02/06/2015, 22h59
  2. Réponses: 2
    Dernier message: 15/12/2011, 21h35
  3. Réponses: 4
    Dernier message: 12/04/2011, 10h38
  4. Réponses: 1
    Dernier message: 03/02/2010, 13h38
  5. Réponses: 2
    Dernier message: 01/02/2008, 16h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo