![]() |
Wechselwirkung bei TQuery?
Hi, Ich hoffe Ihr könnt mir helfen.
Ich benutze Delphi 5, BDE + Interbase. Wenn ich diesen Sql selektiere und dann z.B in einem DBGrid anzeigen lasse.
Delphi-Quellcode:
und Später in einem anderen Query, der nicht zwingend mit dem obigen Code zu tun hat, ein Update oder Insert ausführe und der Query "aSelect" noch Active True ist.
aSelect.Sql.Text := 'Select * from Rechnungen'; //<-- ca eine Millionen Datensätze
aSelect.Active := True; z. B.:
Delphi-Quellcode:
Dann scheint es dass zuerst alle Daten des noch offenen Querys "aSelect" geholt werden(was natürlich sehr lange dauert),
aUpdate.Sql.Text := 'Update Kunden set NAME="TESTNAME" where ID=10';
aUpdate.ExecSql; die noch nicht im Speicher des Clients sind und danach erst der Update/Insert vom Query "aUpdate" ausgeführt wird. Woran kann das liegen? Kennt jemand von euch dieses Problem? Wie siehts mit DB-Express aus oder anderen Db-Components? Bin für jede Hilfe Dankbar. |
Re: Wechselwirkung bei TQuery?
Ich weiß es leider nicht mit Sicherheit, aber da die BDE bei offenen Queries client- wie serverseitig Ressourcen beansprucht (die Ergebnisse also cached), ist das möglich - kommt vielleicht auf DB und Treiber an.
Was ich aber weiß, ist dass dbExpress dieses Phänomen nicht haben wird: dbExpress gibt nur unidirektionale DataSets aus, die einmalig ausgelesen und beim Client gecached werden können. Bei Änderungen der zugrundliegenden Tabellen wird also auf automatischem Wege nichts passieren. |
Re: Wechselwirkung bei TQuery?
Ok, danke für den Tipp.
Dann werd ich's mal mit den DbExpress - Components probieren. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 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-2025 by Thomas Breitkreuz