我用c++Builder 11创建了一个脚本,其中的数据存储在sqlite3 db文件中。要连接到Sqlite3.db,我使用了c++builder内部的FireDAC连接,并且所有的连接都很好。
在连接管理器(DataExplorer)的C++Builder中,我将路径设置为"D:\TEST.db“。如果我将编译后的Exe与另一台PC共享,则可能没有驱动器D。我试图在Connection中只使用没有路径的文件名"TEST.db“,但以FireDAC错误消息结尾:"FireDAC..Stan..Definition .在[]中找不到”.
我也尝试过"@scriptdir & "\TEST.db“在Connections-Manager.但也不起作用.
如果通过“TEST.db”?修复连接,如何将ScriptDir (sql3-数据库)保存在ScriptDir中??
谢谢你的帮助..。打招呼。
发布于 2022-03-02 14:17:43
可以使用BeforeConnect将FDConnection对象指向正确的数据库文件。在下面的示例中,它将指向位于exe文件夹中的名为"test.db3“的数据库文件:
void __fastcall TForm4::FDConnection1BeforeConnect(TObject *Sender)
{
dynamic_cast< TFDConnection * >( Sender )->Params->Database =
ExtractFileDir( Application->ExeName ) + "\\test.db3";
}
void __fastcall TForm4::Button1Click(TObject *Sender)
{
FDConnection1->Connected = true;
}向你问好,赫维希
https://stackoverflow.com/questions/71289155
复制相似问题