Also...
Wenn das hier auf Android funktionieren soll:
Dann sollte ja gemäß der Anleitung:
Delphi-Quellcode:
procedure TForm1.SQLConnectionSQLiteBeforeConnect(Sender: TObject);
begin
{$IF DEFINED(iOS) or DEFINED(ANDROID)}
ShoppingList.Params.Values['Database'] :=
TPath.Combine(TPath.GetDocumentsPath, 'shoplist.s3db');
{$ENDIF}
end;
der richtige Path sein.
Das mag funktionieren, wenn man die Datei da per deploy "rüberschiebt",
aber ein
Delphi-Quellcode:
procedure TForm40.SQLConnection1BeforeConnect(Sender: TObject);
begin
SQLConnection.Params.Values['Database'] := TPath.Combine(TPath.GetDocumentsPath, 'TestBase.s3db');
SQLConnection.Params.Values['ColumnMetadataSupported'] := 'False';
SQLConnection.Params.Values['FailIfMissing'] := 'False';
end;
Sollte doch an dieser Stelle die Datenbank erzeuge. (So jedenfalls funktioniert es unter iOS)
Ich denke, dass die Systemtreiber für dieses Verzeichniss keine Create-Rechte habe, den nach einem Aufruf liegt da keine Datenbank.
Oder hat jemand eine bessere Idee?
Mavarik