Einzelnen Beitrag anzeigen

hans ditter

Registriert seit: 25. Jun 2010
Ort: Niedersachsen
263 Beiträge
 
Turbo Delphi für Win32
 
#1

Daten aus Datenbank in Speicher halten?!

  Alt 2. Jan 2012, 23:40
Datenbank: SQLite • Version: 3 • Zugriff über: Delphikomponenten
Hallo an alle!

Hoffentlich seid ihr gut durch die Feiertage gekommen!

Ich habe mich in den Ferien mit Datenbanken beschäftigt und vor allem damit, wie ich die in eine Delphi-Anwendung einbinde.
Nun hab ich ein Projekt erstellt, dass meine DVDs verwaltet. Hierzu habe ich unter anderem die Tabelle (Tbl) 'Movies' erstellt, die die Informationen zu Titel, Regisseur, Schauspieler, Genre etc. aufnimmt.

Nun hab ich in der Anwendung eine Eingabemaske entworfen, die aus Edits und Memos besteht, die also jeweils nur einen Datensatz anzeigt oder einen neuen aufnehmen kann.

Nun hab ich mich gefragt, wie ich die Daten nun am Besten verarbeite, z.B. beim Navigieren. Im Moment ist es so, dass ich für einen Datensatz zurück die komplette Tabelle ('SELECT * FROM movies;') aus der DB hole und den n-ten Datensatz heraushole (n hab ich mir in einer Variable gemerkt). Danach wird die Tabelle wieder geschlossen.

Diese Art halte ich aus 2 Gründen für ungünstig: 1. es ist extrem umständlich und 2. (wichtiger) wird die Datenbank laufende Meter wieder neu geöffnet, eine neue Abfrage Tabelle erzeugt und dann wieder geschlossen.

Also dachte ich mir, kannste ja auch die ganze Tabelle in ein Programminternes Array speichern und somit immer zur Verfügung haben. Doch da hab ich mir gedacht, dass das ja enorm viel an Ressourcen verbraucht, vor allem wenn es an die tausende Datensätze geht, und es bei Multi-User-Zugriffen auch ein Problem der Aktualität geben könnte.

Nicht alle Dinge (z.B. Multi-User) treffen auf mein Projekt zu, sind ja aber wann anders vielleicht interessant. Also meine allgemeine Frage: Wie holt man sich Daten aus einer Datenbank um sie anzuzeigen, in ihnen zu navigieren und sie zu verändern, ohne z.B. ZEOS zu verwenden.

Die Frage ist halt nich auf mein Projekt speziell bezogen, sondern mehr generell, denn vlt kommt in Zukunft ja mal ein Projekt mit Multi-User und tausenden Datensätzen... man kann ja nie wissen!

LG; hans ditter
RudiRüsselSeineSocketKomponente - SirRufo (--> Chat mit PM)

Delphi Programming is the best one!
  Mit Zitat antworten Zitat