• qt sql事务操作


    事务是数据库的一个重要功能,所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。在Qt中用transaction()开始一个事务操作,用commit()函数或rollback()函数进行结束。commit()表示提交,即提交事务的所有操作。具体地说就是将事务中所有对数据库的更新写回到数据库,事务正常结束。rollback()表示回滚,即在事务运行的过程中发生了某种故障,事务不能继续进行,系统将事务中对数据库的所有已完成的操作全部撤销,回滚到事务开始时的状态。

    如下面的例子:

    void Widget::on_pushButton_clicked()
    {
        if(QSqlDatabase::database().driver()->hasFeature(QSqlDriver::Transactions))
        { //先判断该数据库是否支持事务操作
            if(QSqlDatabase::database().transaction()) //启动事务操作
            {
                //下面执行各种数据库操作

                QSqlQuery query;
                query.exec("insert into student values (14, 'hello')");
                query.exec("delete from student where id = 1");
                if(!QSqlDatabase::database().commit())
                {
                    qDebug() << QSqlDatabase::database().lastError(); //提交
                    if(!QSqlDatabase::database().rollback())
                        qDebug() << QSqlDatabase::database().lastError(); //回滚
                 }
            }
        }
    }

    http://blog.sina.com.cn/s/blog_67173244010103ah.html

  • 相关阅读:
    sql server 中having 的使用注意事项
    js截取字符串
    .net截取字符串
    序列化二叉树
    把二叉树打印成多行
    35 拷贝赋值函数、虚函数
    34 char类型转换为int类型
    33 单/双精度有效数字、程序运行过程
    32 C++常见错误集锦
    31 位域、空类的sizeof值
  • 原文地址:https://www.cnblogs.com/findumars/p/6352634.html
Copyright © 2020-2023  润新知