Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

AW: Tabelle durchsuchen ohne Angabe eines Feldnamens

  Alt 4. Dez 2011, 09: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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

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