在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文件直接复制到可执行问价安装目录下,亲测失败):
再次执行(不行则重新编译)即可: