Hi zusammen
Um es gleich vorwegzunehmen, die Fehlermeldung:
Zitat:
Homeofficerfeproject
[Content]
Fehler beim Aufbau der Datenbankverbindung:
[FireDAC][Phys][SQLite] ERROR: near "foreign": syntax error
Und der Weg dazu:
Ein Treeview zeigt mir den Inhalt meiner Laufwerke an, und hier kann ich den Ort bestimmen, an dem mir eine SQLite-
DB erstellt werden soll.
Von hier gelange ich über Rechtsklick/Kontextmenue schliesslich in mein Datenmodul, wobei der Parameter 'DataBaseFolder' den ausgewählten Pfad enthält:
Delphi-Quellcode:
function TDMLSQLiteOfficerFE.CreateAndConnectDatabase(DatabaseFolder: String) : Boolean;
begin
try
FDSQLiteConnection.Connected := false;
FDSQLiteConnection.Params.Clear;
FDSQLiteConnection.Params.Add('DriverID=SQLite');
FDSQLiteConnection.Params.Add('Database='+DatabaseFolder); // Add('Database=' + dlgOpen.FileName);
FDSQLiteConnection.Params.Values['FailIfMissing'] := 'False';
FDSQLiteConnection.ExecSQL('PRAGMA foreign keys=on'); //<==
FDSQLiteConnection.Connected := true; // Diese beiden Zeilen habe ich auch schon getauscht
Result := FDSQLiteConnection.Connected;
CreateDatabase(DatabaseFolder);
except
on E: EDatabaseError do
begin
ShowMessage('Fehler beim Aufbau der Datenbankverbindung: ' + #13#13 + E.Message);
Result := False;
end;
end;
end;
Die erste Fehlermeldung, durch Pfeil gekennzeichnet:
Zitat:
---------------------------
Benachrichtigung über Debugger-
Exception
---------------------------
Im Projekt HomeOfficerFEProject.exe ist eine
Exception der Klasse ESQLiteNativeException mit der Meldung '[FireDAC][Phys][SQLite] ERROR: near "foreign": syntax error' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------
CreateDatabase schliesslich ruft die Prozeduren zur Erstellung der Tabellen und Inidzes auf.