[Qt-interest] Duplicate connection name 'qt_sql_default_connection', old connection removed.
Riccardo Roasio
riccardo.roasio at gmail.com
Fri Sep 25 11:30:20 CEST 2009
Hi,
i have a calls that i use to connect to a mysql database
The problem that i'experiencing is that if i create more than one
object of this type it gives me this error:
QSqlDatabasePrivate::addDatabase: duplicate connection name
'qt_sql_default_connection', old connection removed.
How can i solve the problem?
Thanks so much,
Riccardo
The class is this one:
#include "mysqlconnection.h"
MysqlConnection::MysqlConnection(QString h,QString d,QString u,QString p)
{
host=h;
database=d;
username=u;
password=p;
}
void MysqlConnection::destroy()
{
QSqlDatabase::removeDatabase("QMYSQL");
}
QSqlQuery MysqlConnection::insertQuery(QString q)
{
QSqlQuery query_result;
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName(host);
db.setDatabaseName(database);
db.setUserName(username);
db.setPassword(password);
if(db.open())
{
query_result=db.exec(q);
db.close();
}
}
}
QSqlQuery MysqlConnection::selectQuery(QString q)
{
QSqlQuery query_result;
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName(host);
db.setDatabaseName(database);
db.setUserName(username);
db.setPassword(password);
if(db.open())
{
query_result=db.exec(q);
db.close();
}
}
return query_result;
}
QSqlQuery MysqlConnection::updateQuery(QString q)
{
QSqlQuery query_result;
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName(host);
db.setDatabaseName(database);
db.setUserName(username);
db.setPassword(password);
if(db.open())
{
query_result=db.exec(q);
db.close();
};
}
}
QSqlQuery MysqlConnection::deleteQuery(QString q)
{
QSqlQuery query_result;
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName(host);
db.setDatabaseName(database);
db.setUserName(username);
db.setPassword(password);
if(db.open())
{
query_result=db.exec(q);
db.close();
};
}
}
More information about the Qt-interest-old
mailing list