![]() |
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 |
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. ![]() Empfehlenswert ist "TkbmMem Table" aber auch die Komponenten aus der RX-Lib oder aus der JVCL sind gut geeignet. |
Re: Abfrageergebnisse in Liste speichern: was ist besser?
Die Farge ist nur: Warum zwischenspeichern?
|
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: |
Re: Abfrageergebnisse in Liste speichern: was ist besser?
Zitat:
Zitat:
|
Re: Abfrageergebnisse in Liste speichern: was ist besser?
Zitat:
Zitat:
Meinst Du wegen Transaktionen, sprich: Datensicherheit aka Konsistenz, oder wie? |
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...
|
Re: Abfrageergebnisse in Liste speichern: was ist besser?
Zitat:
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 11:20 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