Liebe Alle,
Erstens: Man kann den Parameter einfach überschreiben, auch wenn in der zur Designzeit angelegten Connection bereits eine andere
DB steht. Params.Clear ist nicht notwendig.
Delphi-Quellcode:
procedure TFormMain.OpenDB(ADBFile: string);
begin
with MyConnection do
begin
Close;
with Params do
begin
Add('Database= ' + ADBFile);
end;
Open;
end;
dm.Table1.Open;
dm.Table2.Open;
// usw.
end;
Zweitens: Der Grund meines ständigen Scheiterns war ein anderer. Wenn man eine TFDConnection (SQLITE) zur Designzeit Connected := True setzt
und die im Parameter 'Database' definierte SQLite-DB nicht vorhanden ist, wird sie automatisch angelegt! Bei anderen Datenbanksystemen würde es bei fehlendem
DB-File nicht möglich sein, das Kästchen im Objektinspektor zu aktivieren, bei SQLITE schon. Das Programm macht ahnungslos weiter mit dem Öffnen der Tables (TFDQuery), weil es die
DB "gefunden" zu haben glaubt, aber natürlich findet es nun die Tabellen nicht. Daher die ständigen Fehlermeldungen: [FireDAC][Phys][SQLite] ERROR no such table.
Ganz herzlichen Dank!
Beste Grüße,
René