MySql & VB ganz langsam. :)

  • VB6

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Maxim.

    MySql & VB ganz langsam. :)

    Hi Leute,

    ich habe die Möglichkeit im Studium ein Projekt mit VB zu realisieren. Da ich aber ein Neuling in dieser Sprache bin, brauche ich "viel" Hilfe, vor allem in DB Anbindung. Ich möchte mit VB auf eine mysql datenbank zugreifen.
    Xamp ist installiert VB 6 ist drauf, der MySQL ODBC 3.51 Driver ist installiert, doch die connection kann ich leider nicht realisieren. Sitze schon den ganzen Tag dran und komme nicht voran.
    Bitte um Hilfe oder Verweise, wo ich das nachlesen kann.

    Gruß
    Maxim
    das gleiche bzw. so ein ähnliches problem habe ich auch, kannst ja mal ein thread weiter oben schauen von mir....

    habe auch keine tutorials oder ähnliches gefunden, wie sowas realisiert wird.

    ich arbeite mit dem microsoft server 2005 version.
    Hi!

    Dieses Tutorial sollte dir weiterhelfen :)

    Du musst aber aufpassen, wass du als Treiber bem herstellen der Verbindung rein schreibst.

    Start->Systemsteuerung->Verwaltung->Datenquellen(ODBC)->BenutzerDNS und dann das, was rechts von mySQL steht abtippen.
    Wenn spaces drin sind am besten in geschwungene klammern packen, sollte aber auch ohne funzen.

    Wenn dus nicht schaffst, kann ich dir ja mal ein Beispiel schicken :)

    [EDIT]
    Ich kann dir / euch noch ein einfaches PHP-Basiertes MySQL-Tutor anbieten: *click*

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Mad Andy“ ()

    also ich habe jetzt folgenden Code eingebunden. Leider scheitert es an der letzten Zeile, die mit Verbinung anfängt. Ich verstehe auch nicht woher diese Variable kommt.

    Quellcode

    1. Private Sub Form_Load()
    2. Const cstrServer As String = "MERCURY"
    3. Const cstrDBName As String = "Test"
    4. Dim strConn As String
    5. Dim strUserName As String
    6. Dim strPassword As String
    7. ' Benutzerdaten
    8. strUserName = "root" 'Bitte keine Kommentare dazu ;-)
    9. strPassword = "1" 'Bitte keine Kommentare dazu ;-)
    10. ' Connection-String festlegen
    11. strConn = "Provider=MSDASQL;Driver=MySQL ODBC 3.51 Driver;" & "Server=" & cstrServer & ";Database=" & cstrDBName
    12. ' Connection öffnen
    13. Set Conn = New Connection
    14. Verbindung.Open strConn, strUserName, strPassword
    15. End Sub


    Bitte um dringende Hilfe.
    also ich habe jetzt die Connection hingekriegt. Und nun möchte ich in eine bestehende Tabelle mit hilfe der Variablen Daten einfügen.

    Visual Basic-Quellcode

    1. Dim conn As ADODB.Connection
    2. Dim rs As ADODB.Recordset
    3. Dim fld As ADODB.Field
    4. Dim sql As String
    5. Dim namea As String
    6. Dim vorname As String
    7. Dim alter As String
    8. Set conn = New ADODB.Connection
    9. conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" & "SERVER=localhost;" & " DATABASE=db1;" & "UID=root;PWD=; OPTION=3"
    10. conn.Open
    11. namea = txtName.Text
    12. vorname = txtVorname.Text
    13. alter = txtAlter.Text
    14. lblausgabe.Caption = namea
    15. 'direct insert
    16. conn.Execute "INSERT INTO benutzer values (namea)" 'und diese Variable soll eben übergeben werden. Wie ist die Syntax hier dazu?
    17. End Sub


    Ich möchte die Variablen aus einem Textfeld in die bestehende datenbank reinschreiben. Wie stelle ich das an .?
    hi!

    hier mal ein etwas komplexeres beispiel von einem meiner programme, wie eine insert into - query aussieht:

    Visual Basic-Quellcode

    1. Dim Query as ADODB.Command
    2. Set Query = New ADODB.Command
    3. Query.ActiveConnection = Conn
    4. Query.CommandText = "INSERT INTO " & _
    5. "`token`(`id`, `token`, `dir`, `path`, `del`) " & _
    6. "VALUES (NULL, '" & Token & "', '" & Dir & "', '" & Path & "', '0')"
    7. Query.Execute

    Also eine query wird im ideal-fall nicht direkt über die connection abgewikelt sondern über ein Command-Objekt.

    Wenn du mehrere Querys hast sieht das dann in etwa so aus:

    Visual Basic-Quellcode

    1. Dim Query as ADODB.Command
    2. 'Verbindung herstellen
    3. Set Query = New ADODB.Command
    4. Query.ActiveConnection = Conn
    5. Query.CommandText = "..."
    6. Query.Execute
    7. Query.CommandText = "..."
    8. Query.Execute
    9. 'etc...


    [EDIT]
    1. bitte keine doppel- & dreifachposts -.-
    2. ich sehe erst jetzt dein problem... du hast scheinbar keinen schimmer, wie du strings verknüpfst...

    das geht mit "statischer string" & variabler_string & "statischer string" & ...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Mad Andy“ ()

    hey,

    vielen Dank für die Beschreibung. Das funkts jetzt.
    Ich habe ein nächstes Problem.

    Und zwar möchte ich aus der datenbank auslesen. folgendes steht jetzt dank dir.

    Visual Basic-Quellcode

    1. suchename = txtNamesuchen
    2. Set Query = New ADODB.Command
    3. Query.ActiveConnection = conn
    4. Query.CommandText = "Select * from benutzer where name = '" & suchename & "'"


    wie kann ich jetzt die ergebnisse in die vorgesehene txtFelder reinbringen?
    Wäre sehr nett wenn du es mir noch sagen würdest.

    Vielen Dank nochmal für die Hilfe

    Gruß
    Maxim

    Visual Basic-Quellcode

    1. dim RS as ADODB.RecordSet
    2. Set RS = New ADODB.Recordset
    3. RS.CursorLocation = adUseClient
    4. RS.Open "Select * from TabUsers", Conn, adOpenKeyset, adLockReadOnly
    5. Do While Not RS.EOF
    6. Debug.Print RS.Fields("UID") & " " & _
    7. RS.Fields("Name") & ", " & RS.Fields("Vorname")
    8. RS.MoveNext
    9. Loop
    10. RS.Close

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Mad Andy“ ()

    Tut mir sorry,

    ich bin zu doff für das. Bitte nochmal.

    Also ich will das Ergebniss von der Abfrage in ein textfeld reinschreiben.
    z.B. liefert mir die Abfrage im objekt rs unter anderem den Wert für Name, welcher in der db hinterlegt ist.

    Und ich will jetzt z.b. diesen wert in txtName reinschreiben.
    also irgendwie txtName = rs.fields ('name') oder so. Geht das?