个人网站设计成品下载,苏州住建网,商丘网站公司,网络优化方案案例在项目开发中#xff0c;同时使用了sqlite 和mysql数据库#xff0c;分开这两部分运行功能都正常#xff0c;但是一起运行#xff0c;就异常#xff0c;sqlite部分不能使用。
现象#xff1a;出现如下提示
QSqlDatabasePrivate::addDatabase: duplicate connection nam…在项目开发中同时使用了sqlite 和mysql数据库分开这两部分运行功能都正常但是一起运行就异常sqlite部分不能使用。
现象出现如下提示
QSqlDatabasePrivate::addDatabase: duplicate connection name qt_sql_default_connection, old connection removed.
解决办法addDatabase函数时候指定数据库类型和连接名称。
原因如果不指定连接名称则是默认连接qt_sql_default_connection那么两种数据库用
一个连接引起错乱。
The connection in the snippet will be the default connection, because we dont pass the second argument to addDatabase(), which is the connection name. For example, here we establish two MySQL database connections named first and second:
原型
[static] QSqlDatabase QSqlDatabase::addDatabase(const QString type, const QString connectionName QLatin1String(defaultConnection))
//-------------以下是截取的代码-------------------
//---第1部分,DB是长连接
//... DB QSqlDatabase::addDatabase(QSQLITE,SQLiteConnection1);
//... ///---第2部分db是短连接
//...
// if(QSqlDatabase::contains(MySQLConnection1))//为避免重复先移除掉 // QSqlDatabase::removeDatabase(MySQLConnection1);// QSqlDatabase db QSqlDatabase::addDatabase(QMYSQL, MySQLConnection1); //... db.close();
//...