Die Bereitstellung von SQLite-Datenbank für Android mit Delphi FireMonkey

Ich versuche das bereitstellen einer Anwendung auf dem android-emulator mit delphi verwendet eine SQLite-Datenbank und füllt eine combobox mit den Abfrageergebnissen.

Habe ich getestet, der code auf einer Win32-Anwendung und alles funktioniert wie vorgesehen, wenn ich mir jedoch die Bereitstellung der SQLite-Datenbank, und führen Sie die Anwendung auf dem emulator erhebe ich eine Ausnahme mit "TDBXError mit der Nachricht" und die ErrorMessage enthält 'keine Tabelle mit dem Namen: cars'

Unten ist der code für mein Formular.

    var
  Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.Button1Click(Sender: TObject);
begin
  //Populate Manufacturer box
  SQLConnection1.Connected := True;
  SQLQuery1.SQL.Clear;
  SQLQuery1.Close;
  SQLQuery1.SQL.Add('SELECT DISTINCT manufacturer FROM cars');
  try
    SQLQuery1.Open;
    cbManufac.Items.Clear;
    while not SQLQuery1.Eof do
    begin
      cbManufac.Items.Add(SQLQuery1.Fields[0].AsString);
      SQLQuery1.Next;
    end;
  finally
    SQLQuery1.Close;
  end;
end;

procedure TForm1.SQLConnection1BeforeConnect(Sender: TObject);
begin
  {$IF DEFINED(iOS) or DEFINED(ANDROID)}
  SQLConnection1.Params.Values['ColumnMetadataSupported'] := 'False';
  SQLConnection1.Params.Values['Database'] :=
      System.IOUtils.TPath.Combine(TPath.GetDocumentsPath, 'cars.sqlite');
  {$ENDIF}
end;

end.

Ich gemacht Habe, sicher System.IOUtils Hinzugefügt wird, verwendet, und meine Datenbank-Datei Hinzugefügt unter " meine Projekte-deployment-Einstellungen.

Wenn ich aktivieren Win32 und testen Sie die Anwendung, die die combobox-Einträge werden Hinzugefügt, Prima.

Auf dem Formular-designer ich bin mit TSQLConnection und TSQLQuery

Kann jemand mich in die richtige Richtung.

Dank

InformationsquelleAutor amit2k5 | 2014-03-06
Schreibe einen Kommentar