Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Erfahrung mit query als DataSet-Ersatz? (https://www.delphipraxis.net/52270-erfahrung-mit-query-als-dataset-ersatz.html)

theBlind 26. Aug 2005 12:48

Datenbank: InterBase • Version: 6.0.2 • Zugriff über: SQL Query

Erfahrung mit query als DataSet-Ersatz?
 
Hiho alle!

Also ich bin gerade dabei mir zu überlegen, ob ich nicht in meinem momentanen DB Projekt sämtliche/viele DataSets durch Querys ersetzen soll. Damit will ich erreichen, das ich eine DBGrid komponente und eine Reihe von DBEdit komponenten sowie einen DBNavigator syncronisieren kann (kein Problem) und sie auch auf den "neuen" zurückgegebenen Daten, z.B. von einer Suche, als einheit verwenden kann.
Meine Idee wäre, anstelle einer DataSet komponente eine query zu nehmen und diese im onShow ereignis des enthaltenden forms mit
Code:
query.sql = select * from database
oder etwas entsprechendem zu initialisieren.
Dann habe ich ja den gleichen Datensatz vorliegen, wie wenn ich eine DataSet komponente benutzt hätte, oder?
Gibt das probleme? Irgendwelche hinterhältigkeiten?


Irgendwie kommt mir die Lösung zu einfach und vielseitig vor, um keine Propleme zu haben...

Danke im vorraus
-theBlind

Bernhard Geyer 26. Aug 2005 12:55

Re: Erfahrung mit query als DataSet-Ersatz?
 
Versteh ich jetzt nicht? :gruebel:
(T)Dataset ist doch die Basisklasse von TQuery oder welche Komponente meinst du genau?

Robert_G 26. Aug 2005 13:11

Re: Erfahrung mit query als DataSet-Ersatz?
 
"Zugriff über" Sollte die Zugriffstechnologie enthalten, dass es eine SQL Abfrage ist sollte doch offensichtlich sein. :roll:

Du musst dich also nicht wundern, wenn man sich nicht darum reißt dir zu helfen...

marabu 26. Aug 2005 18:38

Re: Erfahrung mit query als DataSet-Ersatz?
 
Bei der Klassifikation deines threads erwarten wir bei "Zugriff über" die Angabe des Komponenten-Sets, mit dem du arbeiten willst (IBX, IBO, ADO, ZEOS, ...) andernfalls die Angabe eines call level interface (CLI) - sonst weiß keiner um was es geht. Die Qualität deiner Frage steuert die Qualität der Antworten.

Mit Dataset meinst du vielleicht eher eine Table-Komponente. Dann liegst du richtig, wenn du die Flexibilität der Query-Komponente höher einschätzt. Hinter der Table-Komponente steckt ein bidirektionaler Datenbank-Cursor in Verbindung mit einer Total-Selektion aller Daten einer Datenbank-Tabelle. Mehr Effizienz erreichst du mit einer Query-Komponente natürlich nur dann, wenn du dort nicht gleich wieder das selbe machst (SELECT * FROM table).

Grüße vom marabu

theBlind 29. Aug 2005 07:20

Re: Erfahrung mit query als DataSet-Ersatz?
 
Zitat:

Bei der Klassifikation deines threads erwarten wir bei "Zugriff über" die Angabe des Komponenten-Sets, mit dem du arbeiten willst (IBX, IBO, ADO, ZEOS, ...) andernfalls die Angabe eines call level interface (CLI) - sonst weiß keiner um was es geht.
Ah, verstehe. Also es handelt sich um eine IBQuery aus den InterBase-Komponenten. <-- Das besser? Ich arbeite erst seit drei Wochen mit Delphi und genauso lange mit Datenbanken, kenn mich also noch nicht so sehr aus.
Ich war da wohl einem Denkfehler aufgesessen und konnte mit der, für mich, redundanz der Frage nix anfangen. Egal.

Zitat:

Mit Dataset meinst du vielleicht eher eine Table-Komponente. Dann liegst du richtig, wenn du die Flexibilität der Query-Komponente höher einschätzt. Hinter der Table-Komponente steckt ein bidirektionaler Datenbank-Cursor in Verbindung mit einer Total-Selektion aller Daten einer Datenbank-Tabelle. Mehr Effizienz erreichst du mit einer Query-Komponente natürlich nur dann, wenn du dort nicht gleich wieder das selbe machst (SELECT * FROM table).
Gut, danke schön. Anfänglich wird es zwar ein SELECT * FROM table sein, aber mir geht es eher darum, den angezeigten Datensatz einfach während der Laufzeit zu verändern (zB nach einer Suchanfrage oder sowas)
Ich hab es bis jetzt an meinem kleinen Testprogramm (mit entsprechend kleiner Testdatenbank) ausprobiert und es funktioniert wie erwartet.
Sobald ich mehr weiß, schreib ich nochmal.

Danke schön
theBlind


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:09 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