zoukankan      html  css  js  c++  java
  • Qt数据库2

    一、QSqlQueryModel

          The QSqlQueryModel class provides a read-only data model for SQL result sets.

           QSqlQueryModel is a high-level interface for executing SQL statements and traversing the result set. It is built on top of the lower-level QSqlQuery and can be used to provide data to view classes such as QTableView. For example:

    QSqlQueryModel *model = new QSqlQueryModel;
        model->setQuery("SELECT name, salary FROM employee");
        model->setHeaderData(0, Qt::Horizontal, tr("Name"));
        model->setHeaderData(1, Qt::Horizontal, tr("Salary"));
    
        QTableView *view = new QTableView;
        view->setModel(model);
        view->show();

    二、QSqlTableModel

      The QSqlTableModel class provides an editable data model for a single database table.

      QSqlTableModel is a high-level interface for reading and writing database records from a single table. It is build on top of the lower-level QSqlQuery and can be used to provide data to view classes such as QTableView. For example:

    QSqlTableModel *model = new QSqlTableModel(parentObject, database);
        model->setTable("employee");
        model->setEditStrategy(QSqlTableModel::OnManualSubmit);
        model->select();
        model->setHeaderData(0, Qt::Horizontal, tr("Name"));
        model->setHeaderData(1, Qt::Horizontal, tr("Salary"));
    
        QTableView *view = new QTableView;
        view->setModel(model);
        view->hideColumn(0); // don't show the ID
        view->show();

    We set the SQL table's name and the edit strategy, then we set up the labels displayed in the view header. The edit strategy dictates when the changes done by the user in the view are actually applied to the database. The possible values are OnFieldChange, OnRowChange, and OnManualSubmit.

    QSqlTableModel can also be used to access a database programmatically, without binding it to a view:

    QSqlQueryModel model;
        model.setQuery("SELECT * FROM employee");
        int salary = model.record(4).value("salary").toInt();
  • 相关阅读:
    Git与GitHub(利用git上传本地文件到GitHub上面)
    PHP之上传文件upload.php
    PHP之数据库连接配置文件
    MUI 之picker,dialog,a标签——刷新页面问题(保留picker选中的数据)
    MUI自定义select down 下拉框
    Google按ESC退出全屏(带iframe网站)解决问题方案
    提高开发效率 -> 图片
    sublime text
    头脑风暴
    http://www.uupoop.com/ps/
  • 原文地址:https://www.cnblogs.com/wiessharling/p/2856408.html
Copyright © 2011-2022 走看看