Qt系列

作者: iDucky131 | 来源:发表于2019-05-23 18:45 被阅读0次

    在使用TableView的时候将数据库中的数据用TableView显示的时候要注意一个坑!!

    不要用 QSqlQueryModel ,这样会导致TableView不可以修改!

    最好使用 QSqlTableModel
    默认情况下TableView可以修改,如果不想被修改再设置成不可以修改

    ui->TableViewName->setEditTriggers(QAbstractItemView::NoEditTriggers);
    

    需要修改的时候使用:

    ui->TableViewName->setEditTriggers(QAbstractItemView:AllEditTriggers);
    

    由于我在写的时候踩了这个坑,所以在此记录一下希望能帮到你!

    Qt中数据库的事务Transaction

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

    再修改数据时可以使用,如果所有需要的修改完成后,提交然后数据库自动判断是否发生错误,如果没有发生错误就执行并写入数据库中;如果发生错误就会回滚到没有进行数据修改之前的状态。

    相关文章

      网友评论

          本文标题:Qt系列

          本文链接:https://www.haomeiwen.com/subject/dvobzqtx.html