Wenn die Anwendung unabhängig von der Datenbank sein soll würde ich ein Objekt-Persistentes Framework empfehlen. Es gibt da z.b. zwei Interessante Produkte für Delphi.
Zum ersten das BOLD Framework, welches allerdings nur in der Architect Version von Delphi 7 vorhanden ist. Genaugenommen ist das der einzige Unterschied zwischen der Enterprise und der Architect. Dieses Framework ist sehr mächtig aber leider auch sehr teuer.
Eine kostengünstige Alternative ist InstantObjects, welches bis vor ca. einem Jahr noch kommerziell von Seleqt vermarktet wurde. Mittlerweile ist es Open Source (
http://www.instantobjects.org).
Im Gegensatz zu einer normalen Datenbank arbeitet man nun mit Objekten, die auf physikalische Tabellen in der Datenbank gemappt sind. Diese persistenten Klassen werden entweder mit einem Model Explorer in der Delphi
IDE angelegt oder auch mit dem Model Maker.
Der Zugriff auf die Daten erfolgt nun nicht mehr mit
SQL sondern mit einer eigenen Abfragesprache für Objekte die stark an
SQL angelehnt ist, wie z.b.
select * from TKunden where Name = 'Muster'
Nebenbei kann man diese Datenklassen auch mit Ereignissen versehen.
Die entsprechende Datenbank wird auf Knopfdruck automatisch erzeugt.
Derzeit werden von InstantObjects folgende Datenbanken unterstützt: MS-
SQL, Sybase, Interbase, Firebird, DBISAM, ADS, NexusDB, FlashFiler, DBase,
Paradox und
XML-Files.
Wichtiger Hinweis noch: Das Projekt wird bei Sourceforge gehostet (
http://sf.net/projects/instantobjects), die downloadbare Version ist noch 1.6. Wenn man die aktuelle 1.7er haben möchte muss man sich diese aus dem
CVS auschecken (Empfehlenswert!).
Gruß,
Marcel