QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connect

qt中连接mysql数据库时提示这个问题,是因为重复调用 QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");在没有指定连接名,默认连接名为qt_sql_default_connection,要避免这个问题,在添加时指定一个连接名,同时在每次添加时,先判断有没有这个连接名,代码如下

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL","mysql");

if (QSqlDatabase::contains("mysql")) {
	db = QSqlDatabase::database("mysql");
} else {
	db = QSqlDatabase::addDatabase("QMYSQL", "mysql");
}

你可能感兴趣的:(Qt)