结论:
QSqlDatabase db;
db=QSqlDatabase::addDatabase("QSQLITE","NO.2");//第二个参数"NO.2"很重要
关于怎么使用SQLite数据库站内有相当的帖子,大家自行搜索,本回答主要解决为什么一切正常,甚至第一个数据库都跑起来了,第二个却报错驱动不加载的问题。
这是使用QSqlDatabase必须的函数
[static] QSqlDatabase QSqlDatabase::addDatabase(const QString &type, const QString &connectionName = QLatin1String(defaultConnection))
一般的教程,仅仅使用
QSqlDatabase db;
db=QSqlDatabase::addDatabase("QSQLITE");//没有第二个参数,即第二个参数使用默认值
关于第二个参数,以下是ChatGPT的解释:
当同一个程序中,创建了2处及以上 QSqlDatabase db;(可能是同一个父对象中,也可能是不同的父对象中)且都使用了同一个数据库驱动,如“SQLITE”。
当其中一个先被打开,且未关闭的状态下