在Qt项目中连接Sqlite数据库:
void PhenotypeManagementDialog::connectDb()
{
QMessageBox msgBox;
QSqlDatabase dbconn = QSqlDatabase::addDatabase("QSQLITE");
dbconn.setDatabaseName("D:/work/gooal-cloud/Sqlite_test/score.db");
if (!dbconn.open())
{
dbconn.close();
QMessageBox::warning(NULL, QStringLiteral("提示"), QStringLiteral("打开数据库失败!"), QStringLiteral("确定"));
}
else
{
msgBox.setText(QStringLiteral("打开数据库成功"));
msgBox.exec();
}
}
打包后执行可执行程序,出现以下错误:
QSqlDatabase: QSQLITE driver not loaded
这是缺乏qsqlite.dll文件所致,需将Qt安装目录下的plugin的sqldrivers目录复制到可执行文件目录下(注意不能将qsqlite.dll文件直接复制到可执行问价安装目录下,亲测失败):
再次执行(不行则重新编译)即可: