Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#18

AW: Tabelle durchsuchen ohne Angabe eines Feldnamens

  Alt 4. Dez 2011, 10:28
Stevies Variante ist nicht nur kürzer sondern auchwesentlich schneller,
aber man sollte sich bewust sein, daß bei ihm die Suchreihenfolge nicht unbedingt passend sein kann, denn es wird hier ja im Printip nach den Spalten gesucht.
Code:
DS1    . . . . .
DS2    . . . a .
DS3    . . . . .
DS4    . a . . .
DS5    . . . . .
DS6    . . a . a
Eine Suche nach "a" würde hier den 4. Datensatz finden nicht den 2. Datensatz.

Iwos Variante würde dagegen zuerst den Zweiten finden, aber z.B. eine fortsetzende Suche wäre nicht mäglich > "suche nächsten Fund".

Als Suche/Filter nach allen Funden würden beide Codes sogar den Datensatz 6 doppelt finden und man müßte diesen, falls nötig, manuell rausfiltern.
Wobei man bei Iwo nun einfach die innere schleife abbricht und schon alles nur noch einmal gelistet bekommt, was bei Stevies Code schon leider nicht so einfach möglich ist.



Im Prinzip wäre hier wohl, falls keine der beiden Varianten in Frage kommt das schon vorgeschlagene die Lösung.
- erstmal alle Spaltennamen besorgen und danach erst über alle Spalten gleichzeitig suchen
- - die Suchliste für Locate zusammenbauen
- - ein Statement für .Filter zusammenbauen
- - oder das SQL-Statement für eine Query zusammenbauen
- es gibt doch bestimmt ein SQL-Staement, welches die Spaltennamen liefert ... da könnte man dann ja alle eventuell nötigen SQLs verschachteln und zu einem einzigen Aufruf vermanschen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 4. Dez 2011 um 10:30 Uhr)
  Mit Zitat antworten Zitat