我在用Delphi编写的Android应用程序中添加SQLite数据库时遇到了一些问题。首先,我将数据库文件添加到项目管理器中,并在部署管理器中将其Remote Path
更改为.\assets\internal\
。然后,我将以下代码添加到FDConnection
BeforeConnect
事件中。代码为:
begin
{$IFDEF ANDROID}
MissiledbConnection.Params.Values['ColumnMetadataSupported'] := 'False';
MissiledbConnection.Params.Values['Database'] :=
TPath.Combine(TPath.GetDocumentsPath, 'MissileDB.db');
{$ENDIF}
end;
尽管如此,我仍然得到这个错误,而试图编译我的应用程序的Android版本:[FireDAC][Stan][Def]-254. Definition [MissileDB.db] is not found in []
当我在Windows下编译我的应用程序时,一切都运行得很好。老实说,我不知道我做错了什么,因为我找到的每个教程都只提到部署管理器和事件代码,我如图所示实现了它们。
预先感谢你的帮助。
1条答案
按热度按时间zour9fqk1#
我申请了“TPath.GetHomePath”并启动了应用程序。默认情况下,资源“assets/internal”将数据库放置在此目录中。从外部无法访问此目录。遗憾的是,我不知道如何将deploy放置到不同的公共或共享目录中。问候AK