Bonjour tout le monde. Donc voilà j´essaie de faire une application vb6 allant se connecter sur ma base de donnée mysql sur free. Donc aparament, ma connexion se passe bien mais ensuite lorsque j´essaie de lire les enregistrements de ma base de donnée, celà cloche.
Voici le code :
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)
Private Sub Form_Load()
Dim pMySQL As Long
pMySQL = mysql_init(0)
If mysql_real_connect(pMySQL, " sql.free.fr", " *****", " ****", " *******", 0, " ", 0) = 0 Then
MsgBox " Connexion Ok"
Call LitEnregistrements(pMySQL)
Else
MsgBox " Connexion Pas Ok"
´ . ..
End If
End Sub
Private Sub LitEnregistrements(pMySQL As Long)
Dim pMyROW As Long, myROW As Long, pLengths As Long, pMyRES As Long
Dim i As Long, j As Long, nbFields As Long, lengths() As Long, texte As String
If ( mysql_query(pMySQL, " select * from LivreOr") = 0) Then
pMyRES = mysql_store_result(pMySQL)
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
MsgBox texte
Next
Next
End If
End If
mysql_free_result ( pMyRES)
End If
Dim pMyErrorMsg As Long, myErrorMsg As String
pMyErrorMsg = mysql_error(pMySQL)
myErrorMsg = CopieChaine(pMyErrorMsg)
MsgBox ( myErrorMsg)
End Sub
Private Function CopieChaine(ByVal adresse As Long) As String
Dim ret As String
If adresse > 0 Then
ret = Space(256)
lstrcpy ret, adresse
ret = Trim(ret)
If ret < > " " Then CopieChaine = left(ret, Len(ret) - 1)
End If
End Function
Donc quen je lance ma form, il me dit Connexion Ok, mais ensuite lors de ma sub LitEnregistrement il me dit MySql server has gone away: où est le probléme ?
PS : j´ai load 3 modules de déclaration
Merci