# Mit VB6 verbindung mit localem MySQL herstellen?



## bernimoses (18. Februar 2008)

*Über VB6 verbindung zum localem MySQL server herstellen?*

hi,
hab ein großes problem sitze hier und suche schon ewigkeiten nach einer guten lösung einfach und ohne zusatzprogramme ein programm mit vb6 zu schreiben, dass sich mit mysql verbindet und dann eine tabelle abändert.
Ich habe:
-  ein textfeld (zum eingeben der daten die in die mysql tabelle kommen)
-  einen button (um zu bestätigen und die übertragung zu starten)

ich hoffe das langt kann mir pls jemand helfen is echt dringend.


----------



## spirit (21. Februar 2008)

Hallöchen

Ja das ist ja sowas von einfach.....

Du benötigst 2 dll Dateien.
     1. MyVbQL.dll und libmySQL.dll die in dein Systemverzeichnis kommen und registriert werden müssen

     2. In deinem Projekt den Verweis auf MySql Visual Basic Api setzen.

     Am besten packst du den folgenden Code in ein Modul. 
     z.B. connDB.mod


```
' Variablen für den Datenbanc connect definieren
Public oConn As New MYSQL_CONNECTION
Public oRs As MYSQL_RS

' Verbindungsdaten
Public Const sServer As String = "ip zu deinen MysqlServer"
Public Const sUser As String = "Benutzername"
Public Const sPass As String = "Kennwort"
Public Const sDB As String = "Deine Datenbank"


' Datenbank verbinden
Public Function connect()
    oConn.OpenConnection sServer, sUser, sPass, sDB
    ' Statusabfrage für Verbindung
        If (oConn.State = MY_CONN_CLOSED) Then
        ' Falls Verbindung nicht geöffnet, Fehlerangabe!
        MySQL_Error
    End If
End Function

' Fehlerausgabe bei Verbindungsfehler
Public Function MySQL_Error() As Boolean
  With oConn.Error
    If .Number = 0 Then Exit Function
    MsgBox "Error " & .Number & ": " & .Description
    MySQL_Error = True
  End With
End Function
```

Jetzt kannst du mit connect direkt auf die Datenbankzgreifen.

Bsp:

```
connect
Set oRs = oConn.Execute("select irgendwas from irgendwo where irgendwas = 'suchbegriff'")
```


Na, ats dir geholfen


----------



## bernimoses (21. Februar 2008)

ja thx habs zwar noch ned ausprobiert aber des mit dem connect versteh ich noch ned ganz könntest du des besser erlätern. ich brauch doch angaben für tabelle spalte zeile und des was eingetragen werden soll? oder nicht? wo gehört den das hin? ach ja und brauch die zwei dll's dann auf jedem rechner wo ich das benutzen will?


----------



## spirit (22. Februar 2008)

Na das ist selbsterklärend...

Mit dem Aufruf 'connect' rufst du die Funktion zum verbinden auf. Es folgt keine weitere Angabe da die Verbindungsparameter schon in deiner Funktion hinterlegt sind. Sobald du 'connect' eingegeben hast, bist du (nur wenn deine Verbindungsdaten stimmen) mit der Datenbank verbunden und kannst mit SQL-Statements auf deine Datenbank zugreifen.

Die Funktion 'connect' macht eigendlich nichts anderes als mit den übergebenen public constanten (Verbindungsdaten) eine Verbindung herzustellen. Falls dabei ein Fehler auftreten sollte, wird eine fehlermeldung (mysql_error) ausgegeben. Diesen Fehler kann man für seine Arbeit nutzen:

Beispiel:


```
Public Sub command1_click()
    ' Verbindung herstellen
    connect

    ' SQL Befehl ausführen
    set ors = oconn.execute("SELECT * FROM TABELLE WHERE FELD = 'BEGRIFF' ")

    ' Fehlerbehandlung
    If oconn.error.number <> 0 ' Wenn Fehler dann Fehlerausgabe und Sub verlassen
        echo mysql_error()
        exit sub
    else
        Weiterverarbeitung
    End If
   
    ' Verbindung zur datenbank schleissen
    oConn.CloseConnection

End Sub
```



> ich brauch doch angaben für tabelle spalte zeile und des was eingetragen werden soll? oder nicht? wo gehört den das hin?



Hast du eigendlich schonmal mit MySql gearbeitet ?  Kennst du die Syntax ?  Ich kann dir die Angaben für deine Tabellen nicht liefern. Die erstellst du selber und solltest deine Datenbankstruktur kennen. Ohne explizit bekannte Tabellen und Feldnamen wirst du nicht weit kommen. 



> ach ja und brauch die zwei dll's dann auf jedem rechner wo ich das benutzen will?



Ich gehe mal davon aus das du deine Anwendung per Assistenten verpackst. Dabei werden diese beiden DLL´s mit 'eingepackt' und bei einer Installation auf den Clien-PC´s mit kopiert.

So, ich denke mal das wird dir ein wenig Licht ins dunkel bringen


----------



## bernimoses (22. Februar 2008)

ok thx hilft mir gut weiter aber des mit dem asistenten zum verpacken versteh ich nicht! ich hab mein prog geschrieben und dann geh ich doch  publish und build und dann hab ich meine exe aber wenn ich die ausführe entpackt sich doch nix! und außerdem find ich niergends die myvbql.dll hast du die zufällig?


----------



## help-me (9. März 2010)

gibt es noch eine andere einfache möglichkeit? problem ist nämlich dass sich die dll's unter win7 64-bit nicht registrieren lassen


----------



## Yaslaw (9. März 2010)

über ODBC?
http://www.connectionstrings.com/mysql


----------

