• 3263阅读
  • 1回复

[提问]Qt 数据库 事务的问题! [复制链接]

上一主题 下一主题
离线和尚也要
 

只看楼主 倒序阅读 楼主  发表于: 2014-03-23

        QSqlQuery query;
        if(QSqlDatabase::database().transaction()) //启动事务操作
        {
             query.exec("insert into stu values ('14', 'hello')");
             query.exec("insert into stu values ('1','14', 'hello')");
            if(!QSqlDatabase::database().commit())
            {
                qDebug() <<"error:"<<QSqlDatabase::database().lastError(); //提交
                if(!QSqlDatabase::database().rollback())
                    qDebug() << QSqlDatabase::database().lastError(); //回滚
            }

我的stu 表只有两列! 第二个插入语句应该是失败的,可为什么没有回滚呢?结果是第一条插入成功了。不解啊?
阿斯顿发送对方
离线XChinux

只看该作者 1楼 发表于: 2014-03-26
确认支持事务处理吗?用driver()->hasFeature(QSqlDriver::Transactions)获取一下是否支持事务处理。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个