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

VB 6 et antérieur Discussion :

[Vb6]Mysql


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 126
    Par défaut [Vb6]Mysql
    Salut,
    je me lance dans du Mysql avec Vb6 et pour comprendre je passe en debug le tuto situé http://rp.developpez.com/vb/tutoriels/mysql/ . J'ai tout fais comme indiqué (copie de la DLL dans c:/WINDOWS, ajout des modules dans mon projet)et mon code ressemble en gros à ceci au final:
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    Private Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" (ByVal lpString1 As Any, _
        ByVal lpString2 As Any) As Long
     
    Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, _
        Source As Any, ByVal Length As Long)
     
    Public Function loadData(strTab As String)
     
    Dim o_data As clsData
     
    Dim pMyROW As Long
    Dim myROW As Long
    Dim pLengths As Long
    Dim pMyRES As Long
    Dim i As Long
    Dim j As Long
    Dim nbFields As Long
    Dim lengths() As Long
    Dim texte As String
    Dim pMySQL As Long
     
    'initialisation de la connexion
    pMySQL = mysql_init(0)
     
    Set o_data = New clsData
     
    'connexion à la base
    If mysql_real_connect(pMySQL, "127.0.0.1", "root", "", "BUDGET", 0, "", 0) = 0 Then
        MsgBox ("Echec de la connexion à la base")
    Else
     
        If (mysql_query(pMySQL, "select ID, MONTANT, LIBELLE, SEMAINE, _DATE from TRANSACT_IN") = 0) Then
     
            pMyRES = mysql_store_result(pMySQL) '<--------------------------pMyRes a pour valeur 0, alors que ma table est remplie
     
            If (pMyRES <> 0) Then
     
                nbFields = mysql_num_fields(pMyRES)
                If nbFields > 0 Then
     
                    ReDim lengths(0 To nbFields - 1)
                    For i = 0 To mysql_num_rows(pMyRES) - 1
     
                        pMyROW = mysql_fetch_row(pMyRES)
                        CopyMemory myROW, ByVal pMyROW, 4
     
                        pLengths = mysql_fetch_lengths(pMyRES)
                        CopyMemory lengths(0), ByVal pLengths, 4 * nbFields
     
                        For j = 0 To nbFields - 1
                            texte = Space(lengths(j))
                            lstrcpy texte, myROW
                            myROW = myROW + lengths(j) + 1
                            ListBox1.AddItem texte
                        Next
                    Next
                End If
            End If
            mysql_free_result (pMyRES)
        End If
    End If
    'fermeture de la connexion
    mysql_close (pMySQL)
    End Function
    Question :

    Ne devrait-on pas mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (mysql_query(pMySQL, "select ID, MONTANT, LIBELLE, SEMAINE, _DATE from TRANSACT_IN") <> 0)
    Au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (mysql_query(pMySQL, "select ID, MONTANT, LIBELLE, SEMAINE, _DATE from TRANSACT_IN") = 0)
    ???

    De plus, comment expliquer le fait que pMYRES soit égale à 0 (la ligne a été mise en évidence dans le code), alors que la table passé en paramètre dans la requête est pleine ?

    Et enfin, pourquoi en debug, quand j'arrive à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (mysql_query(pMySQL, "select ID, MONTANT, LIBELLE, SEMAINE, _DATE from TRANSACT_IN") = 0)
    c'est égale à 0.

    Merci

  2. #2
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 126
    Par défaut
    encore un truc, le fichier libMysql.dll, je l'ai pris sur un site (après une recherche sur google), car je savais pas comment l'avoir... autrement.
    Mysql a été installé avec easyphp !
    Peut etre le problème viendrait-il de là ?

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

Discussions similaires

  1. [VB6][MYSQL] recuperer des données MySQL via PHP
    Par psykotox dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 18/01/2008, 12h25
  2. [VB6 MySQL / SQL Server]
    Par Essedik dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 01/04/2006, 00h08
  3. [VB6] MySQL Comment récupérer les données ?
    Par budylove dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 22/02/2006, 15h58
  4. [VB6 + Mysql]Gestion des erreurs de connexion
    Par Deejoh dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 25/01/2006, 21h01
  5. [VB6] + MySql
    Par Deejoh dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 24/01/2006, 18h05

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