Home » Tutorials » Datenbanken » SQLite3 mit Delphi und dbExpress

SQLite3 mit Delphi und dbExpress

SQLConnection

Die Verbindung mit einer SQLite Datenbank (Datei) erfolgt über die Komponente dbExpress TSQLConnection.

SQLConnection vorbereiten

  • Delphi Projekt neu erstellen oder öffnen
  • VCL Formular neu erstellen oder wählen
  • Komponente hinzufügen: dbExpress TSQLConnection
  • Dataset hinzufügen, um das Ergebnis eines SQL SELECT Befehls zu speichern.
    Beispiel: Var FDSSQLResults: TDataSet oder eine TSQLDataSet Komponente.

Wichtig: Die Datei sqlite3.dll im Projekt Verzeichnis ablegen oder im Windows System Verzeichnis.

SQLConnection Eigenschaften

  • Name: SQLConnection
  • Connected: False (noch keine Verbindung erstellen)
  • Driver: SQLite (nicht vergessen anzugeben)
  • Connectioname: SQLConnect (kann beliebig sein)
  • KeepConnection: True (Verbunden bleiben nach die Verbindung erstellt wurde)
  • Params: FailIfMissing=False (kein Abbruch falls die Datenbank nicht gefunden wurde. Die Datenbank wird dann beim SQL-Befehl Create Table neu erstellt.




Parameter im Code definieren mittels Parameter=Wert (OHNE Leerzeichen)

SQLConnection.Params.Clear;
SQLConnection.Params.Add('Database=' + 'buecher.db');
SQLConnection.Params.Add('FailIfMissing=False');

oder

SQLConnection.Params.Values['Database'] := 'buecher.db';
SQLConnection.Params.Values['FailIfMissing'] := 'False';

SQLConnection Verbindung öffnen

Die Verbindung öffnen, nachdem der Datenbankpfad als Parameter definiert wurde. Wird nur der Dateiname angegeben, dann muss die Datei im Projektverzeichnis vorhanden sein.

Try
  // Datenbank angeben – kann noch erweitert werden mit z.B. Pfadangabe
  SQLConnection.Params.Add('Database=' + 'buecher.db');
  // Verbinden
  SQLConnection.Connected := True;
Except On E: EDatabaseError Do 
  ShowMessage(E.Message);
End;

Datenbankdatei prüfen ob vorhanden:

If NOT FileExists('buecher.db') Then Abbruch;

Datenbankname Pfad hinzufügen:

ExtractFilePath(Application.ExeName) + 'buecher.db';
oder
ExtractFilePath(ParamStr(i)) + 'buecher.db';