the first:
what is this?
...
db->QSqlDatabase::addDatabase("QPSQL");
...
...
db->QSqlDatabase::addDatabase("QPSQL");
...
To copy to clipboard, switch view to plain text mode
I didn't see where you create object using operator new.
the second:
you shouldn't use pointer to database, because QSqlDatabase class is shared.
so, I suggest you to revise you code: refuse using pointer to database (but if you prefer
to use pointer then you must use new operator)
you can also not to keep variable for database like a class member, you can always get a needed database object using
QSqlDatabase QSqlDatabase::database ( const QString & connectionName = QLatin1String( defaultConnection ), bool open = true )
To copy to clipboard, switch view to plain text mode
conclusion:
you can use the following code
void someObject::initDatabse
{
QSqlDatabese db = QSqlDatabse::addDatabase("QPSQL", "myConnection");
.....//do connection stuff
}
void someObject
::execQuery(const QString &queryText
) {
query.prepare(queryText);
....
}
void someObject::initDatabse
{
QSqlDatabese db = QSqlDatabse::addDatabase("QPSQL", "myConnection");
.....//do connection stuff
}
void someObject::execQuery(const QString &queryText)
{
QSqlDatabse db = QSqlDatabase::database("myConnection");
QSqlQuery query(db);
query.prepare(queryText);
....
}
To copy to clipboard, switch view to plain text mode
Bookmarks