SimonLZ Geschrieben 19. Juni 2005 Geschrieben 19. Juni 2005 Hallo, ich habe es bereits hinbekommen, mit der dbExpress Komponente Daten in eine MYSQL DB zu schreiben. Allerdings scheiter ich gerade daran, Daten mit einer Bedinung wieder aus dieser DB zu lesen und sinnvoll in eine ListBox zu schreiben. Er schreibt mir immer nur einen Zahlencode rein. Memo1->Text = SQLConnection1->ExecuteDirect("SELECT * FROM invoice WHERE invoicenumber = '10000'"); So hab ich das ganze mal versucht. Allerdings liefert ja dieses ExecuteDirect keine Ergebnisse zurück. Kann mir hier jemand weiterhelfen? Zitieren
xmurrix Geschrieben 20. Juni 2005 Geschrieben 20. Juni 2005 Hallo, probiere es mal mit "TSQLDataSet" oder "TSQLQuery". Gruß xmurrix Zitieren
SimonLZ Geschrieben 20. Juni 2005 Autor Geschrieben 20. Juni 2005 Hallo, ich hab das ganze mir jetzt mal weiter angeguckt und mich durch die Hilfen gelesen. Ich hatte auch gedacht so müsste es klappen, aber leider bekomme ich mit folgendem Code immer die Fehlermeldung "Für diese Operation ist die Eigenschaft SQLConnection1 nötig". SQLConnection1 ist bei mir die Bezeichnung für die SQLConnection die eingerichtet ist und auch funktioniert (dbExpress->SQLConnection). TSQLQuery* Query = new TSQLQuery(this); Query->SQL->Clear(); Query->SQL->Add("SELECT * FROM invoice WHERE invoicenumber = '10000'"); Query->Open(); Der Fehler scheint an dem Open() zu liegen, aber damit rufe ich ja den Select Code auf, oder? :confused: Zitieren
xmurrix Geschrieben 21. Juni 2005 Geschrieben 21. Juni 2005 Hallo, ich habe bisher mit der dbExpress-Komponente nicht gearbeitet und meine Borland C++ Kenntnisse sind gering (Letztes Projekt vor 5 Jahren). Es scheint, dass die Verbindung zwischen SQLConnection und TSQLQuery fehlt. Kann es sein, dass man einer neuen TSQLQuery-Instanz, die SQLConnection1 übergeben muss TSQLQuery* Query = new TSQLQuery(SQLConnection1); oder vielleicht so: TSQLQuery* Query = SQLConnection1->Query; Gruß xmurrix Zitieren
SimonLZ Geschrieben 21. Juni 2005 Autor Geschrieben 21. Juni 2005 Also, die Lösung war, ich hab der Query noch die SQL Connection zuweisen müssen. Hier meine Lösung: TSQLQuery* Query = new TSQLQuery(this); Query->SQLConnection = SQLConnection1; Query->SQL->Clear(); Query->SQL->Add("SELECT * FROM invoice WHERE invoicenumber != '' ORDER BY invoicenumber DESC LIMIT 1 "); Query->Open(); Label10->Caption = Query->Fields->Fields[1]->AsString; delete Query; Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.