首页| 论坛| 消息
主题:饶了我,MySQL!
回帖://公共链接数据库类
Dmysql::Dmysql(QString prefix,QObject *parent) : QObject(parent)
{
//缓存连接别名
m_prefix = prefix;
}
//析构函数
Dmysql::~Dmysql()
{
//断开数据库连接
this->closeConnect();
}
//新建立数据库链接
bool Dmysql::initCon()
{
QSqlDatabase db;
if(!QSqlDatabase::contains(m_prefix))
{
QJsonObject config = AppGlobal::m_config;
//新建 数据库实例
db = QSqlDatabase::addDatabase("QMYSQL", m_prefix);
db.setHostName(config.value("dbAddress").toVariant().toString());
db.setPort(config.value("dbPort").toVariant().toInt());
db.setUserName(config.value("dbUser").toVariant().toString());
db.setPassword(config.value("dbPasswd").toVariant().toString());
db.setDatabaseName(config.value("dbName").toVariant().toString());
}
else
{
db = QSqlDatabase::database(m_prefix);
}
//连接数据库
if(!db.isOpen())
{
if(!db.open())
{
m_err = db.lastError().databaseText();
qDebug() initCon()) return false;
//启动事务操作
bool ok = true;
QSqlDatabase db = QSqlDatabase::database(m_prefix);
if(db.transaction())
{
//查询数据局
QSqlQuery query(QSqlDatabase::database(m_prefix));
query.setForwardOnly(true);
for(int i = 0; i < array.count(); ++i)
{
QString sql = array.at(i);
if(!query.exec(sql))
{
m_err = sql + " ---- " + query.lastError().text();
qInfo()
下一楼›:angelus://公共链接数据库类
Dmysql::Dmysql(QString prefix,QObject *parent) : QObject(pa ..
‹上一楼:angelus:我都是一次操作,就连接一次数据库的,没有用数据库指针,直接实例的类,函数结束,类就 ..

查看全部回帖(17)
«返回主帖