zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    C#获取Excel Sheet名称,对特殊字符、重名进行了处理
    10个你必须知道的jQueryMobile代码片段
    HTML 5 学习之应用程序缓存
    JS取地址栏参数的两种方法
    关于AJAX+HTML5+ASHX进行全静态页面的数据交互
    重病后的重生
    非常值得学习的java 绘图板源代码
    C#开发者通用性代码审查清单
    【week3】四人小组项目—东师论坛
    【week2】结对编程-四则运算 及感想
  • 原文地址:https://www.cnblogs.com/findumars/p/6352634.html
Copyright © 2011-2022 走看看