![]() |
Interfaces "zwischenspeichern"
Ich stehe aktuell vor folgendem Problem:
Ich arbeite mit den ZEOSLib Datenbankkomponenten und möchte mir gewisse Query-Ergebnismengen von verschiedenen Select-Befehlen zwischenspeichern, um später wieder darauf zurückgreifen zu können. Ich verwende eine Query-Komponente, die nach jedem Select-Befehl mir ein Resultat vom Interface "IZResultSet" zurück gibt. Spontan hatte ich versucht mit einer TObjectList zu arbeiten, aber die nimmt ja nur Nachfahren von TObject auf und keine Interfaces. Und für jedes zwischenzuspeichernde Ergebnis ein eigenes Query-Objekt anzulegen, das ich dann in einer TObjectList speichere, kann doch auch nicht des Rätsels Lösung sein. Oder werde ich da gar nicht drum herum kommen? Kann ich die Ergebnisse überhaupt zwischenspeichern oder sind die beim nächsten Query.Open (also beim Absenden einer neuen Anfrage) mit den neuen Ergebnissen überschrieben (bin jetzt nicht soooo der Interface-Guru, daher weiß ich das gerade leider nicht). |
Re: Interfaces "zwischenspeichern"
Object -> TObjectList
Interface -> TInterfaceList |
Re: Interfaces "zwischenspeichern"
:wall:
So einfach kann eine Lösung sein... Ist nur die Frage, ob sich das "Objekt" hinter dem Interface ändert, wenn ich ein neues Select ausführe, aber das probiere ich nun einfach mal aus :-D . |
Re: Interfaces "zwischenspeichern"
Scheint nicht so zu funktionieren, wie ich mir das vorgestellt hatte :( . Die alten Query-Ergebnisse werden bei neuen Select-Befehlen verworfen.
|
Re: Interfaces "zwischenspeichern"
Haben alle Query-Ergebnisse die gleiche Struktur?
Falls ja, dann kannst du die Ergebnisse in ein Memory-Dataset kopieren. |
Re: Interfaces "zwischenspeichern"
Leider nein. Die Strukturen unterscheiden sich jeweils, weil die Abfragen auf verschiedene Tabellen laufen.
Bleibt für mich der einzig gangbare Weg, jeweils ein eigenes Query-Objekt anzulegen. Nur stellt sich dann die Frage, wieviele gleichzeitig geöffnete Queries der PostgreSQL-Server bzw. auch der Rechner, auf dem das Programm später laufen soll, überhaupt verträgt. Was ist da so die Obergrenze von gleichzeitig aktiven Query-Objekten, wenn sich alle die gleiche Connection teilen würden? |
Re: Interfaces "zwischenspeichern"
Zitat:
Die Anzahl gleichzeitig verfügbarer Abfragen ist dann durch den Speicher des Client-Rechners begrenzt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz