Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
Delphi XE4 Architect
|
AW: Query in thread ausführev: Wie Ergebnis zurück geben
4. Jun 2015, 19:02
1,2 Mio Datensätze auf Verdacht zu laden, weil gerade mal einige benötigt werden...
Wenn es sich dabei doch um Seriennummern handelt, die ja sowieso per Hand eigegeben werden, dann reicht es doch sicherlich aus, die benötigten Lookup-Daten erst zu holen, wenn die Anzahl der eingegeben Daten eine sinnvolle Vorauswahl zulassen (denn vorher blättert doch eh keiner) und damit die Datenmenge massiv einschränken.
Ansonsten mach es doch so, wie schon mit einem Timer vorgeschlagen:
Oder so.
Benutzer Tippt Zeichen
-> Thread starten um die Ergebnismenge erst mal zu holen
Tippt der Benutzer jetzt nächstes Zeichen, bevor der Thread beendet ist, dann
-> Thread abbrechen -> neuen Thread starten
usw.
Wenn aber Ergebnismenge zur Verfügung steht, bevor der Benutzer ein weiteres Zeichen eingegeben hat, dann kannst du ja die Ergebnismenge in dein Lookup kopieren.
Da der Benutzer eh auf die Ergebnismenge warten muss, wird er wahrscheinlich ein weiteres Zeichen eingeben, und dann brauchst du ja die vorherige Ergebnismenge nicht mehr, da sie Daten enthält, die eh nicht in Frage kommen.
Ich habe leider keine 1,2 Mio. Datensätze zur Hand, sonst würde ich es ausprobieren. Aber ich könnte mir gut vorstellen, dass es so ohne lästige Eingabepause recht flüssig laufen könnte.
Dieter 9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
|