QSqlDatabase db; QSqlQuery query; /**************************连接数据库*******************/ db=QSqlDatabase::addDatabase("QODBC"); //连接的是SQL server db.setDatabaseName(QString("DRIVER={SQL SERVER};" "SERVER=%1;" //服务器名称 "DATABASE=%2;"//数据库名 "UID=%3;" //登录名 "PWD=%4;" //密码 ) .arg("127.0.0.1")//服务器名称 连接的本地服务器 .arg("SI**E")//数据库名 数据库库名大写 .arg("s**a")//登录名 .arg("123**"));//密码 query=QSqlQuery::QSqlQuery(db);//必须强行绑定数据库 不然打不开数据库 if(!db.open()) //如果数据库打开失败 { qDebug() << "数据库打开失败"; } else { qDebug() << "数据库打开成功"; }
/********************显示数据**************/
QString strBegTime = ui->dateTimeEdit->text(); //开始时间
QString strEndTime = ui->dateTimeEdit_2->text();//结束时间
qDebug()<<"开始时间"<<strBegTime<<"结束时间"<<strEndTime<<endl;
//搜索命令
QSqlTableModel *stuModel;
stuModel->setTable("ea**re ");//数据库表名
QString Sql = QString("Time>'%1' and Time< '%2'").arg(strBegTime).arg(strEndTime);//列名来做筛选
stuModel->setHeaderData(0, Qt::Horizontal, tr("序号"));
stuModel->setHeaderData(1, Qt::Horizontal, tr("姓名"));
stuModel->setHeaderData(2, Qt::Horizontal, tr("班级"));
stuModel->setHeaderData(3, Qt::Horizontal, tr("入学时间"));
stuModel->setHeaderData(4, Qt::Horizontal, tr("毕业时间"));
stuModel->setFilter(Sql);
stuModel->select();//必须要有 不然没数据显示
ui->tableView_2->setModel( stuModel);
ui->tableView_2->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);//自适应 可随窗口来进行拖动
ui->tableView_2->verticalHeader()->setSectionResizeMode(QHeaderView::Stretch);//自适应
ui->tableView_2->setColumnHidden(0,true);//隐藏第1列 可以根据需要隐藏某列
ui->tableView_2->setColumnHidden(1,true);//隐藏第2列