Hallo Freaks,
ich habe folgendes Problem. Ein Anwender kann sich Datensätze aus einer sehr grossen C/S-Datenbank (Informix) suchen. Zur Formulierung seiner Suche stehen ihm Maskenfelder zur Verfügung, aus denen dann eine Query (Join über mehrere Tabellen) formuliert wird.
Eine ungeschickte Maskeneingabe mit Jokerzeichen führt zu sehr grossen
Datenmengen und somit zu sehr langen Antwortszeiten.
Unter diesen Umständen soll dem Anwender eine Möglichkeit zum Abbruch der
gestarteten Abfrage gegeben werden.
Um zu vermeiden, dass sich der Haupt-Thread währen der Abfrage tot stellt, habe ich das Öffnen der Query in einen zweiten Thread ausgelagert.
Ich habe schon folgendes ohne Erfolg versucht:
- TerminateThread .. Der Thread reagiert erst wenn die Query fertig ist
- dbiCloseCursor .. ein Cursorhandle wird offenbar erst nach dem prepare erstellt
Wenn jemand eine Lösung kennt bitte ich dringend um Nachricht
Dieter
ich habe folgendes Problem. Ein Anwender kann sich Datensätze aus einer sehr grossen C/S-Datenbank (Informix) suchen. Zur Formulierung seiner Suche stehen ihm Maskenfelder zur Verfügung, aus denen dann eine Query (Join über mehrere Tabellen) formuliert wird.
Eine ungeschickte Maskeneingabe mit Jokerzeichen führt zu sehr grossen
Datenmengen und somit zu sehr langen Antwortszeiten.
Unter diesen Umständen soll dem Anwender eine Möglichkeit zum Abbruch der
gestarteten Abfrage gegeben werden.
Um zu vermeiden, dass sich der Haupt-Thread währen der Abfrage tot stellt, habe ich das Öffnen der Query in einen zweiten Thread ausgelagert.
Ich habe schon folgendes ohne Erfolg versucht:
- TerminateThread .. Der Thread reagiert erst wenn die Query fertig ist
- dbiCloseCursor .. ein Cursorhandle wird offenbar erst nach dem prepare erstellt
Wenn jemand eine Lösung kennt bitte ich dringend um Nachricht
Dieter
Comment