Einzelnen Beitrag anzeigen

jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#34

AW: Welche Datenbank und Zugriffskomponenten für kleine Datenbank-Anwendung?

  Alt 7. Mai 2016, 09:29
Zu dem leeren Formular:
Entweder, es sind keine Daten drin oder es fehlt eine Aktivierung/ Öffnen der Datenmenge oder es ist beim Öffnen ein Fehler aufgetreten, der irgendwie unterschlagen wird.
Nimm einen Datenbankexplorer und schau in die Tabellen rein oder trag damit gleich selbst Datensätze ein.

Konkrete Systeme
- SQLite, besonders wenn man Mobile Systeme im Blick hat
- Firebird, besonders nach der V 3.0, die nun endlich da ist. Interessant wegen der lokalen Server Engine. Programme können damit standalone betrieben werden oder als client/server.
Da diese mehrfach genannt wurden und von der Leistungsbeschreibung interessant sind, werde ich mir diese mal näher ansehen. Gibt es irgendwo Beispiele für FireBird? Bei den Delphi-Demos scheint nichts dabei zu sein.
Firebird sollte sehr kompatibel zu Interbase sein. Und nochmal, egal welches Relationale Database Management System RDBMS Du verwendest, die Handhabung(!) in Delphi ist haezu identisch*1. Die Entscheidung für ein RDBMS ist verwoben mit der Frage, welche Zugriffskomponenten in D verwendet werden (sollen), einschließlich der Zukunftsperspektive dieser Komponenten und ggF der DLL Frage, die Du gestellt hast.
Wirkliche Unterschiede gibt es dann höchstens bei der Definition der Connection. Abhängig von der Technologie werden hier mal Dateien angegeben, bei anderen dann benannte DB, ..
Das ist ja (u.a) genau ein Punkt, womit D mal angetreten ist, die (immergleichen) Datenbankkomponenten als Abstraktionsschicht zu beliebigen DB. Siehe auch ODBC, JDBC, ...
Ein Code und eine beliebige DB dahinter.

*1Und zuletzt: So zu programmieren, dass die DB austauschbar ist, wäre eine Strategie oder Vorgehensweise, da die verschiedenen Systeme zwar einen Standard unterstützen (nie zu 100%), am Ende aber doch auch eigene Wege gehen und unterschiedliche Anforderungen bedienen, wird mit dem Moment der Nutzung spezifischer SQL Funktionen aus der austauschbaren DB ein Zwang oder eine "Ehe" oder wie man das auch immer nennen möchte.
DLL spielen dabei auch eine Rolle, das könnte man so zusammenfassen. Jedes System braucht eine Clientkomponente in Form einer oder mehrerer DLL. Die wird entweder mitgeliefert/verschenkt, gekauft, durch den Kunden selbst installiert oder ist das gleiche wie der Server (besonders SQLite, so ähnlich auch bei Firebird).

Zu allerletzt zu den Firebird Beispielen. Wenn Du irgendein Datenbankbeispiel nimmst und es ist nicht für Firebird, kannst Du es dennoch mit großer Wahrscheinlichkeit in Firebird umsetzen.
Z.B.
Code:
CREATE TABLE Employee (
    Employee_ID int NOT NULL,
    NAME       varchar (50) NOT NULL,
    DESCRIPTION varchar (250) NOT NULL
)
Kannst Du in vielen verschiedenen DB verwenden. Nimm ein SQL Tool Deiner Wahl, erzeuge damit eine DB, lass das Script laufen und Du kannst mit dem Tutorial loslegen. Manchmal gibt es unterschiedliche Namen für die Typen, aber es wird Dir sicher nicht schwer fallen, ein INT gegen INTEGER oder NUMBER auszutauschen. Auf die Art kannst Du "beliebige" Tutorials verwenden. Es gibt natürlich einen Haufen anderer, kleiner Gemeinheiten, die dürften sich aber spätestens hier im Forum schnell und einfach lösen lassen. SQLite hat zum Beispeil eine recht ungewöhnliche Art der Spaltentypisierung. AutoInc Felder sind auch gern überall etwas anders, alles aber halb so wilrd...
Gruß, Jo

Geändert von jobo ( 7. Mai 2016 um 09:31 Uhr)
  Mit Zitat antworten Zitat