mySQL + RecordSet + Listbox

  1. 4 months ago

    Hallo zusammen,

    ich fülle ein Recordset mit Daten. Die Syntax ist richtig, wenn ich damit eine Abfrage mache.
    Aber ich habe irgendwie das Gefühl, das mein Recordset doch leer ist bzw. bleibt.

    Dim db As New MySQLCommunityServer
    db.Host = "***"
    db.Port = 3306
    db.DatabaseName = "test"
    db.UserName = "***"
    db.Password = "S***"
    
    DataList.deleteAllRows
    
    If db.Connect Then
      
      dim rs As recordSet
      rs=db.sqLSelect("SELECT name FROM test;")
      
      If db.Error Then
        MsgBox("Error: " + db.ErrorMessage)
        Return
      End If
      
      If rs<> Nil Then
        While Not rs.EOF
          
          Datalist.  <- Eintrag in die Liste?
          
          rs.MoveNext
        Wend
        rs.Close
      End If
      
    end if

    Nun wollte ich die Einträge aus dem Recordset in die Datalist eintragen, funktioniert aber nicht. Hab schon seit Stunden gegoogelt und gelesen.
    Es mag einfach nicht.

    Ich komme von VB.NET und da hab ich das immer mit dem Reader ausgelesen, allerdings mit SQL Server Anbindung.

    Vielleicht kann mir jemand auf die Sprünge helfen.

    Wie finde ich heraus, ob das Recordset überhaupt gefüllt ist und wie bekomme ich die Daten in die Listbox?

    Vielen Dank schon mal im Voraus.

    Gruß Peter

  2. Maximilian T

    Jul 29 Pre-Release Testers, Xojo Pro Europe, Germany, Berlin

    Nach db.connect würde ich db.error checken. Dann Breakpoints setzen und schauen, was da passiert. Generell musst Du Freundschaft mit dem Debugger schliessen. https://www.youtube.com/watch?v=RgK23y6Lq4Y

  3. Andre K

    Jul 29 Pre-Release Testers

    You dimmed rs within the if endif construction. This means rs is outof scope as soon as endif is executed.
    move the dim to before the if endif and everything should be ok and as Maximilian says allways check the db.error.

  4. Danke für die Hilfe. Hat sich erledigt. Manchmal sieht man den Wald vor lauter Bäumen nicht.
    Wenn ich die Methode nicht aufrufe, kann auch nichts passieren. Schlimm das man so ein Blackout hat.

    Funktioniert soweit. Werde mich mal mit den Spalten jetzt beschäftigen.

    Ist schon erstmal komisch der Umstieg, wenn man von VB.NET kommt und hier ein klein wenig anders denken muss.

    Gruß Peter

or Sign Up to reply!