André Winkelmann + Hagelkreuzstr. 4 + 45966 Gladbeck + E-Mail: Kontakt
Passende  Lösungen   für  Existenzgründer,
kleine Unternehmen und einfach für jeden!

Lazarus und Free Pascal – Firebird DB anlegen mit Lazarus

Lazarus, Free Pascal und Datenbanken

Lazarus, Free Pascal und Datenbanken

Ich möchte dir heute in diesem Artikel zeigen, wie du mit der Lazarus eine Benutzeroberfläche erstellst, mit der du eine Firebird Datenbank erstellen kannst. Mit anderen Worten, dein von dir entwickeltes Programm, erstellt die Firebird Datenbank. Das Programm kannst du dann anstelle des ISQL Tools nutzen. Die Datenbank wird leer erstellt.
Ok fangen wir an. Bitte öffne Lazarus und erstelle eine neue Anwendung. Du kannst durch das anklicken von Komponenten, diese aus dem Hauptfenster hinzufügen. Wir benötigen sechs Komponenten vom Typ TLabel, ein TDirectoryEdit, drei TEdit, einen TBitBtn und eine IBCOnnection. Die Komponenten TLabel und TEdit findest du im Hauptfenster unter dem Reiter Standard, den TBitBtn findest du unter dem Reiter Additional, die TIBConnection findest du unter SQLdb und das TDirectoryEdit findest du unter dem Reiter Misc. Das kleine Icon für den Button und das Icon für den Programmheader findest du in dem Download Ordner im Anhang dieses Artikels. In Abbildung 1.00 siehst du wie diese angeordnet werden. Du findest zu allen Komponenten eine Erklärung in meiner Komponenten-Bibliothek.

Artikelserie:
Teil 01: Lazarus und Free Pascal mit Firebird SQL (Windows)

Teil 01.01 Firebird Datenbank installieren und erstellen
Firebird SQL in der Version 2.5.8 herunterladen und installieren, kontrollieren ob der SQL Server läuft und eine Datenbank erstellen.
Teil 01.011 Firebird Datenbank mit Lazarus und Freepascal mit einer eigenen GUI erstellen.
Teil 01.02 Firebird Datenbank verwalten mit
- Database Workbech SQL 4 Lite for Firebird
- weitere Tools folgen
Teil 01.03 Datenbank AWUSERS.FDB Tabellen anlegen
Teil 01.04 Passwort Generator MD5 und Salt entwickeln
Teil 01.05 GUI für Login entwickeln (TForm und ShowModal)
Teil 01.06 Lazarus DB Komponenten für Firebird (IBConnection, SQLTransaction1, SQLQuery1)
Teil 01.07 Klasse DBConnection und die Prozeduren DBConnect und DBClose.
Teil 01.08 Select Abfrage mit Lazarus, Free Pascal und einer Firebird Datenbank
Teil 01.09 Login Daten abfragen und mit der Eingabe vergleichen
Teil 01.10 GUI Nutzerdaten
Teil 01.10 GUI Datenabfrage Select mit Lazarus in einer ListView und Editfeldern
Teil 01.11 Firebird DB Update mit Lazarus und Free Pascal in einer ListView und Editfeldern
Teil 01.12 Firebird DB Insert mit Lazarus und Free Pascal einen neuen Eintrag erstellen
Teil 01.12 Firebird DB Delete mit Lazarus und Free Pascal Theorie Allgemein und zur DSGVO
Teil 01.13 Firebird DB Delete mit Lazarus und Free Pascal einen Eintrag aus der Datenbank löschen

Teil 02: Lazarus und Free Pascal mit Firebird SQL (Linux)

Teil 02.01 Firebird DB auf Linux Mint installieren
Teil 02.02 Firebird DB auf Linux Ubuntu Desktop installieren
Teil 02.03 Firebird DB auf Linux Ubuntu Server installieren
Teil 02.03 Firebird DB Login Programm aus Teil 01 für Linux Mint anpassen
Teil 02.04 Firebird DB Login Programm aus Teil 01 für Linux Ubuntu Desktop anpassen
Teil 02.05 Firebird DB als Linux Ubuntu Server Datenbank für Windows Software
Teil 02.06 Firebird DB als Linux Ubuntu Server Datenbank für Linux Mint
Teil 02.07 Firebird DB als Linux Ubuntu Server Datenbank für Linux Ubuntu Server

Teil 03: Lazarus und Free Pascal mit MySQL XAMPP (Windows) (Planung folgt)

Teil 04: Lazarus und Free Pascal mit MySQL Server ( Linux Ubuntu Server) (Planung folgt)

Abb. 1.00 Database Create

Abb. 1.00 Database Create

Programmaufbau: Firebird DB anlegen

Kommen wir zu dem Aufbau des Programms. Durch das TDirecetoryEdit kannst du den Ordner festlegen in dem die Datenbank später abgelegt werden soll. Das Editfeld in dem du den Datenbanknamen einträgst folgt als nächstes. Danach folgen für den Zugang zum Datenbankserver auf deinem Computer noch die Zugangsdaten. Diese habe ich auf die Standard Zugansdaten für eine Firebird Datenbank festgesetzt mir Username = SYSDBA und Passwort = masterkey. Beide Zugangsdaten sind für die Firebird Version von Windows voreingestellt. Sollten deine Zugangsdaten abweichen, kannst du diese gerne im Programm ändern im Anhang ist das Programm inklusive Entwicklungsdateien. Den Text eines Editfeld kannst du unter Text im Objektinspektor ändern.
Der Button TBitBtn erhält das Icon der kleinen Datenbank und die Caption Create Database. Unter dem Button befindet sich das TLabel mit dem Namen LBLDBExits, dieses bitte so einstellen im Objektinspektor das die Eigenschaft visible auf false steht.

 

 

Ein Kurzer Überblich zu den Komponenten des Programms. Firebird DB anlegen.

TLabel 01:
Name: LblSetStorageLocation
Caption: Set storage location:
visible: true

TLabel 02:
Name: LblDBName
Caption: Set database name:
visible: true

TLabel 03:
Name: LblFDBType
Caption: .fdb
visible: true

TLabel 04:
Name: LblDBUsername
Caption: Username ( Standard SYSDBA):
visible: true

TLabel 05:
Name: LblDBPassword
Caption: Password (Standard masterkey):
visible: true

TLabel 06:
Name: LBLDBExists
Caption: LBLDBExists
visible: false
TDirecetoryEdit:
Name: DEDBSetStorageLocation
Text: Set the storage location, please.

TEdit 01:
Name: EdtDatabaseName
Text:

TEdit 02:
Name: EdtDBUsername
Text: SYSDBA

TEdit 03:
Name: EdtDBPassword
Text: masterkey
PasswordChar: #0

TBitBtn:
Name: BBtnDatabaseCreate
Caption: Create Database

Hinweise zur Benutzeroberfläche

Sollte es dir nicht gefallen dein Passwort sichbar einzugeben, kannst du die Eigenschaft PasswordChar von #0 auf * oder auf + stellen. Damit wird jedes eingegebene Zeichen durch das ausgewählte Zeichen ersetzt. Für eine kleine Entwicklungshilfe wie ich finde nicht notwendig.

Die Programmierung und der Quelltext

Gut kommen wir zu dem Ereignis des Buttons. Für dein Programm und zur Übung kannst du das OnClick Ereignis des Buttons vom Typ TBitBtn im Objektinspektor unter Ereignisse -> OnClick mit dem Name BBtnDatabaseCreateClick anlegen.

Übersicht über den Quellcode: Firebird DB anlegen
01: procedure TForm1.BBtnDatabaseCreateClick(Sender: TObject);
02: var
03: pathname : string;
04: begin
05: pathname := DEDBSetStorageLocation.Text + '/' + EdtDatabaseName.Text + '.FDB';
06: IBConnection1.DatabaseName:=pathname;
07: IBConnection1.UserName:=EdtDBUsername.Text;
08: IBConnection1.Password:=EdtDBPassword.Text;
09: IBConnection1.CreateDB;
10:
11: if fileexists(pathname) = true then
12: begin
13: LBLDBExists.visible := true;
14: LBLDBExists.caption := 'Database exists!';
15: LBLDBExists.Font.color := clGreen;
16: end;
17:
18: if fileexists(pathname) = false then
19: begin
20: LBLDBExists.visible := true;
21: LBLDBExists.caption := 'No Database found!';
22: LBLDBExists.Font.color := clRed;
23: end;
24: end

Quellcode Erklärungen, Firebird DB anlegen

In Zeile 01 findest du den Kopf der Prozedure mit Ihrem Namen TForm1.BBtnDatabaseCreateClick() und dem Typ Sender: TObject. In Zeile 02 leitet wir mit var die Variablen Deklaration ein. In Zeile 03 deklarieren wir dann die Variable pathname als vom Typ string. In Zeile 04 leiten wir mit dem begin den Anweisungsblock der Prozedure ein. In Zeile 05 setzen wir den Pfadnamen (pathname) zusammen. Dies geschieht durch das Zuweisen des Textes von der Komponente TDirectoryEdit mit dem Namen DEDBSetStorageLocation und dem Text des TEdit Feldes EdtDatabaseName und der Dateiendung der Datenbank .fdb. Die Pluszeichen in dem Pfad verbindet die einzelnen Komponenten miteinander. Zwischen dem TDirectoryEdit und dem TEdit Feld ist noch ein Zeichen '/' eingebaut. Dieses Zeichen ist ein Backslash und wird für den Pfad zur Datenbank benötigt. In Zeile 06 sprechen wir das erste mal die Komponente IBConnection1 an. Mit IBConnection1.pathname weisen wir den Pfadnamen zu an dem die Datenbank erstellt werden soll. In Zeile 07 geben wir für die Erstellung der Datenbank den Usernamen an. In Zeile 08 geben wir für die Erstellung der Datenbank das Password an. Bitte denkt daran das, das Password unter Linux nur acht Zeichen, anstelle neun Zeichen hat. Also nicht masterkey, sondern nur masterke. In Zeile 09 wird die Datenbank mit der Anweisung IBConnection1.CreateDB; erstellt.
Ab Zeile 11 folgt eine IF Abfrage, die prüft ob die Datenbank angelegt wurde. Ist das der Fall wird in Zeile 13 das Label LBLDBExists und die Eigenschaft visible von false auf true gesetzt. Das bewirkt das man das Label wiedersehen kann. Die Eigenschaft caption wird auf Database exists gesetzt. In Zeile 14 setzten wir die Eigenschaft Color des Labels auf CLGreen und damit färbt sich die Farbe des Labels auf Grün. Trifft es nicht zu wird die If Abgrage ab Zeile 13 nicht ausgeführt und es findet die If Abfrage in Zeile 17 statt. Es wird geprüft ob die Datenbank nicht erstellt wurde. Ist das der Fall setzen wir ab Zeile 20 das Label LBLDBExists und die Eigenschaft visible auf true. In Zeile 21 die Caption auf 'No Database found!'. In Zeile 22 die Eigenschaft Color und damit die Farbe des Labels auf CLRed. Damit wird das Label in Rot angezeigt.
Das end in Zeile 23 Beendet die If Abfrage und das End in Zeile 24 beendet die Prozedure TForm1.BBtnDatabaseCreateClick().

Firebird DB Eigenschaften

Kommen wir als letztes zu einigen Eckdaten der Datenbank. Im Artikel 01 zu Datenbanken hatte ich dir mitgeteilt das du im ISQL Tool von Firebird die Page Size festlegen kannst. Diese wird bei diesem Verfahren automatisch festgelegt. Nachfolgend auch noch weitere Einstellungen.

Automatisch festgelegt wurden:

Page size 4096
Page buffers 2048
Read only false

Beitrag kommentieren

Bitte verfasse einen Kommentar.

Dein Kommentar wird vor der Freischaltung von einem Admin moderiert.




Archive