Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Was mach tDataset intern? (https://www.delphipraxis.net/201139-mach-tdataset-intern.html)

Getox 26. Jun 2019 12:47

Delphi-Version: XE3

Was mach tDataset intern?
 
Hallo mal wieder,

ich habe mal eine Frage so rein aus Interesse.

Ich habe ein Dataset, mit dem ich zum Beispiel Personen abfrage. Sagen wir mal Name, Vorname und Geburtsdatum. Die Abfrage ergibt 30 Ergebnisse. Zu jedem dieser Ergebnisse kann ich dann zu jedem abgefragen Feld auf das TField Objekt zugreifen.

Wie ist das eigentlich intern gelöst? Habe ich im Dataset 90 Objekte TField (eins für jedes Feld pro Person) oder habe oder sind dort nur 3 TField-Objekte, die bei "next" immer neu aus irgendeinem Stringarray oder so befüllt werden? Oder habe ich erstmal intern überhaupt keine Field-Objekte und diese werden erst bei "FieldByName" erzeugt?

Danke :D

Neutral General 26. Jun 2019 13:14

AW: Was mach tDataset intern?
 
Grundlegend Variante 2: 3 Field-Objekte.
Wenn man weiter ins Detail gehen will wirds allerdings etwas komplizierter.

Uwe Raabe 26. Jun 2019 13:21

AW: Was mach tDataset intern?
 
TDataSet verwaltet intern eine Liste von Record-Buffern. Der aktuelle Datensatz entspricht dann einem dieser Buffer, aus dem sich die Feld-Komponenten dann bedienen. Die Liste muss aber nicht zwingend alle Datensätze enthalten. Je nach TDataSet-Ableitung wird auch schon mal nur eine bestimmte Anzahl im Speicher gehalten und bei Bedarf nachgeladen.


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