DBListBox füllen



  • Wie kann ich meine DBListBox mit Werten füllen? Sie bleibt einfach leer obwohl ich alles connectet habe. Und auch schon die Tabelle ausgewählt habe die er anzeigen soll.



  • Hi,

    Hast du auch die Datenfelder zugewiesen ?



  • ja nehmen wir mal meine Datenbank heist TEST die Tabelle heist Test2 und das Datenfeld ist Name und das hab ich bereits alles im Objektinspector ausgewählt. Aber sie bleibt trotzdem leer.



  • Also ich hab hier schon mal nach gefragt aber nie so richtig eine brauchbare Antwort bekommen. Dann hab ich mal im Internet rumgeschaut und das hier gefunden:

    while not EOF do 
    begin 
    DBListBox1.Items.Add(FieldByName('Name'); 
    end
    

    Ich will damit werte in eine DBListBox reinbekommen bloss ich weiß nicht so richtig wie ich diesen Code umschreiben muss ? Funktioniert das dann endlich das ich werte in der Box drinnen habe ?



  • HOHOHO hier die LÖSUNG für das Problem der DINGE 😃 *biggrins*

    void __fastcall TForm2::FormCreate(TObject *Sender)
    {
    
       int i;
       Query2->SQL->Clear();
       Query2->SQL->Add( "Select Name from Bilder" );
       Query2->Open();
       for ( i=0; i< Query2->RecordCount; i++ )
            {
            ListBox1->Items->Add ( Query2->FieldByName("Name")->AsString );
            Query2->Next();
            }
    }
    


  • Warum verknüpfst du die DBListBox nicht einfach mit der DataSource des Query?



  • weil das irgend wie nicht geklappt hat sie blieb einfach leer. Das war ja auch das komische *G* und hab im I-net nachgeschaut da gab es auch mehrer User die das gleiche Problem haben aber nie ne Antwort dazu kahm.



  • Dass du das Query erstmal ausführen musst, damit die Datenquelle auch Daten enthält, die dann in der DBListBox angezeigt werden können, dessen bist du dir aber (spätestens jetzt) bewusst?



  • ... tja jetzt ist die große Frage ob du das meinst wie ich das bei der ListBox gelöst habe oder was meinst du damit ?



  • Nein, ich meinte die direkte Verknüpfung zwischen DBListBox und Query.

    Dass das Query natürlich auch bei deinem "Umweg" ausgeführt werden muss ist ja wohl offensichlich. 😉



  • ok. wenn ich dich richtig verstanden habe soll ich bei DataSource der DBListBox auf das Query legen !?



  • Genau, das ist das Prinzip der ganzen DB-Komponenten. Das hätte dir nach Durcharbeiten des DB-Tutorials in der Hilfe (oder dem aus der FAQ) aber eigentlich klar sein sollen.



  • ok sagen wir mal so ich habe eine DBListBox1 die hat als DataSource die DataSource1. Das Query1 hat als DataSource nichts (hab das auch mal auf die gleiche DataSource gelegt wie DBListBox gelegt hat nichts gebracht das Ding blieb leer). Bei Connection hab ich da die ADOConnece drin.
    In DBListBox1 hab ich dann versucht Query1 als Datasource auszuwählen war bloss nicht anwählbar.
    ...
    Naja deshalb hab ich mich für die ListBox Variante entschieden oder hab ich irgend was übersehen ?



  • Fantasyfr schrieb:

    Das Query1 hat als DataSource nichts (hab das auch mal auf die gleiche DataSource gelegt wie DBListBox gelegt hat nichts gebracht das Ding blieb leer).

    Dann war das Query nicht (erfolgreich) ausgeführt worden und/oder du hattest bei der DBListBox das falsche bzw. gar kein Feld angegeben.

    Bitte, arbeite wenigstens eines der Tutorials durch, bevor wir uns hier weiter in Vermutungen ergehen müssen.



  • hey Jansen habs gelöst soll ich die Antwort nun posten oder nicht ?


Anmelden zum Antworten