#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
/* 创建数据模型 */
QStandardItemModel* model = new QStandardItemModel();
/* 设置表格标题行(输入数据为QStringList类型) */
model->setHorizontalHeaderLabels({"ID", "User Name", "City", "Classify", "Score", "Sign"});
/* 自适应所有列,让它布满空间 */
ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
/* 加载共10行数据,并每行有6列数据 */
for (int i = 0; i < 12; i++) {
model->setItem(i, 0, new QStandardItem(QString("")));
model->setItem(i, 1, new QStandardItem(QString("")));
model->setItem(i, 2, new QStandardItem(""));
model->setItem(i, 3, new QStandardItem(""));
model->setItem(i, 4, new QStandardItem(""));
model->setItem(i, 5, new QStandardItem(""));
}
/* 设置表格视图数据 */
ui->tableView->setModel(model);
/* 显示 */
ui->tableView->show();
connect_mysql();
Paging();
Number();
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::connect_mysql()
{
db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setPort(3306);
db.setDatabaseName("mysql");
db.setUserName("root");
db.setPassword("root");
if (!db.open()) {
qDebug("Sql connect failed.");
qDebug() << db.lastError().text();
} else {
qDebug("Sql connected.");
}
//关闭数据库
//db.close();
}
//初始化数量部分
void MainWindow::Number()
{
query=QSqlQuery(db);
//NumInt=0,NextInt=0,PreviousInt=0
QString sq="SELECT COUNT(*) FROM db_mysql;";
query.exec(sq);
while(query.next())//遍历数据库
{
//取出当前行
NumInt=query.value(0).toInt();
}
float num = NumInt;
num = num / 3;
QString str = QString::number(num, 'f', 1);
if(str.length()==1){
NumInt = NumInt / 3;
NextInt=1;
PreviousInt=NumInt;
}else{
NumInt = NumInt / 3 + 1;
NextInt=1;
PreviousInt=NumInt;
}
ui->lineEdit->setText(QString::number(NextInt));
ui->lineEdit_2->setText(QString::number(PreviousInt));
ui->lineEdit->setEnabled(false);
ui->lineEdit_2->setEnabled(false);
ui->pushButton_5->setEnabled(false);
if(PreviousInt==1){
ui->pushButton_6->setEnabled(false);
}
}
//初始化查询代码
void MainWindow::Paging()
{
QString qslname;
query=QSqlQuery(db);
QString sq="";
// 使数据库支持中文
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
//添加数据
//sq="INSERT INTO db_mysql VALUES(0,'SY2020111918', 123, '张三', 60, 0)";
//删除数据
//sq="DELETE FROM db_mysql WHERE M_AID = 'SY2020111917'";
//修改数据
//sq="UPDATE db_mysql SET M_NAME = '尊老爱幼' WHERE M_NAME = 'aa'";
// 查询数据
sq="SELECT * FROM db_mysql ORDER BY M_AID LIMIT 0,3";
if (query.exec(sq)) {
//qDebug("Sql connected.");
//qDebug("添加成功");
//qDebug("删除成功");
//qDebug("修改成功");
qDebug("查询成功");
} else {
//qDebug("Sql connect failed.");
//qDebug("添加失败");
//qDebug("删除失败");
//qDebug("修改失败");
qDebug("查询成功");
}
/* 设置表格标题行(输入数据为QStringList类型) */
model->setHorizontalHeaderLabels({"KEY_ID", "M_ID", "PassWord", "Name", "Age", "Sex"});
QList< QString > qstrList[200];
int lint=0,fint=0;
QString str="";
while (query.next()) {
qstrList[lint++].append(QString::number(query.value(0).toInt()));
qstrList[lint++].append(query.value(1).toString());
qstrList[lint++].append(QString::number(query.value(2).toInt()));
qstrList[lint++].append(query.value(3).toString());
qstrList[lint++].append(QString::number(query.value(4).toInt()));
qstrList[lint++].append(QString::number(query.value(5).toInt()));
}
lint=0;
for (int i = 0; i < 13; i++) {
model->setItem(i,0,new QStandardItem(qstrList[lint++].join("")));
model->setItem(i, 1, new QStandardItem(qstrList[lint++].join("")));
model->setItem(i, 2, new QStandardItem(qstrList[lint++].join("")));
model->setItem(i, 3, new QStandardItem(qstrList[lint++].join("")));
model->setItem(i, 4, new QStandardItem(qstrList[lint++].join("")));
model->setItem(i, 5, new QStandardItem(qstrList[lint++].join("")));
}
/* 设置表格视图数据 */
ui->tableView->setModel(model);
/* 显示 */
ui->tableView->show();
}
//上一页
void MainWindow::on_pushButton_5_clicked()
{
query=QSqlQuery(db);
QString sq="";
// 使数据库支持中文
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));NextInt--;
ParaInt = NextInt * 3;
ui->lineEdit->setText(QString::number(NextInt));
ui->pushButton_6->setEnabled(true);
if(NextInt == 1) {
ui->pushButton_5->setEnabled(false);
}
// 查询数据
sq="SELECT * FROM db_mysql ORDER BY M_AID LIMIT "+QString::number(ParaInt)+",3";
if (query.exec(sq)) {
qDebug("查询成功");
} else {
qDebug("查询失败");
}
/* 设置表格标题行(输入数据为QStringList类型) */
model->setHorizontalHeaderLabels({"KEY_ID", "M_ID", "PassWord", "Name", "Age", "Sex"});
QList< QString > qstrList[200];
int lint=0,fint=0;
QString str="";
while (query.next()) {
qstrList[lint++].append(QString::number(query.value(0).toInt()));
qstrList[lint++].append(query.value(1).toString());
qstrList[lint++].append(QString::number(query.value(2).toInt()));
qstrList[lint++].append(query.value(3).toString());
qstrList[lint++].append(QString::number(query.value(4).toInt()));
qstrList[lint++].append(QString::number(query.value(5).toInt()));
}
lint=0;
for (int i = 0; i < 13; i++) {
model->setItem(i,0,new QStandardItem(qstrList[lint++].join("")));
model->setItem(i, 1, new QStandardItem(qstrList[lint++].join("")));
model->setItem(i, 2, new QStandardItem(qstrList[lint++].join("")));
model->setItem(i, 3, new QStandardItem(qstrList[lint++].join("")));
model->setItem(i, 4, new QStandardItem(qstrList[lint++].join("")));
model->setItem(i, 5, new QStandardItem(qstrList[lint++].join("")));
}
/* 设置表格视图数据 */
ui->tableView->setModel(model);
/* 显示 */
ui->tableView->show();
}
//下一页
void MainWindow::on_pushButton_6_clicked()
{
query=QSqlQuery(db);
QString sq="";
// 使数据库支持中文
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
ParaInt = NextInt * 3;
NextInt++;
ui->lineEdit->setText(QString::number(NextInt));
if(NextInt > 1) {
ui->pushButton_5->setEnabled(true);
}
if(PreviousInt == NextInt) {
ui->pushButton_6->setEnabled(false);
}
// 查询数据
sq="SELECT * FROM db_mysql ORDER BY M_AID LIMIT "+QString::number(ParaInt)+",3";
if (query.exec(sq)) {
qDebug("查询成功");
} else {
qDebug("查询失败");
}
/* 设置表格标题行(输入数据为QStringList类型) */
model->setHorizontalHeaderLabels({"KEY_ID", "M_ID", "PassWord", "Name", "Age", "Sex"});
QList< QString > qstrList[200];
int lint=0,fint=0;
QString str="";
while (query.next()) {
qstrList[lint++].append(QString::number(qu
双子座断点
- 粉丝: 4w+
- 资源: 41
最新资源
- (源码)基于C语言的系统服务框架.zip
- (源码)基于Spring MVC和MyBatis的选课管理系统.zip
- (源码)基于ArcEngine的GIS数据处理系统.zip
- (源码)基于JavaFX和MySQL的医院挂号管理系统.zip
- (源码)基于IdentityServer4和Finbuckle.MultiTenant的多租户身份认证系统.zip
- (源码)基于Spring Boot和Vue3+ElementPlus的后台管理系统.zip
- (源码)基于C++和Qt框架的dearoot配置管理系统.zip
- (源码)基于 .NET 和 EasyHook 的虚拟文件系统.zip
- (源码)基于Python的金融文档智能分析系统.zip
- (源码)基于Java的医药管理系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈