2012-04-05 20 views
5

Chciałbym znaleźć prosty przykład pracy ze zdalną bazą MySQL. Wiem, jest kilka samouczków w Internecie, wyjaśniających, jak skonfigurować ADODB.Connection i connectionstrings, ale nie mogłem sprawić, żeby to działało. Dzięki za pomoc!Próbka MySQL dla Visual Basic 6.0 - odczyt/zapis

Odpowiedz

6

Pobierz ODBC connector z MySQL download page.

Poszukaj po prawej connectionstring przez here.

W projekcie VB6 wybierz odniesienie do Microsoft ActiveX Data Objects 2.8 Library. Możliwe, że masz także bibliotekę 6.0, jeśli masz system Windows Vista lub Windows 7. Jeśli chcesz, aby twój program działał na klientach Windows XP, lepiej niż korzystaj z biblioteki 2.8. Jeśli masz system Windows 7 z dodatkiem SP 1, program nigdy nie będzie działał w żadnym innym systemie z niższą specyfikacją ze względu na błąd zgodności w dodatku SP1. Możesz przeczytać więcej o tym błędzie w KB2517589.

Ten kod powinien dostarczyć wystarczających informacji, aby rozpocząć korzystanie ze złącza ODBC.

Private Sub RunQuery() 
    Dim DBCon As adodb.connection 
    Dim Cmd As adodb.Command 
    Dim Rs As adodb.recordset 
    Dim strName As String 

    'Create a connection to the database 
    Set DBCon = New adodb.connection 
    DBCon.CursorLocation = adUseClient 
    'This is a connectionstring to a local MySQL server 
    DBCon.Open "Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=myDataBase; User=myUsername;Password=myPassword;Option=3;" 

    'Create a new command that will execute the query 
    Set Cmd = New adodb.Command 
    Cmd.ActiveConnection = DBCon 
    Cmd.CommandType = adCmdText 
    'This is your actual MySQL query 
    Cmd.CommandText = "SELECT Name from Customer WHERE ID = 1" 

    'Executes the query-command and puts the result into Rs (recordset) 
    Set Rs = Cmd.Execute 

    'Loop through the results of your recordset until there are no more records 
    Do While Not Rs.eof 
     'Put the value of field 'Name' into string variable 'Name' 
     strName = Rs("Name") 

     'Move to the next record in your resultset 
     Rs.MoveNext 
    Loop 

    'Close your database connection 
    DBCon.Close 

    'Delete all references 
    Set Rs = Nothing 
    Set Cmd = Nothing 
    Set DBCon = Nothing 
End Sub 
+0

Dziękuję, ale zwraca mi „nie można połączyć się z serwerem mysql na ...” za każdym razem staram się połączyć ... Sprawdziłem serwerze użytkownika i przekazać - wszystko jest poprawne – f1nn

+0

btw, na pewno użyłem ciąg połączenia dla dostępu ZDALNEGO – f1nn

+0

Co to jest pełny komunikat o błędzie? – Martin