#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QSqlTableModel>
#include <QTableView>
#include <QMessageBox>
#include <QSqlError>
#include<QDebug>
#include<QDate>
#include <QSqlQuery>
#include<QByteArray>
#include<QSqlRecord>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
model = new QSqlTableModel(this);
model->setTable("baojing");
//model->removeColumn(0);
// 设置编辑策略
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
model->select();
ui->tableView->setModel(model);
//QSqlQueryModel *queryModel = new QSqlQueryModel;
xlsx.write("A1","报警值");
xlsx.write("B1","姓名");
tableName = 0;
//初始化页数
pageTotal =100;
a =1;
//count =0;
count = ui->tableView->model()->rowCount();
pages =count/pageTotal;
ui->lineEdit_2->setText(QString::number(pages));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_cxButton_clicked()
{
model->setTable("baojing");
//model->removeColumn(0);
// 设置编辑策略
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
model->select();
ui->tableView->setModel(model);
count = ui->tableView->model()->rowCount();
qDebug()<<"总记录"<<count;
for(int i=0;i<count;i++){
QString name = model->record(i).value("baojingzhi").toString();
QString bb = model->record(i).value("姓名").toString();
qDebug()<<"报警值"<<i<<":"<<name;
xlsx.write(i+2,1,name);
xlsx.write(i+2,2,bb);
}
name = QString("book%1.xlsx").arg(tableName++);
qDebug()<<"表名:"<<name;
xlsx.saveAs(name);
/*
QSqlQueryModel *queryModel = new QSqlQueryModel;
queryModel->setQuery("select * from baojing;");
ui->tableView->setModel(queryModel);
QString a = queryModel->record(1).value("baojingzhi").toString();
qDebug()<<"索引1"<<a;
*/
}
void MainWindow::on_cxButton_2_clicked()
{
model->setTable("baojing");
model->select();
for(int i=0;i<1000;i++){
int rowCount = model->rowCount();
model->insertRow(rowCount);
model->setData(model->index(rowCount,0),i);
model->setData(model->index(rowCount,1),"i");
model->submitAll();
}
}
//首页
void MainWindow::on_firstButton_clicked()
{
QString strFilter = QString("1=1 limit %1,%2").arg(0).arg(10);
model->setFilter(strFilter);
model->select();
}
//上一页
void MainWindow::on_upButton_clicked()
{
//总页数
// pages = count/pageTotal;
if(a==0){
a=pages;
}
if(a<=1){
on_firstButton_clicked();
return;
}
//开头
int start = (a-1)*pageTotal;
//每页条目
int end = pageTotal;
// qDebug()<<"每页开头:"<<start<<"每页结尾:"<<end;
if(a>1){
this->updateInfo(start,end);
}
a--;
qDebug()<<"上一页的a="<<a;
}
void MainWindow::updateInfo(int start, int end){
model->setTable("baojing");
QString strFilter = QString(" 1=1 limit %1,%2").arg(start).arg(end);
model->setFilter(strFilter);
model->select();
}
//下一页
void MainWindow::on_downButton_clicked()
{
//总页数
//pages = count/pageTotal;
if(pages<=1){
on_firstButton_clicked();
return;
}
if(a>pages){
this->on_endButton_clicked();
}
//开头
int start = (a-1)*pageTotal;
//每页条目
int end = pageTotal;
//qDebug()<<"每页开头:"<<start<<"每页结尾:"<<end;
if(a<pages){
this->updateInfo(start,end);
}
a++;
qDebug()<<"下一页的a="<<a;
}
//尾页
void MainWindow::on_endButton_clicked()
{
a=pages;
int start = (a-1)*pageTotal;
//每页条目
int end = pageTotal;
this->updateInfo(start,end);
}
//跳转
void MainWindow::on_goButton_clicked()
{
//跳转页
int aim = ui->lineEdit->text().toInt();
a = aim;
int start = (a-1)*pageTotal;
//每页条目
int end = pageTotal;
this->updateInfo(start,end);
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Qt实现与excel到出和数据库查询分页.zip (26个子文件)
Qt与Excel相连和分页历程
下一页效果图.PNG 19KB
mysqlandExcel
mysqlandExcel.pro.user 43KB
mainwindow.cpp 2KB
chaxun.h 462B
connection.h 1KB
mainwindow.h 647B
mysqlandExcel.pro 432B
main.cpp 723B
mainwindow.ui 2KB
首页按钮效果图.PNG 19KB
fenye
mysqlandExcel.pro.user 43KB
mainwindow.cpp 4KB
chaxun.h 462B
connection.h 1KB
mainwindow.h 981B
mysqlandExcel.pro 432B
main.cpp 723B
mainwindow.ui 6KB
程序首页.PNG 20KB
excel表截图.PNG 16KB
尾页效果图.PNG 19KB
查询数据后的页面.PNG 15KB
控制台的输出.PNG 7KB
上一页效果图.PNG 19KB
跳转页效果图.PNG 16KB
qt与excel初始页面.PNG 9KB
共 26 条
- 1
资源评论
zglhs1008
- 粉丝: 4
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功