【Qt】导入SQLite数据库到QTableView

上一篇博文中【传送门】已经实现了Qt对SQLite的基本操作方法。如果我们有在Qt中显示SQLite数据库数据的需求,QTableView是最佳的选择,不同于QTableWidget的是,它可以链接到外部数据库,从而在QTableView中操作外部数据库。
在上一篇源码的基础上,需要在头文件头包含

#include <QSqlQueryModel>

并在主界面中加入一个tableview,界面变成以下这样。我将要在下面的tabview中显示数据库中的数据。
在这里插入图片描述
上一篇源码中,点击【读取该表内所有记录】后,程序将会选择表名中设置的表,然后读出所有数据打印到调试窗口。现在我们重写【读取该表内所有记录】按钮的程序,使其功能变为将数据库中指定表的内容显示在tableview中。
重写如下,其关键在于model->setQuery这句,其功能和上篇中的sql_q->exec(QString)一样,都是运行组好的SQLite命令。

//显示所选表所有内容
void MainWindow::on_pushButton_4_clicked()
{
    QString cmd;
    QSqlQueryModel *model;
    model = new QSqlQueryModel(this);
    cmd += "select * from ";
    cmd += ui->lineEdit->text();
    model->setQuery(cmd);
    ui->tableView->setModel(model);
}

运行结果如下,与预期相符。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/spiremoon/article/details/106239691