Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi IBDAC - Memdataset (https://www.delphipraxis.net/103336-ibdac-memdataset.html)

hanspeter 14. Nov 2007 14:59


IBDAC - Memdataset
 
Hallo,

ich probiere gerade die IBDac als Zugriffsmöglichkeit zu Firebird aus und muss sagen, das mir dieses Tool
zunehmend gefällt.

Ich habe gesehen, das eine Query ein Nachkomme von TMemdataset ist.

Meine Frage, gibt es eine Möglichkeit nach dem Lesen einer SQL Abfrage, die Transaction zu beenden und nur mit
dem Memdataset weiterzuarbeiten?

Also

Starttransaction
Lade Query-Daten (Memdataset)
Commit

Hintergrund ist, das ich den Zugriff auf die Datenbank kurz halten will, die gelesenen Daten für die Reporterzeugung
aber länger benötigt werden.
Beim Öffnen eines Report werden mehrere Lookup Dateien geladen.
Der Cursor bewegt sich mehrfach durch die Datenmenge und wird intern gesteuert.

Für einen Tip dankbar.


Mit Gruß Peter

hanspeter 14. Nov 2007 16:09

Re: IBDAC - Memdataset
 
Hat sich erledigt,

ich habe bereits die Lösung gefunden.
War halt zu einfach.

Delphi-Quellcode:
 if not IBCConnection.Connected then IBCConnection.Connect;
 IBCConnection.Options.DisconnectedMode := true;  // Hier wird eingestellt das Query nach Commit offen bleibt
 IBCTransaction1.StartTransaction;

 IBCQuery2.FetchAll := true;
 IBCQuery2.CachedUpdates := true;
 IBCQuery2.Open;
 IBCTransaction1.Commit;
 IBCConnection.Connected := false;  // Wahlfrei Connect schließen Query bleibt geöffnet
Mit Gruß
Peter

mkinzler 14. Nov 2007 16:25

Re: IBDAC - Memdataset
 
IBDAC bringt ein eigenes MemdataSet mit (VirtualTable), welches in Verbindung mit dem TCRDBGrid lokale Filterung und Sortierung zu ermöglichen.

hanspeter 15. Nov 2007 09:00

Re: IBDAC - Memdataset
 
Zitat:

Zitat von mkinzler
IBDAC bringt ein eigenes MemdataSet mit (VirtualTable), welches in Verbindung mit dem TCRDBGrid lokale Filterung und Sortierung zu ermöglichen.


Ja das verwende ich schon länger. Aber für meine Lösung wird dieses dadurch überflüssig.
Ich lese eine Query und trenne dann die Datenbankverbindung.
Das setzt mir, gerade in einem unsicheren Netz, die Netzlast sehr herab.
Ein weiterer Vorteil, ich kann den Datenbestand als XML abspeichern.

Ich habe übrigens zwischenzeitlich sowohl FibPlus als auch IBDac ausprobiert und muss sagen,
das mir IBDac besser gefällt.
Es ist etwas langsamer als FibPlus aber insgesamt schlanker.
Was mir positiv gefällt ist die Möglichkeit eine IBDAC - Lösung auch für andere Datenbanken wie z.B. SQL Server, MySQL u.s.w.
zu bekommen.
Wer interessiert ist, eine Fibplus Lizenz könnte ich jetzt abgeben.

Mit Gruß
Peter


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz