AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken DataSet und die Datenbanklogik
Thema durchsuchen
Ansicht
Themen-Optionen

DataSet und die Datenbanklogik

Offene Frage von "Moebius97"
Ein Thema von Moebius97 · begonnen am 2. Nov 2010 · letzter Beitrag vom 29. Dez 2011
Antwort Antwort
Seite 2 von 2     12   
exilant

Registriert seit: 28. Jul 2006
134 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: DataSet und die Datenbanklogik

  Alt 2. Nov 2010, 11:48
[...] Das TDataSet ist deshalb so wichtig, um die Kompatibilität zu wahren. Wer sich nicht mal daran hält, der wird auf mittlere Sicht Schiffbruch erleiden. Siehe IBObjects. Lange nichts mehr davon gehört (Zeos nicht auch ? ). Aber im Endeffekt trotzdem logisch. Die TdataSet-Inkompatibilität hat dafür gesorgt, dass es sehr sehr viel Arbeit gibt. Mir wärs auch zu blöd das Rad jedesmal neu zu erfinden (z.B. TMyDbGrid + Co.) und noch an jede neue Delphi-Version anzupassen.
Man braucht TDataset nicht um "die Kompatibilität zu wahren". Man braucht TDataset schlicht garnicht.
Die ganzen TDB* Komponenten sind böse. Sie lösen wie schon gesagt das MVC auf. "Good practice" ist es, Daten mittels eines leichtgewichtigen Querys (unidirektional, nicht "lebendig", dafür aber schnell) in geeignete Datenstrukturen (Klassen, Listen von Klassen) einzulesen und via UPDATE und INSERT Statements entsprechender Methoden zu aktualisieren. Damit werden Abhängigkeiten vom DBMS, von GUI Komponenten und im weitesten Sinne sogar von der Programmierumgebung verhindert. Genau die Falle die Du oben beschreibst wird vermieden. Mr. Whartons IBObjects Problem war, nicht erkannt zu haben das Datasets ein Irrweg sind. IBObjects wollte wie die BDE sein, nur "besser".
Die Anzeige der Daten ist eine andere Baustelle. Statt TDb* benutzt man nicht-datengebundene Controls zur Visualisierung/Editierung. Das bringt flexibilität und Geschwindigkeit. Das rumhantieren auf "Tables" bzw. "Live Querys" ist eine Unart der ich zu Clipper/dBase Zeiten auch mal gefrönt habe. Und meine ersten Delphi/BDE Anwendungen sahen auch so aus. Aber die Zeit ist nicht stehen geblieben. Die 80er und 90er sind vorbei. Spätestens beim Einsatz fortgeschrittener Techniken wie ORMs kann man Datasets eh' vergessen. Ich kann wirklich nur jedem raten, sich von TDatsets fernzuhalten.
Anything, carried to the extreme, becomes insanity. (Exilant)
  Mit Zitat antworten Zitat
Benutzerbild von nachti1505
nachti1505

Registriert seit: 7. Apr 2007
188 Beiträge
 
Delphi 7 Enterprise
 
#12

AW: DataSet und die Datenbanklogik

  Alt 2. Nov 2010, 13:02
Zudem ist die Richtung falsch.
TDataset->TDataSource->TDBGrid

Aus der Nutzung von TDataset folgt, der Entwickler setzt noch ein TDataSource auf das Formular und aus der Nutzung der TDataSource folgt, der Entwickler nutzt ebenfalls das (bspw.) TDBGrid! Und schon hat man alles auf einem Forumlar, ganz entgegen dem MVC?

Ich wollte damit nur ausdrücken, dass meine Projekte eine zeitlang gelitten haben, nachdem ich das TDataSet (bzw. deren Nachfahren) entdeckte! Eben wegen oben genannter Kausalkette...

[ot]
Wie würdet ihre denn den Operator "aus x folgt y" darstellen, wenn nicht so "-->"?
[/ot]
  Mit Zitat antworten Zitat
Moebius97

Registriert seit: 1. Jul 2010
4 Beiträge
 
Delphi 2 Desktop
 
#13

AW: DataSet und die Datenbanklogik

  Alt 29. Dez 2011, 08:27
Hallo nochmal,
ich unhöflicher Mensch! Ich wollte hier nur nochmal
1. mich für die Antworten bedanken.
2. Dadurch fühlte ich mich darin bestärkt, Abstand von den Daten gebundenen Komponenten zu nehmen und die Mehrarbeit zu investieren. Erste Versionen laufen, und es sieht so aus, als könnte ich damit weiter entwickeln.
Veilen Dank und schöne Grüße,

Mario
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 10:13 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