Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Datenbank Einstieg (https://www.delphipraxis.net/175352-datenbank-einstieg.html)

Pandax3 14. Jun 2013 16:20

Datenbank: -- • Version: -- • Zugriff über: --

Datenbank Einstieg
 
Hallo zusammen,
ich beschäftige mich jetzt schon mehrer Jahre, seit der Schule, mit Delphi, habe jedoch noch nicht den Einstieg in die Datenbankprogrammierung gefunden. Irgendwie finde ich, ist das Thema schwer anzugehen, wenn man überhaupt keine Vorkenntnisse hat.

Ich weiß, dass es viele verschiedene Datenbanksysteme gibt, weiß jedoch z.b. nicht worin diese sich unterscheiden.
Des Weiteren weiß ich nicht wie ich von Delphi aus auf die Datenbanken zugreifen kann. Ich lese zwar häufiger in Foren, dass dafür "Zeos" (richtig?) Komponenten sinnvoll sind, jedoch habe ich noch nirgendwo ein Tutorial dazu gefunden. Gibt es neben "Zeos" auch noch andere Komponenten? Oder ist es sogar möglich ohne Komponenten auf Datenbanken zuzugreifen?
Verwenden alle Datenbanken die Sprache SQL?

Mit MySql und PhpMyAdmin habe ich schon gearbeitet und für Webseiten Datenbanken erstellt, gibt es solch ein nützliches Programm wie PhpMyAdmin auch für andere Datenbanksysteme?


Ich habe mir schon mal dieses Tutorial angeschaut http://www.delphi-treff.de/tutorials...eg/einleitung/ , aber habe dann irgendwie festgestellt, dass es doch veraltet ist.

Wie ihr seht, habe ich jede Menge Fragen :shock: und ich weiß einfach nicht wie ich das Thema optimal angehe.
Ich hoffe, dass ihr sie mir beantworten könnt, damit ich den Einstieg finde ;) Vielleicht hat ja jemand auch einen Link zu einem guten Tutorial.

RWarnecke 14. Jun 2013 16:48

AW: Datenbank Einstieg
 
Zitat:

Zitat von Pandax3 (Beitrag 1218626)
..., jedoch habe ich noch nirgendwo ein Tutorial dazu gefunden...

Hier ein Link zum Tutorial mit Zeos.

Zitat:

Zitat von Pandax3 (Beitrag 1218626)
Gibt es neben "Zeos" auch noch andere Komponenten?

Ja, zum Beispiel UniDAC, FireDAC, IBDAC, MyDAC und noch viele mehr.
Zitat:

Zitat von Pandax3 (Beitrag 1218626)
Oder ist es sogar möglich ohne Komponenten auf Datenbanken zuzugreifen?

Ja, suche hier mal im Forum nach Hier im Forum suchenmysql libmysql.dll
Zitat:

Zitat von Pandax3 (Beitrag 1218626)
Verwenden alle Datenbanken die Sprache SQL?

Ja, alle mir bekannten.

Zitat:

Zitat von Pandax3 (Beitrag 1218626)
Mit MySql und PhpMyAdmin habe ich schon gearbeitet und für Webseiten Datenbanken erstellt, gibt es solch ein nützliches Programm wie PhpMyAdmin auch für andere Datenbanksysteme?

Es gibt mehrere SQL-Manager, die entweder für ein DBMS sind oder mehrere davon bedienen können.

Pandax3 14. Jun 2013 18:26

AW: Datenbank Einstieg
 
ok danke,
habe jetzt noch ein paar Fragen - in Delphi finde ich die Bereiche

dbExpress
BDE
Datenzugriff
Datensteuerung
InterBase
dbGO (ADO)

Welche davon sind veraltet? Ich meine gelesen zu haben, dass die BDE nicht mehr aktuell ist.

Wo genau liegen jetzt die Unterschiede? Kann ich mit den InterBase Komponenten auf eine Interbase Datenbank zugreifen? Wenn ja, kann ich das dann auch mit den dbGO Komponenten oder mit den dbExpress Komponenten?
Haben die Komponenten alle die gleiche Aufgabe? Also mich mit einer Datenbank zu verbinden?

Und wofür genau brauch ich die Komponenten aus dem Datensteuerung Bereich, also z.B. TDBGrid, TDBNavigator, TDBEdit oder TDBMemo.


Danke schonmal :)

Perlsau 14. Jun 2013 19:45

AW: Datenbank Einstieg
 
Zitat:

Zitat von Pandax3 (Beitrag 1218633)
ok danke, habe jetzt noch ein paar Fragen - in Delphi finde ich die Bereiche ...

Interessant wäre hier erst einmal die Frage, mit welcher Delphi-Version du arbeitest. Ich habe z.B. RadStudio 2009 und kann dir daher nur die Komponenten-Versionen erklären, die bei meiner Version dabei sind. Zum Beispiel konnte man mit früheren Delphi-Interbase-Komponenten noch auf Firebird-Datenbanken zugreifen, das geht mit meiner Version nicht mehr.

Zitat:

Zitat von Pandax3 (Beitrag 1218633)
dbExpress
BDE
Datenzugriff
Datensteuerung
InterBase
dbGO (ADO)

Welche davon sind veraltet? Ich meine gelesen zu haben, dass die BDE nicht mehr aktuell ist.

Die BDE (Borland Database Engine) ist auf jeden Fall völlig veraltet und sollte daher nicht mehr eingesetzt werden.

Zitat:

Zitat von Pandax3 (Beitrag 1218633)
Wo genau liegen jetzt die Unterschiede? Kann ich mit den InterBase Komponenten auf eine Interbase Datenbank zugreifen? Wenn ja, kann ich das dann auch mit den dbGO Komponenten oder mit den dbExpress Komponenten? Haben die Komponenten alle die gleiche Aufgabe? Also mich mit einer Datenbank zu verbinden?

Nein, nicht alle Komponenten haben die gleiche Aufgabe. Ich kann dir aber hier nicht alle diese Komponenten erklären, das wäre mir zu aufwendig und zudem ist das schon in der Online-Hilfe erklärt. Und die möcht ich hier nicht abschreiben. Also einfach mal eine dieser Komponenten, über die du etwas wissen willst, auf die Form legen und F1 drücken ...

Zitat:

Zitat von Pandax3 (Beitrag 1218633)
Und wofür genau brauch ich die Komponenten aus dem Datensteuerung Bereich, also z.B. TDBGrid, TDBNavigator, TDBEdit oder TDBMemo.

DbExpress, BDE, InterBase und dbGO (ADO) stellen Zugriffskomponenten zur Verfügung, mit denen man direkt auf Datenbanken zugreifen kann. Die Unterschiede liegen in den unterschiedlichen Datenbanken, die man damit ansteuern kann. So kann ich (bzw. Delphi 2009) mit DbExpress auf Blackfish, Datasnap, Interbase und MySQL zugreifen. Mit InterBase gehen bei mir nur Interbase-DBs. Ado erlaubt Oracle, MSSQL, MS-Access und einige andere Sächelchen ... BDE wird von mir komplett ignoriert, da verliere ich kein Komma zu ...

In der Palette Datenzugriff finden sich Mittler-Komponenten, die Datenmengen aufnehmen können.

Unter Datensteuerung findest du Komponenten zum Anzeigen und Steuern von Datenmengen.

Zitat:

Zitat von Pandax3 (Beitrag 1218633)
ich beschäftige mich jetzt schon mehrer Jahre, seit der Schule, mit Delphi, habe jedoch noch nicht den Einstieg in die Datenbankprogrammierung gefunden. Irgendwie finde ich, ist das Thema schwer anzugehen, wenn man überhaupt keine Vorkenntnisse hat.

Heißt das, du hast seit der Schule 2 jahre ständig mit Delphi gearbeitet oder einfach nur, daß du in diesen 2 Jahren ab und zu mal in Delphi reingeschaut hast? (von wegen "keine Vorkenntnisse ...)

Zitat:

Zitat von Pandax3 (Beitrag 1218633)
Ich weiß, dass es viele verschiedene Datenbanksysteme gibt, weiß jedoch z.b. nicht worin diese sich unterscheiden.

Das ist auch nicht wichtig am Anfang, denn die Unterschiede könntest du jetzt, noch ganz ohne Datenbank-Erfahrung, nicht wirklich nachvollziehen.

Zitat:

Zitat von Pandax3 (Beitrag 1218633)
Des Weiteren weiß ich nicht wie ich von Delphi aus auf die Datenbanken zugreifen kann.

Dazu gibt es zahlreiche Tutorials, die man einfach mal durcharbeiten muß, um die notwendigen Kenntnisse zu erlangen.

Furtbichler 14. Jun 2013 21:54

AW: Datenbank Einstieg
 
Zitat:

Zitat von RWarnecke (Beitrag 1218629)
Zitat:

Zitat von Pandax3 (Beitrag 1218626)
Verwenden alle Datenbanken die Sprache SQL?

Ja, alle mir bekannten.

Nein. Es gibt auch noch Datenbanken hinter dem Tellerrand. Stichwort: NoSQL, XML-Datenbanken usw.

Pandax3 15. Jun 2013 00:00

AW: Datenbank Einstieg
 
Hey, danke erstmal

Zitat:

Heißt das, du hast seit der Schule 2 jahre ständig mit Delphi gearbeitet oder einfach nur, daß du in diesen 2 Jahren ab und zu mal in Delphi reingeschaut hast? (von wegen "keine Vorkenntnisse ...)
Also ich habe Vorkenntnisse, aber eben nicht im Datenbankbereich ;)


Zitat:

Unter Datensteuerung findest du Komponenten zum Anzeigen und Steuern von Datenmengen.
Das verstehe ich irgendwie nicht ganz, wenn ich Daten aus einer Datenbank lade, kann ich diese dann nur in den Komponenten aus der Datensteuerung anzeigen oder kann ich diese z.B. auch in einem normalen Edit oder Label anzeigen lassen?


Zitat:

In der Palette Datenzugriff finden sich Mittler-Komponenten, die Datenmengen aufnehmen können.
Wann genau muss ich diese Komponenten verwenden? Ich glaube mal ein Tutorial gesehen zu haben, in dem man über DataSource und ClientDataSet sowie einem TDBNavigator und einem TDBGrid Daten speichern und laden konnte - dabei handelt es sich doch nicht um eine Datenbank, oder? Und wenn ich z.B. die ADO Komponenten verwende um auf eine Datenbank zuzugreifen, sind dann DataSource und ClientDataSet überhaupt notwendig?

Sorry wenn das irgendwie dumme Fragen sind, aber wäre nett wenn ihr mich bisschen aufklärt :oops: :lol:

Perlsau 15. Jun 2013 07:42

AW: Datenbank Einstieg
 
Zitat:

Zitat von Pandax3 (Beitrag 1218643)
Zitat:

Heißt das, du hast seit der Schule 2 jahre ständig mit Delphi gearbeitet oder einfach nur, daß du in diesen 2 Jahren ab und zu mal in Delphi reingeschaut hast? (von wegen "keine Vorkenntnisse ...)
Also ich habe Vorkenntnisse, aber eben nicht im Datenbankbereich ;)

Na immerhin :thumb:

Zitat:

Zitat von Pandax3 (Beitrag 1218643)
Zitat:

Unter Datensteuerung findest du Komponenten zum Anzeigen und Steuern von Datenmengen.
... wenn ich Daten aus einer Datenbank lade, kann ich diese dann nur in den Komponenten aus der Datensteuerung anzeigen oder kann ich diese z.B. auch in einem normalen Edit oder Label anzeigen lassen?

Ersteres.

Zitat:

Zitat von Pandax3 (Beitrag 1218643)
Zitat:

In der Palette Datenzugriff finden sich Mittler-Komponenten, die Datenmengen aufnehmen können.
Wann genau muss ich diese Komponenten verwenden? Ich glaube mal ein Tutorial gesehen zu haben, in dem man über DataSource und ClientDataSet sowie einem TDBNavigator und einem TDBGrid Daten speichern und laden konnte - dabei handelt es sich doch nicht um eine Datenbank, oder? Und wenn ich z.B. die ADO Komponenten verwende um auf eine Datenbank zuzugreifen, sind dann DataSource und ClientDataSet überhaupt notwendig?

Aus diesem Grund verwies ich dich auf einschlägige Tutorials. Der Einstieg in die Datenbank-Programmierung ist zu umfangreich, um ihn hier im Forum mal so nebenbei zu beschreiben. Genau dafür gibt es die Einsteiger-Tutorials!

Zitat:

Zitat von Pandax3 (Beitrag 1218643)
Sorry wenn das irgendwie dumme Fragen sind, aber wäre nett wenn ihr mich bisschen aufklärt :oops: :lol:

Wie bereits mehrfach erwähnt: Arbeite ein Tutorial durch und erfahre so alles Notwendige. Sicher verstehst du, daß ich keine Lust dazu habe, hier noch einmal ein Tutorial zu verfassen.

Datenbank-Tutorials in der Delphi-Praxis, insbesondere als Einstieg Flexible ADO-Connection zur Ansteuerung einer Access-Datenbank

RWarnecke 15. Jun 2013 07:48

AW: Datenbank Einstieg
 
Zitat:

Zitat von Furtbichler (Beitrag 1218640)
Zitat:

Zitat von RWarnecke (Beitrag 1218629)
Zitat:

Zitat von Pandax3 (Beitrag 1218626)
Verwenden alle Datenbanken die Sprache SQL?

Ja, alle mir bekannten.

Nein. Es gibt auch noch Datenbanken hinter dem Tellerrand. Stichwort: NoSQL, XML-Datenbanken usw.

Die habe ich jetzt nicht gekannt. Danke, habe wieder was dazu gelernt.

Zitat:

Zitat von Pandax3 (Beitrag 1218643)
Zitat:

Unter Datensteuerung findest du Komponenten zum Anzeigen und Steuern von Datenmengen.
Das verstehe ich irgendwie nicht ganz, wenn ich Daten aus einer Datenbank lade, kann ich diese dann nur in den Komponenten aus der Datensteuerung anzeigen oder kann ich diese z.B. auch in einem normalen Edit oder Label anzeigen lassen?

Es gibt zwei Wege die Daten aus einer Datenbank anzeigen zulassen und zu bearbeiten. Der erste Weg ist, dass Du die DB-Komponenten benutzt wie TDBEdit, TDBNavigator, TDBCombobox u.s.w. Diese Komponenten findest Du alle unter Data Controlls. Der zweite Weg ist, Du stellst über eine Connection Komponente die Verbindung zur Datenbank her und stellst dann mit einer Query die Abfrage in eine Datenbank. Danach kannst Du das Ergebnis an ganz normale Controls wie TEdit, TCombobox u.s.w. übergeben. Das ganze musst Du dann manuell machen.Für den ersten Weg findest Du ein Beispiel in meinem oben verlinkten Tutorial.

haentschman 15. Jun 2013 07:56

AW: Datenbank Einstieg
 
Moin...8-)

Ich wäre bei diesen vielen richtigen Informationen als Einsteiger richtig verwirrt. :-D

Zusammenfassung:
- keine BDE benutzen bei Neuprojekten
- Datenbankauswahl entsprechend der Anforderung (MSSQL, MySQL, Firebird etc.) Dazu gibt es genug Threads hier als Entscheidungshilfe.
- Welche Zugriffskomponenten? ... Optimal die, die auf das DBMS zugeschnitten sind um auch alle Funktionen nutzen zu können.
- Lizenzkosten nicht außer Acht lassen. Es lauern bei manchen DBMS Lizenzfallen (MySQL z.B.)

Mein Vorschlag wäre:
- Datenbank Firebird
- Zugriffskomponenten Zeos
- AdminTool: IBExpert Personal
Begründung:
- alles ist kostenlos. Das reicht für den Einstieg dicke aus.
- die Datenbank ist eine Datei. Nicht wie bei anderen teilweise komplette Ordnerstrukturen. Sie kann, unter bestimmten Voraussetzungen, einfach kopiert oder verschoben werden.
- Die Datenbank kann ganz einfach sowohl nur mit einem Benutzer (Embedded) oder als Multiuser benutzt werden.

Wir machen mal die erste Datenbank in 5 Schritten: :thumb:
1.
- Firebird Server herunterladen und installieren. Auch wenn die eigentliche Anwendung es nicht benötigen sollte, empfehle ich den Server auf dem Entwicklungsrechner, um die Anwendung und das AdminTool gleichzeitig benutzen zu können.
32Bit: http://sourceforge.net/projects/fire...2.exe/download
64Bit: http://sourceforge.net/projects/fire...4.exe/download
Du installierst den Server der dem System entspricht.
- Die Zugriffskomponenten kommunizieren über eine DLL mit der Datenbank... fbclient.dll
- Diese sollte im Anwendungsverzeichnis liegen. Nach der Installation liegt sie auf deinem System. Wenn du die Anwendung weitergibst müßtest du erst nach der DLL suchen. So wäre sie an einem "definiertem" Platz.
- !!! hast du eine 32Bit Anwendung brauchst du auch die 32Bit DLL dazu, auch wenn der Server 64Bit ist !!!
2.
- AdminTool herunterladen und installieren
http://ibexpert.net/ibe/index.php?n=...ersonalEdition
3.Datenbank anlegen mit dem AdminTool
- die Datenbank anlegen. Das ist dann das Grundgerüst ohne Inhalt... sinngemäß :zwinker:
- Tabellen anlegen
- innerhalb der Tabellen die Felder anlegen.

(ist etwas komplizierter, aber für den Anfang ist diese Erklärung ausreichend)
-> Commit(Button) bedeuted daß die Datenbank die Änderungen übernehmen soll
-> Rollback (Button) bedeuted daß die Datenbank die Änderungen verwerfen soll
...Datenbank fertsch :thumb:
- Testdaten eintragen
4. Delphi
- Zeos downloaden. Welche Version? Da bin ich überfragt wie der aktuelle Stand ist... :oops:
- Zeos in die IDE installieren (geht auch ohne, ist aber so erst mal übersichtlicher)
5. Die Anwendung:
- Form, darauf DBGrid, DataSorce, ZQuery, Label, Button,
- das DBGrid mit der Datasource verbinden (OI)
- die DataSource mit der ZQuery verbinden (OI)
- im OnClick des Buttons folgenden Code
Delphi-Quellcode:
ZQuery1.SQL.Text:= 'select * from TabelleNameX'; // Namen sind deine Entscheidung
ZQuery1.Open;
Label1.Caption:= ZQuery1.FieldByName('FeldnameY').AsString;
- jetzt sollten deine Testdaten im Grid stehen und das Label einen Inhalt haben.

Nächste Schritte:
- wie navigiere ich durch die Datenmenge (schaue dir die Methoden der ZQuery an)
- wie schreibe ich Daten
- SQL lernen

Hinweis:
Man kann auch mit Datenbanken arbeiten ohne diese datensensitiven Controls zu benutzen. (die mit einem DB als Präfix)
Dazu wird eine Zwischenschicht benötigt welche die Datenmenge in Objekte umsetzt. Diese werden dann in der Anwendung verarbeitet. Persönlich benutze ich keine datensensitiven Controls mehr. Die Oberfläche hat eine bessere Trennung von Daten und Anzeige.


soooo... Kaffee ist leer, ich muß dann mal weg. :zwinker:

Perlsau 15. Jun 2013 08:01

AW: Datenbank Einstieg
 
Zitat:

Zitat von haentschman (Beitrag 1218647)
- Zeos downloaden. Welche Version? Da bin ich überfragt wie der aktuelle Stand ist... :oops:

ZEOSDBO-7.0.3-stable


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:04 Uhr.
Seite 1 von 2  1 2      

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