AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Tabelle mittels ZEOS-Komponenten anlegen
Thema durchsuchen
Ansicht
Themen-Optionen

Tabelle mittels ZEOS-Komponenten anlegen

Ein Thema von messinger · begonnen am 3. Dez 2009 · letzter Beitrag vom 4. Dez 2009
 
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Tabelle mittels ZEOS-Komponenten anlegen

  Alt 4. Dez 2009, 01:13
Schreib dir eine Klasse, die deine Felder in SQL übersetzt.
Hier das Grundkonzept:
Delphi-Quellcode:
TCreateTableBuilder = class(TObject)
private
   FSQL : TStringList;
public
   procedure AddStringField(const fname:string; len:integer; AllowNull:boolean);virtual;
   procedure AddBooleanField(const fname:string; AllowNull:boolean);virtual;
   ...
   property TableName:string;
   property SQL:TStrings read FSQL;
end;
Vor dieser Klasse gibt es dann jeweils eine Ableitung für die verschiedenen Datenbanken.
Du könntest auch die vorhandenen Klassen TFieldDef und TFieldDefs benützen und daraus die CREATE TABLE Anweisung generieren.

ADOX funktioniert nur für MS SQL Server und MS Access zufriedenstellend.

Und dann gibt es noch ein Grundsatzproblem:
Es gibt z.B. Kunden, die möchten unbedingt Oracle einsetzen; andere möchten IBM DB2 (eine ganz furchtbare Datenbank!).
Gibt man diesen Wünschen nach, dann ist das fast schon die Garantie für's Scheitern.
Hast du genug Manpower, um die Anwendung auf allen diesen Datenbanken zu testen?
Reicht der kleinste gemeinsame Nenner aller Datenbanken aus um darauf ein vernüftiges Programm aufzusetzen?
Hast du genug Hardware um für jeden Datenbankhersteller einen Server bereitzuhalten?
Ist dir klar, dass manche Feldnamen auf Datenbank A erlaubt sind, dagegen auf Datenbank B ein Schlüsselwort darstellen?
Bei mehr als drei Datenbanken, die unterstützt werden sollen wird's dann extrem unproduktiv.

Man muss auch zwischen der eigenen Datenbank für die Anwendung und Fremddatenbanken unterscheiden.
Aus einer fremden Datenbank über ODBC oder ADO ein paar Daten aus einer Tabelle zu importieren ist
relativ einfach.
Solange es einen funktionierenden ODBC/ADO-Treiber gibt.
Für die eigene Datenbank sollte man sich aber auf ganz wenige Hersteller beschränken.
fork me on Github
  Mit Zitat antworten Zitat
 


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:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz