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 versuchtIBTable1->Filteroptions << foCaseInsensitive;das hatte keinen Effekt.(hat nicht Groß-/Kleinschreibung ignoriert)
dannTFilterOptions 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östWHERE LNAME CONTAINING "smith"
CONTAINING is case-insensitive and
finds partial matches.Like:
Smith
SMITH
WordsmithCAUTION: 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
