只有三个文件,完整如下,参考性很高
DbWrapper.h
#ifndef DBWRAPPER_H
#define DBWRAPPER_H
#include <QString>
#include <QtSql\QSqlQuery>
class DbWrapper
{
public:
DbWrapper()
{
isMain = false;
}
~DbWrapper()
{
if (QSqlDatabase::contains(tId) && !isMain)
{
QSqlDatabase::removeDatabase(tId);
qDebug() << u8"移出数据库线程."<<tId;
}
}
bool isMain = false;
QString tId;
};
#endif
Db.h
#ifndef DB_H
#define DB_H
#include <QtSql\QSqlQuery>
#include <QThread>
#include <QFileInfo>
#include <QtDebug>
#include <QSqlError>
#define SQL_ERROR(A) (##A.lastError().type()?(qDebug()\
<<##A.lastQuery(),1):(Db::mysqlState=true,0))
class Db
{
public:
static inline QSqlQuery GetSqlConn()
{
return QSqlQuery(getdb());
}
sta