Suche, mit meldung wenn nihx gefunden..



  • So nachdem i mir tut mal etwas durchgelesen hab hab ich suche eigentlich geschafft!

    hier der text:

    Query1->Close();
    Query1->SQL->Clear();
    Query1->SQL->Add("select * from Table where Name like '" + Edit2->Text + "%'");
    Query1->Open();
    while (!Query1->Eof)
    {
    ListBox3->Items->Add(Query1->FieldByName("Name")->AsString);
    Query1->Next();
    }

    Das funktioniert auch, also ergibt es mir aus!

    Ich will aber, das wenn er nix gefunden hat, mir ne Msg gibt!
    Mit if-else hab ichs nich hinbekommen, da kam entweder nur meldung oder nie meldung...

    WO muss ich hier was verändern und einsetzten da mit es geht?

    danke



  • du könntest in deiner while-Schleife ne variable vom Typ bool auf true setzen und nach der while-schleife abfragen ob sie true ist und wenn nicht ne Fehlermeldung ausgeben

    Bsp:

    bool nichleer = false;
    while (!Query1->Eof) 
    { 
    ListBox3->Items->Add(Query1->FieldByName("Name")->AsString); 
    nichleer = true;
    Query1->Next(); 
    } 
    if (!nichtleer) ShowMessage("Keine Ergebnise vorhanden!");
    

    oder abfragen wieviele Datensätze du im Query erhalten hast und wenn die Null ist die Message rausbringen



  • Ah danke, werd das morgen ausprobieren...geb dann meldung!

    Hoffe es geht...

    danke =)!



  • Hallo,

    ich denke was Du brauchst ist das folgende:

    Query1->Close(); 
    Query1->SQL->Clear(); 
    Query1->SQL->Add("select * from Table where Name like '" + Edit2->Text + "%'"); 
    Query1->Open(); 
    if(Query1->RecordCount == 0)
    {
     ShowMessage("hierzu wurden keine Daten gefunden");
    }
    else
    {
     while (!Query1->Eof) 
     { 
      ListBox3->Items->Add(Query1->FieldByName("Name")->AsString); 
      Query1->Next(); 
     }
    }
    

    Ich hoffe damit ist Dir geholfen.



  • Hi, mir ist doch noch was aufgefallen:

    Bei Dir steht:

    Add("select * from Table where Name like '" + Edit2->Text + "%'");
    

    Nimm lieber dieses hier:

    Add("select * from Table where Name like '%" + Edit2->Text + "%'");
    

    Damit suchst Du (bei Namen Markus) nicht nur Mar% , sondern %Mar%.
    So sollte er auch Markus finden, wenn Du nur arku eingegeben hast.



  • na danke, hatte noch keine zeit das zu testen...werd aber beides machen!
    Meld mich dann wieder!

    Danke schonmal!

    serial!


Anmelden zum Antworten