IBTable1->FilterOptions ?? hilfe



  • hallo,

    Also ich verstehen da etwas nicht mit der Eigenschaft FilterOptions der
    TIBTable-Komponente.
    Ich benutze eine firebird datenbank die auch funktioniert und habe über
    IBTable1->Filter den Inhalt der Tabelle einsckränken können. Jetzt will ich ,wie ich in der hilfe gelesen habe über FilterOptions den Filter von Groß-/Kleinschreibung unabhängig machen.
    also hab ich zuerst versucht

    IBTable1->Filteroptions << foCaseInsensitive;
    

    das hatte keinen Effekt.(hat nicht Groß-/Kleinschreibung ignoriert)
    dann

    TFilterOptions filter1
    filter1 << foCaseinsensitive;
    IBTable1->Filteroptions = filter1;
    

    und

    IBTable1->FilterOptions = IBTAble1->FilterOptions << foCaseSensitive;
    

    brachten beide zur laufzeit die fehlermeldung: "nicht unterstütztes merkmal"
    was hab ich nur falsch gemacht 🙄
    das kann doch nicht so schwer sein?

    kann das an firebird liegen? eigentlich nicht,oder? das mit den filteroptions wird doch von c++ builder übernommen. Oder habe ich das alles komplett falsch verstanden. Würde mich nicht wundern.

    naja helft mir bitte 🙂
    mfg
    ricos



  • Hallo,

    Hast du auch mal das hier probiert.

    IBTable1->FilterOptions = IBTAble1->FilterOptions << foCaseInsensitive;
    

    oder waren das da oben nur Schreibfehler?
    Denn "foCaseinsensitive" und "foCaseSensitive" gibt es nicht. Es kann natürlich auch sein, dass Firebird das nicht unterstützt.
    Ich würde an deiner Stelle sowieso auf TIBTable verzichten und statt dessen TIBDataset oder TIBQuery nehmen. Da kannst du die Filterung schön über SQL-Queries erledigen (SELECT .. WHERE ...). TIBTable ist ja sowieso nur aus Kompatibilitätsgünden noch mit drin.

    Ciao



  • ja im quelltext hatte ich es richtig, klappt trotzdem nicht.
    Falls es jemanden interessiert, ich hab das ganze jetzt mit CONTAINING gelöst

    WHERE LNAME CONTAINING "smith"

    CONTAINING is case-insensitive and
    finds partial matches.

    Like:

    Smith
    SMITH
    Wordsmith

    CAUTION: Containing will not used indeces. For best performance, make sure to limit the query with other
    conditions if you need to run over a large table.

    kann mir aber jemand die warnung da erklären. warum schränkt es die performance ein, wenn die Indexe nicht benutzt werden? 😕



  • weil die indexe erstellt werden an Schlüsselfeldern um die Datensatzsuche schneller zu machen bzw. jede operation in der DB. <- so ungefähr also wenn du 100k Datensätze hasst kannst halt ma erst zur kaffeetasse greifen bevor wat passiert 😃


Anmelden zum Antworten