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 表只有两列! 第二个插入语句应该是失败的,可为什么没有回滚呢?结果是第一条插入成功了。不解啊?