因为在
db = QSqlDatabase::addDatabase("QSQLITE");
第二次使用QSqlDatabase::addDatabase()方式
出现以下报错
QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.
导致
query.prepare(sql);时报QSqlQuery::prepare: no driver
解决方法的代码:
QSqlDatabase db;
if(QSqlDatabase::contains("qt_sql_default_connection"))
db = QSqlDatabase::database("qt_sql_default_connection");
else
db = QSqlDatabase::addDatabase("QSQLITE");