CC++Qt数据库SqlRelationalTable关联表详解


当前第2页 返回上一页

创建完成后,我们在程序的构造函数直接实现绑定即可,这段代码很简单如下:

// https://www.cnblogs.com/lyshark
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    InitSQL();

    // 打开数据库
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("./lyshark.db");
    if (!db.open())
        return;

    this->setCentralWidget(ui->tableView);
    ui->tableView->setSelectionBehavior(QAbstractItemView::SelectItems);
    ui->tableView->setSelectionMode(QAbstractItemView::SingleSelection);
    ui->tableView->setAlternatingRowColors(true);

    // 打开数据表
    tabModel=new QSqlRelationalTableModel(this,DB);
    tabModel->setTable("Student");                              // 设置数据表
    tabModel->setEditStrategy(QSqlTableModel::OnManualSubmit);  // OnManualSubmit
    tabModel->setSort(0,Qt::AscendingOrder);

    tabModel->setHeaderData(0,Qt::Horizontal,"学号");
    tabModel->setHeaderData(1,Qt::Horizontal,"姓名");
    tabModel->setHeaderData(2,Qt::Horizontal,"学院");

    // 设置代码字段的查询关系数据表
    // 打开Departments表,关联ID和department
    tabModel->setRelation(2,QSqlRelation("Departments","departID","department"));
    theSelection=new QItemSelectionModel(tabModel);

    ui->tableView->setModel(tabModel);
    ui->tableView->setSelectionModel(theSelection);
    ui->tableView->setItemDelegate(new QSqlRelationalDelegate(ui->tableView)); // 为关系型字段设置缺省代理组件

    tabModel->select();                                                        // 打开数据表
}

MainWindow::~MainWindow()
{
    delete ui;
}

最终绑定效果如下图:

到此这篇关于C/C++ Qt数据库SqlRelationalTable关联表详解的文章就介绍到这了,更多相关C++ Qt SqlRelationalTable关联表内容请搜索


标签:SQLite

返回前面的内容

相关阅读 >>

flask中sqlalchemy模块的实例用法

android中应用多进程的整理总结

android操作Sqlite基本用法

python实现从sql型数据库读写dataframe型数据的方法【基于pandas】

sqlserver、mysql、oracle三种数据库的优缺点总结

python使用Sqlite3第三方库读写Sqlite数据库的方法步骤

Sqlite数据库管理相关命令的使用介绍

navicat for Sqlite怎么下载

c#操作Sqlite数据库方法小结(创建,连接,插入,查询,删除等)

Sqlite 入门教程四  增删改查 有讲究

更多相关阅读请进入《Sqlite》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...