Mysql Search und First leer anzeigen



  • Hallo Leutz

    Zu 1:

    Ich lade in die Listbox alle Daten aus der Datenbank aber ich möchte natürlich nur angegebn bekommen die User die mit den Identischen Namen in der Datenbank vorhanden sind. Aus Feld 1 und Name aus der Datenbank

    void __fastcall TForm4::Edit1KeyPress(TObject *Sender, char &Key)
    {
    Form1->MyDataSource1->DataSet->First();
    
    while (Form1->MyDataSource1->DataSet->Eof == false)
    {
    
    // Eintragen der Daten die In der Datenbank vorhanden sind leider alle
    
    ListBox1->Items->Add(Form1->MyDataSource1->DataSet->FieldByName("Name")->AsString); 		Form1->MyDataSource1->DataSet->Next();
    
    }
    }
    //---------------------------------------------------------------------------
    

    Zu 2:

    Wie bekomme ich nach dem Connect der Connectin Komponente nicht den ersten Datensatz angezeigt sonder einen leeren .

    Danke :xmas1:



  • Du könntest entweder mittels der TQuery-Komponente per SQL darauf zugreifen, d.h.

    SELECT * FROM Table WHERE Name = :Name
    

    oder aber in deiner Schleife den Namen vorher überpüfen, d.h.

    String sName = MyDataSource1->DataSet->FieldByName("Name")->AsString);
    if(sName == Edit1->Text) // <- eingetippter Name
      ListBox1->Items->Add(sName);
    

    Und benutze lieber ein TDataModule für deine DB-Komponenten anstatt auf ein anderes Formular zuzugreifen!
    Und die Komponenten solltest du auch gleich richtig benennen, nicht Form1, Edit1, ListBox1...).

    Und zu 2:
    Welcher Connect? Welcher Datansatz in welcher Komponente?


Anmelden zum Antworten