Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#10

AW: Transaction auf Änderungen überprüfen

  Alt 6. Dez 2012, 10:49
Kurz nur meine, und nur meine , Meinung...

Ich habe früher auch mit datensensitiven Controls gearbeitet. Es war manchmal ein Krampf es vernünftig zum Laufen zu kriegen je komplexer das ganze wurde. Seit ich die Datensätze als Objekte abbilde (über eine Zwischenschicht) ist es viel einfacher und übersichtlicher. Man kann z.B. in den Objekten Informationen als Properties ablegen welche nicht in der Datenbank stehen.

Einfaches Beispiel:

Früher:
- Query -> DataSource -> DBGrid.
- Änderungen (Edit) an der Query
- zurückschreiben über ApplyUpdates
-> ging nicht bei komplexen Queries die Daten aus verschiedenen Tabellen beinhalten.
-> Transaktionssteuerung teilweise kompliziert bis unmöglich

Heute:
- Query -> DS werden zu Objekten gewandelt -> in generischer Objektlist abgelegt (Zwischenschicht)
- Listview z.B. -> Objekt Properties zur Visualisierung -> Objekt in Data abgelegt (Pointer auf das Objekt in Liste)
- über Data des Listvieweintrages kann man direkt auf das Objekt zugreifen, Properties ändern etc.
- jedes Objekt weiß dann selbst ob es geändert wurde (Property Changed z.B.)
- beim Speichern erledigt die "Zwischenschicht" den Datenbankzugriff und generiert die SQL Statements, Transaktionen etc.
--> Vorteil: Der Listview ist es egal wo die Daten herkommen... aus Datenbank, XML, CSV etc. und ist damit leicht austauschbar (Optik vieleicht)

Der RAD Ansatz geht, wie du schon sagtest, flöten... Ich habe aber das Gefühl, daß man seine Anwendung besser im Griff hat wenn man mit Objekten arbeitet. Der Aufwand ist natürlich höher. Rechnet sich aber je komplexer das wird.
  Mit Zitat antworten Zitat