在开发应用时,在本地运行正常,通过QT接入sqlite,代码如下:
QSqlDatabase db;
if(QSqlDatabase::contains("qt_sql_default_connection")){
db = QSqlDatabase::database("qt_sql_default_connection");
}else{
db = QSqlDatabase::addDatabase("QSQLITE");
}
db.setDatabaseName(QCoreApplication::applicationDirPath()+"/SQLite/sql.db");
QSqlQuery sql_query;
if(!db.open()){
qDebug()<<"Error:Failed to connect database." << db.lastError();
}
sql_query.exec("SELECT * FROM tablename where name = AMY;");
db.close();
遇到问题: 打包后生成的exe文件在别人电脑上无法运行,查阅网上资料需要拷贝sqlite运行文件,如下图所示:
和QT sqlite驱动文件 sqldrivers,如下图所示:
但是拷贝后,仍然无法正常运行,调查后发现,本地运行时,使用的时QT的安装环境,而打包后的文件若要使用如下图所示的几个sql库,需要单独引入Qt5Sql.dll文件,否则无法正常运行程序,因此在本地拷贝Qt5Sql.dll文件到程序运行目录后,程序可以正常运行。