AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[OOP] Wie viele Daten aus der DB laden?

Ein Thema von TheMiller · begonnen am 17. Jan 2010 · letzter Beitrag vom 22. Jan 2010
 
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

[OOP] Wie viele Daten aus der DB laden?

  Alt 17. Jan 2010, 12:16
Hallo,

ist vielleicht ein blöder Titel, aber mir fällt nichts besseres als Titel ein - kann ihn aber später gerne ändern.

Ich habe eine Frage bezüglich dem Laden von Daten aus der Datenbank und der Speicherung in Objekte. Also, stellt euch vor, ich möchte Artikel aus einer Datenbank laden und in einer TreeView anzeigen. Ein Artikel enthält die Felder "ArtikelID (Int), OrdnerId(int), Titel (VarChar), ArtikelText(Blob/Text), ErstelltAm(int) ...."

So, jetzt lade ich also alle Artikel aus der Datenbank, erstelle Objekte und zeige sie in einer TreeView an. So kann momentan nur die ArtikelID (in TreeView.Data) und der Titel (in der Item-Caption) verwendet bzw. angezeigt werden. Alle anderen Daten werden erst angezeigt, wenn man den Artikel öffnet.

Die Frage ist jetzt, ob ich trotzdem gleich alle Daten aus der DB laden soll, oder ob ich mir erst bestimmte Felder ausgeben lassen und die anderen bei Bedarf nachladen soll. Immerhin würde es bestimmt einiges an Arbeitsspeicher verbrauchen, immer alle Daten abzufragen. Andererseits ist es auch mehr Arbeit, die Daten nachzuladen.

Hier mal mein "Nachlade-Modell"

Delphi-Quellcode:
procedure TJKDB.Read(DataObj: TObject; Teaser: Boolean = False);
begin
  if (DataObj) is TArticle then
  begin
    if (DataObj) is TKomCategory then
  begin
    SQL_Where:='"artikelid" = '+IntToStr(TKomArticle(DataObj).ID);

    SelectAll(jkKomArticles);
 
    TKomArticle(DataObj).ID:=getInteger('artikelid');
    TKomArticle(DataObj).Titel:=getString('titel');

    //Hier werden die Daten nachgeladen
    if not (Teaser) then
    begin
      TKomCategory(DataObj).Text:=getBlob('artikeltext');
      TKomCategory(DataObj).Erstellt:=getInteger('erstelltam');
      ...
      ...
    end;
  end;
end;
Welche Methode ist die bessere? Gleich alles auf einmal oder doch lieber Nachladen - wobei das mehr "Programmier"-Aufwand ist.

Danke im Voraus
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:21 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