Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Abfrageergebnisse in Liste speichern: was ist besser? (https://www.delphipraxis.net/68059-abfrageergebnisse-liste-speichern-ist-besser.html)

webcss 24. Apr 2006 08:55


Abfrageergebnisse in Liste speichern: was ist besser?
 
Hallo DPler,

ich möchte eine eigene Basisklasse definieren, in deren Ableitungen ich die Ergebnisse einer SQL-Abfrage zwischenspeichere.
Die abgefragten Felder sind immer gleich.
Welches ist die bessere Ausgangsklasse hierfür:
1: TList mit eigenem Object für Record
2: TObjectList (wie oben, nur einfacher zu Verwalten)
oder
3. TColletion (wie geht das genau?)

Danke schon mal für Eure Antworten :-D

shmia 24. Apr 2006 10:35

Re: Abfrageergebnisse in Liste speichern: was ist besser?
 
Wie wäre es mit einem Memory-Dataset?
Ein Memory-Dataset kann im Prinzip alles was ein "normales" Dataset auch kann.
http://www.torry.net/pages.php?id=572
Empfehlenswert ist "TkbmMem Table" aber auch die Komponenten aus der RX-Lib oder aus der JVCL sind gut geeignet.

mkinzler 24. Apr 2006 11:15

Re: Abfrageergebnisse in Liste speichern: was ist besser?
 
Die Farge ist nur: Warum zwischenspeichern?

webcss 24. Apr 2006 11:45

Re: Abfrageergebnisse in Liste speichern: was ist besser?
 
@shmia: MemDatasets sind mir natürlich bekannt, allerdings mag ich TDataset-Abkömlinge nicht. Ich möchte vielmehr eine schlanke OOP-Klasse.

@mkinzler: Die Antwort ist einfach: zur Anzeige ausserhalb einer Transaktion in einem Listview, um den VirtualMode zu nutzen. Außerdem habe ich dann eine zentrale Anlaufstelle (nämlich die Basisklasse), wenn sich die Datenbank oder die Zugriffskomponenten darauf ändern und muß nicht im kompletten Programm "rumwurschteln". :wink:

mkinzler 24. Apr 2006 11:51

Re: Abfrageergebnisse in Liste speichern: was ist besser?
 
Zitat:

@mkinzler: Die Antwort ist einfach: zur Anzeige ausserhalb einer Transaktion in einem Listview, um den VirtualMode zu nutzen.
Ein Listview hat doch selber eine Liststruktur.
Zitat:

Außerdem habe ich dann eine zentrale Anlaufstelle (nämlich die Basisklasse), wenn sich die Datenbank oder die Zugriffskomponenten darauf ändern und muß nicht im kompletten Programm "rumwurschteln".
Ich würde aus Sicherheitsgründen nichts zwischenspeichern.

webcss 24. Apr 2006 12:22

Re: Abfrageergebnisse in Liste speichern: was ist besser?
 
Zitat:

Zitat von mkinzler
Ein Listview hat doch selber eine Liststruktur.

Richtig, aber größere Ergebnismengen lassen sich dann langsamer laden -> Performance. Außerdem müsste ich mit diesem Ansatz doch wieder im Programm "rumwurschteln".
Zitat:

Ich würde aus Sicherheitsgründen nichts zwischenspeichern.
Wie soll ich das Verstehen? :gruebel:
Meinst Du wegen Transaktionen, sprich: Datensicherheit aka Konsistenz, oder wie?

alzaimar 24. Apr 2006 12:23

Re: Abfrageergebnisse in Liste speichern: was ist besser?
 
Blöde Frage: Wieso magst Du TDataset-Derivate nicht? Weil die EXE ein paar KB größer wird? Dafür hast Du dann viel weniger Arbeit... Ich habe diese Probleme dauernd und verwende ADO oder ein Memdataset. Allerdings arbeite ich mit den Komponenten von DevExpress, die die EXE sowieso um 4MB aufblähen...

mkinzler 24. Apr 2006 12:32

Re: Abfrageergebnisse in Liste speichern: was ist besser?
 
Zitat:

Zitat:
Ich würde aus Sicherheitsgründen nichts zwischenspeichern.

Wie soll ich das Verstehen? Grübelnd...
Ich würde das DS zentral z.B. in einem Datenmodul verwalten. Und nicht die werte zwischenspeichern, weil du dann spätestens bei MU-Zugriff Probleme kriegst.
Und wenn du unbedingt Zwischenergebnisse speichern willst, würde ich eine cachable DS( z.B. TClientDataSet) verwenden.


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