Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Arbeiten mit Daten? Array, Record, ClientDS? (https://www.delphipraxis.net/112477-arbeiten-mit-daten-array-record-clientds.html)

siles 22. Apr 2008 07:45


Arbeiten mit Daten? Array, Record, ClientDS?
 
Guten Morgen DP
Ich hätte eine Frage, die sich nicht spezifisch auf ein Problem bezieht, sondern eher, wie ich bei einer Aufgabe vorgehen soll.

Meine Aufgabe:
Das Erstellen einer Wissens-Datenbank für unsere Abteilung mit Hilfe von struktureller Programmierung mit Delphi 2007, sprich, es sollen Texte (Problemstellung, Lösung, Dateien als Anhänge etc.) als einen >Eintrag< erstellt werden können, die man einer Kategorie zuweist. Alle Daten sollen in einer MsSQL DB gespeichert werden.

Soweit so gut, die kategorisierte Struktur mit Id, Name, ParentId in der Datenbank hab ich gemacht und mit einer DynamicDBTreeView (VirtualTreeView) wird diese auch sauber angezeigt.

Dann habe ich ja eine Tabelle mit den Einträgen, die dann mit einer Kategorien ID zu der KategorienTabelle verknüpft ist.

Wenn ich eine Kategorie anklicke, zeigt es mir deren Einträge in einem zu einem Grid umfunktionierten DynamicDBTreeView an.

Nun die Frage:
Wie würde eine professioneller Delphi Programmierer vorgehen, um jetzt vorhandene Einträge anzuzeigen bzw. neue zu erfassen.

Die wohl nicht saubere Variante wie ich es gemacht hätte:
Ein AdoDataset mit einem Parameter erstellen und ihm immer die ID des ausgewählten Eintrages übergeben und dann den Eintrag mit Hilfe von DbEdit Komponenten die auf dieses AdoDS verknüpft sind ausgeben.

Damit würde ich aber dauerhaft auf der Datenbank arbeiten. Wenn ich einen neuen verfasse oder einen bestehenden ändern will, würde es nach jedem Feld direkt auf die Datenbank zugreifen.

Sauberer denke ich wäre, wenn ich die Daten erst "lokal" zusammenstelle, und dann mit einem Klick in die DB übertrage, so können sie vorher noch überprüft werden etc.


Wie würde das ein Delphi Spezialist machen? Arrays? Record? ClientDataset?...

Mit Klassen darf ich ja wohl nicht arbeiten wenn die Aufgabe lautet, es strukturell zu programmieren.

Vielen Dank für eine Hilfe

Ghostwalker 22. Apr 2008 13:03

Re: Arbeiten mit Daten? Array, Record, ClientDS?
 
Zitat:

Zitat von siles
Mit Klassen darf ich ja wohl nicht arbeiten wenn die Aufgabe lautet, es strukturell zu programmieren.

Dann dürftest du, streng genommen, auch keine Komponenten verwenden, da das ebenfalls Klassen sind. :mrgreen:

Ich denke, was hier gemeint ist mit strukturelle Programmierung, ist eher, das das Programm selbst einfach eine gewisse Struktur folgt, so das die Bedienung einheitlich ist. :)

Zu deiner Frage:

Da es sich um einen einzelnen Datensatz handelt, käme eine Klasse oder ein Record in frage. Der Vorteil einer Klasse wäre, das du die ganze Funktionalität, was man mit einem DS machen kann, in einem Objekt kapseln kannst (also löschen, neu, bearbeiten, anzeigen usw..).

siles 22. Apr 2008 14:30

Re: Arbeiten mit Daten? Array, Record, ClientDS?
 
Zitat:

Zitat von Ghostwalker
Zitat:

Zitat von siles
Mit Klassen darf ich ja wohl nicht arbeiten wenn die Aufgabe lautet, es strukturell zu programmieren.

Dann dürftest du, streng genommen, auch keine Komponenten verwenden, da das ebenfalls Klassen sind. :mrgreen:

Ich denke, was hier gemeint ist mit strukturelle Programmierung, ist eher, das das Programm selbst einfach eine gewisse Struktur folgt, so das die Bedienung einheitlich ist. :)

Zu deiner Frage:

Da es sich um einen einzelnen Datensatz handelt, käme eine Klasse oder ein Record in frage. Der Vorteil einer Klasse wäre, das du die ganze Funktionalität, was man mit einem DS machen kann, in einem Objekt kapseln kannst (also löschen, neu, bearbeiten, anzeigen usw..).

Hallo.

Das hört sich einleuchtend an :)
Vielen Dank


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