Du verwendest doch FireDac?
http://docwiki.embarcadero.com/CodeE....SQLite_Sample
Dann sollte dein Code doch ganz anders aussehen:
FDSQLiteConnection.Connected:=false;
// params nimmt die NUR verbindungsparameter auf
FDSQLiteConnection.Params.Add('DriverID=SQLite');
FDSQLiteConnection.Params.Add('Database=C.\....');
FDSQLiteConnection.Connected:=true;
// jetzt ist die
DB geöffnet. gab es sie nicht, wurde sie jetzt neu angelegt
// alle Anweisungen für SQLite müssen mit ExecSQL ausgeführt werden
FDSQLiteConnection.SQLExec('PRAGMA foreign keys=on');
FDSQLiteConnection.SQLExec('create table ....');
Tipp: Mach dir ein kleines Testprogramm und scha, ob du das connecten und anlegen einer Tabelle hinbekommst, bevor du weiter machst.