QSqlQueryModel查询数据库并显示到Qtableview控件
pro文件添加QT+=sql
#ifndef SQL_CON1_H
#define SQL_CON1_H
#include
#include
#include
static bool createConn()
{
QSqlDatabase db2=QSqlDatabase::addDatabase("QSQLITE");
db2.setDatabaseName("db17_6.db");
if(!db2.open())
{
QMessageBox::critical(0,"create failed","不能创建数据库连接",QMessageBox::Cancel);
return false;
}
QSqlQuery sql_query;
//创建表
sql_query.exec("create table student (id int primary key, name vchar,course int)");
sql_query.exec("insert into student values(1,'长三',22)");
sql_query.exec("insert into student values(2,'长五',25)");
sql_query.exec("insert into student values(3,'长六',26)");
return true;
}
#endif // SQL_CON1_H
main.cpp
#include "mainwindow.h"
#include "sql_con1.h"
#include
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
if(!createConn())
{
return 1;
}
MainWindow w;
w.show();
return a.exec();
}
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include
#include
#include
#include
#include
#include
//by txwtech
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
QSqlQueryModel *sql_model = new QSqlQueryModel(this);
sql_model->setQuery("select * from student");
sql_model->setHeaderData(0,Qt::Horizontal,tr("id"));
sql_model->setHeaderData(1,Qt::Horizontal,tr("名字"));
sql_model->setHeaderData(2,Qt::Horizontal,tr("年龄"));
QTableView *view = new QTableView(this);
view->setModel(sql_model);
setCentralWidget(view);
}
MainWindow::~MainWindow()
{
delete ui;
}