![]() |
Datenbank: MySQL • Version: 5.1 • Zugriff über: ZeosLib
Mehrere ZQuerys
Hallo!
Habe (wiedermal) zwei kleine Fragen. Diesmal wegen der ZQuery-Komponente: 1.) Ich möchte mehrere SQLs per onTimer-Event ausführen. Wie geht man hier am besten vor? Erstellt man mehrere ZQuerys und weist man jedem davon ein SQL fix zu, oder löscht man das SQL per SQL.Clear raus und schreibt dann das andere hinein? 2.) Wenn ich das Query per ZQuery1.Open öffne und Daten ändern sich inzwischen in der DB - kann ich auf diese dann gleich zugreifen? Hoffe meine Fragestellung ist nicht zu verwirrend. :) Danke und grüße Christian |
Re: Mehrere ZQuerys
Wenn die selben Abfragen öfters verwendet werden, würde ich eigene Komponenten verwenden.
|
Re: Mehrere ZQuerys
Danke mkinzler!
Die zweite Antwort habe ich gerade 'ergooglet': Ich muss (anscheined) mit ZQuery1.Refresh; die Daten aktualisieren. Stimmt das? |
Re: Mehrere ZQuerys
Kommt zusätzlich auch noch auf das DBMS und de Transaktionseinstellungen (wenn vom DBMS unterstützt) an.
|
Re: Mehrere ZQuerys
in meinem Fall wäre das MySQL mit MyISAM als Storageengine. Also keine Transaktionen.
|
Re: Mehrere ZQuerys
Du nimmst ein TDataModule und knallst dort 4 oder 20 ZQuerys drauf.
Dann gibts Du jedem Query einen anständigen Namen (Query1 bis Query20 sind keine Namen). Nun kannst Du jedem Query ein SQL geben und die Daten halten, solange Du sie brauchst. |
Re: Mehrere ZQuerys
Danke für den Tipp - werd ich ausprobieren.
Zitat:
Wenn ich die Querys offen lasse, werden sie nicht aktualisiert, oder? |
Re: Mehrere ZQuerys
Hallo,
das Verhalten ist normal (und auch so gewollt). Ein Query zeigt die Daten an, die zum Zeitpunkt des Query.Open in der Tabelle (dem SQL-Statement) sind. Abhilfe schafft hier Close; Open; oder auch Refresh. Zu der Frage mit den SQL.Clear; Ich mache das genau so. Warum soll ich für jedes Statement eine eigene Query benutzen ? Ausnahme: Die Query wird oft aufgerufen und ist parametrisiert (prepared query). Zeos prepared die Query ja selber. Prepare bringt (unter Firebird) ungefähr Faktor 2 Geschwindigkeit mehr. Kommt aber immer auf den Kontext das Aufrufes an. Heiko |
Re: Mehrere ZQuerys
Danke Hoika,
meine Frage ist nun beantwortet. Ich werde - weil es eigentlich nur 2 Querys sind - für jedes eine ZQuery verwenden, da es um einiges weniger an Arbeit ist und ich von der Performance her auch keine Probleme feststellen konnte. Grüße Christian |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:34 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