Home » Tutorials » Datenbanken » MySQL mit ZeosLib

MySQL mit ZeosLib

Benutzeroberfläche

In diesem Beispiel wollen wir eine einfache Adressdatenbank basierend auf MySQL programmieren. In diesem Kapitel überlegen wir uns den Aufbau unserer Datenbankstruktur und erstellen die Benutzeroberfläche.

Datenbankstruktur

Zunächst müssen wir wissen, welche Daten wir in unserer Adressdatenbank speichern wollen. Dies könnten Name, Vorname, Adresse, Wohnort und Posteitzahl sein. Wir benötigen also mindestens schon mal 5 Felder für einen Datensatz. Die Felder name, vorname, adresse und wohnort sollen dabei Zeichenketten speichern, die Postleitzahl plz wird hingegen in einem Integer-Feld abgelegt. Zusätzlich verpassen wir jedem Datensatz noch eine eindeutige, fortlaufende ID-Nummer. Wir legen fest, dass die Tabelle den Namen adressbuch tragen soll.

Unsere Tabelle hat also folgenden Aufbau:

id vorname name adresse wohnort plz

Benutzeroberfläche

Erstelle eine Benutzeroberfläche, die ungefähr dieses Aussehen besitzt:

Die GUI ist in vier Abschnitte gegliedert:

  • Neuer Datensatz – Aktualisiert und fügt Datensätze hinzu
  • Verbindungsdaten – Logindaten und Serveradresse des MySQL-Servers
  • Datensatzanzeige – Anzeige eines Datensatzes
  • Übersicht aller Datensätze – Kompletter Inhalt der Tabelle

Bei den Eingabefeldern handelt es sich um normale TEdit-Felder, bei den Anzeige-Labels um die Komponenten TDBText und bei der unteren Anzeige-Komponente um eine TListView. Die vier nicht-visuellen Komponenten sind die benötigten Datenbankkomponenten:

  • TZMySqlDatabase – Stellt die Verbindung zur Datenbank her
  • TZMySqlQuery – Führt SQL-Abfragen aus
  • TZMySqlTransact – Schnittstelle zur TZMySqlDatabase-Komponente dar
  • TDataSource – Schnittstelle zwischen Datenbank und den datensensitiven Steuerelementen

Die Komponenten müssen noch miteinander verknüpft werden. Benenne die Komponente vom Typ TZMySqlQuery qrMain. Die Komponente TZMySqlDatabase soll den Namen dbMain tragen, TZMySqlTransact trMain und TDataSource dsMain. Verknüpfte die Komponenten qrMain und trMain mit der Datenbank dbMain (Eigenschaft Database). dsMain wird über die Eigenschaft DataSet mit qrMain verknüpft.