Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Bereitstellung einer DB im Smartphone/no such table (https://www.delphipraxis.net/199837-bereitstellung-einer-db-im-smartphone-no-such-table.html)

Dr. Jack 24. Feb 2019 16:56

Datenbank: SQLite • Version: 3 • Zugriff über: firedac

Bereitstellung einer DB im Smartphone/no such table
 
Hallo zusammen,

ich versuche eine kleine SQLite DB über den Bereitstellungsmanager ins Smartphone zu bekommen.
Leider verzweifele ich hier.
Die Datei habe ich zugefügt \assets\iternal\. Ein simples Connect wird ausgeführt (er ist auch tatsächlich verbunden)

Code:
if apms_conn.Connected=true
then begin
        showmessage('Verbindung steht');
     end
else begin
       showmessage('Verbindung nicht hergestellt, verbinde...') ;
       apms_conn.Connected:=true;
     end;
aber die folgende Kleinigkeit endet mit: "NO such table:Benutzer."
Aber der Code wird mit derselben DB in der Desktop-Version ohne Probleme ausgeführt.
Code:
procedure Tlogin_form.Button1Click(Sender: TObject);

begin
 listbox1.Items.Clear;
 FDQuery_select.FetchOptions.AutoClose := False;
 FDQuery_select.SQL.Clear;

 FDQuery_select.SQL.Add('SELECT *');
 FDQuery_select.SQL.Add('FROM benutzer');

 FDQuery_select.SQL.Add('ORDER BY nachname')      ;
 }FDQuery_select.Open;

 while not FDQuery_select.Eof do
     begin
        lade_daten( FDQuery_select.fieldbyname('id').asString, FDQuery_select.fieldbyname('vorname').asString, FDQuery_select.fieldbyname('nachname').asString, FDQuery_select.fieldbyname('berufsbez').asString );

        FDQuery_select.Next;



 end;
Das before connect liefert auch den richtigen Pfad, meine ich.
Code:
 apms_conn.Params.Values['Database'] :=
    TPath.Combine(TPath.GetDocumentsPath, 'apm_data.db');
  //     showmessage(apms_conn.Params.Values['Database']);
Was kann ich machen?

timog 25. Feb 2019 16:33

AW: Bereitstellung einer DB im Smartphone/no such table
 
Das Vorhandensein der .db reicht nicht unbedingt aus. Bei OpenMode := CreateUTF8 wird eine leere DB ja angelegt, wenn die FDConnection die DB nicht findet...

Ist die SQLite Datenbank aus dem Deployment vielleicht leer?

Was liefert denn ein
Code:
SELECT * FROM sqlite_master where type='table'
auf dem Smartphone zurück?

Ich bin beim Bereitstellen auch schon mal durcheinander gekommen zwischen der Debug und Release Config. :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz