Я пытаюсь развернуть приложение для запуска на эмуляторе Android, используя delphi, который использует базу данных SQLite и заполняет выпадающий список с результатами запроса.Развертывание базы данных SQLite для Android с помощью Delphi XE5
Я протестировал весь код в приложении Win32, и все работает по назначению, однако, когда я развертываю базу данных SQLite и пытаюсь запустить приложение в эмуляторе, я создаю исключение с «TDBXError with message» и ErrorMessage содержит «нет такой таблицы: автомобили»
Ниже приводится код для моей формы.
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.
Я удостоверился, System.IOUtils добавляются к использованию, и мой файл базы данных добавляются в моих проектах настройки развертывания.
Если я активирую Win32 и проверяю приложение, то записи combobox добавляются просто отлично.
В виде конструктора я использую TSQLConnection и TSQLQuery
Может кто-нибудь мне точку в правильном направлении.
Благодаря
Я сделал редактирование с помощью ресурсов \ external, потому что он терпит неудачу, и вы снова удаляете мои изменения. –