#include "admin_main.h"
#include "ui_admin_main.h"
#include <QMessageBox>
#include <QSqlError>
#include<QTextEdit>
#include <QStandardItemModel>
#include <QTableView>
admin_main::admin_main(QWidget *parent) :
QDialog(parent),
ui(new Ui::admin_main)
{
ui->setupUi(this);
}
admin_main::~admin_main()
{
delete ui;
}
void admin_main::on_pushButton_4_clicked()
{
model = new QSqlTableModel(this);
model->setTable("teacher");
//设置保存策略
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
model->select(); //查询整张表
ui->tableView->hideColumn(0);
model->setHeaderData(1, Qt::Horizontal, QObject::tr("教师编号"));
model->setHeaderData(2, Qt::Horizontal, QObject::tr("密码"));
model->setHeaderData(3, Qt::Horizontal, QObject::tr("姓名"));
model->setHeaderData(4, Qt::Horizontal, QObject::tr("性别"));
model->setHeaderData(5, Qt::Horizontal, QObject::tr("系部号"));
model->setHeaderData(6, Qt::Horizontal, QObject::tr("信息"));
ui->tableView->setModel(model);
}
void admin_main::on_pushButton_7_clicked()
{
QSqlQuery query;
query.prepare("set foreign_key_checks=0");
query.exec();
// int curRow = ui->tableView->currentIndex().row();
// //获取选中的行
// bool bF = model->removeRow(curRow);
// //删除该行
// int ok = QMessageBox::warning(this,tr("删除当前行!"),tr("你确定"
// "删除当前行吗?"),
// QMessageBox::Yes,QMessageBox::No);
// if(ok == QMessageBox::No)
// {
// model->revertAll(); //如果不删除,则撤销
// }
// else
// bF = model->submitAll(); //否则提交,在数据库中删除该行
// query.prepare("set foreign_key_checks=1");
// query.exec();
//获取选中行
int curRow = ui->tableView->currentIndex().row();
//删除该行
model->removeRow(curRow); //只是model中删除,还未提交到数据库
int ok = QMessageBox::warning(this,QStringLiteral("删除当前行"),
QStringLiteral("确定与否?"),
QMessageBox::Yes,QMessageBox::No);
if(ok == QMessageBox::No)
model->revertAll();
else
model->submitAll();
}
void admin_main::on_pushButton_clicked()
{
model->database().transaction();//开始事物操作
if(model->submitAll())
model->database().commit();
else{
model->database().rollback(); //回滚
QMessageBox::warning(this,tr("tableModel"),
QStringLiteral("数据库错误:")+tr("%1").arg(model->lastError().text()));
}
}
void admin_main::on_pushButton_5_clicked()
{
model = new QSqlTableModel(this);
model->setTable("student");
//设置保存策略
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
model->select(); //查询整张表
ui->tableView->hideColumn(0);
model->setHeaderData(1, Qt::Horizontal, QObject::tr("学号"));
model->setHeaderData(2, Qt::Horizontal, QObject::tr("密码"));
model->setHeaderData(3, Qt::Horizontal, QObject::tr("姓名"));
model->setHeaderData(4, Qt::Horizontal, QObject::tr("性别"));
model->setHeaderData(5, Qt::Horizontal, QObject::tr("班级号"));
model->setHeaderData(6, Qt::Horizontal, QObject::tr("系部号"));
ui->tableView->setModel(model);
}
void admin_main::on_pushButton_2_clicked()
{
//获取选中行
int curRow = ui->tableView->currentIndex().row();
//删除该行
model->removeRow(curRow); //只是model中删除,还未提交到数据库
int ok = QMessageBox::warning(this,QStringLiteral("删除当前行"),
QStringLiteral("确定与否?"),
QMessageBox::Yes,QMessageBox::No);
if(ok == QMessageBox::No)
model->revertAll();
else
model->submitAll();
}
void admin_main::on_pushButton_8_clicked()
{
model->database().transaction();//开始事物操作
if(model->submitAll())
model->database().commit();
else{
model->database().rollback(); //回滚
QMessageBox::warning(this,tr("tableModel"),
QStringLiteral("数据库错误:")+tr("%1").arg(model->lastError().text()));
}
}
void admin_main::on_pushButton_6_clicked()
{
model = new QSqlTableModel(this);
model->setTable("performance");
//设置保存策略
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
model->select(); //查询整张表
ui->tableView->hideColumn(0);
model->setHeaderData(1, Qt::Horizontal, QObject::tr("竞赛名称"));
model->setHeaderData(2, Qt::Horizontal, QObject::tr("学生姓名"));
model->setHeaderData(3, Qt::Horizontal, QObject::tr("姓别"));
ui->tableView->hideColumn(4);
model->setHeaderData(5, Qt::Horizontal, QObject::tr("分数"));
ui->tableView->hideColumn(6);
ui->tableView->setModel(model);
}
void admin_main::on_pushButton_9_clicked()
{
model->database().transaction();//开始事物操作
if(model->submitAll())
model->database().commit();
else{
model->database().rollback(); //回滚
QMessageBox::warning(this,tr("tableModel"),
QStringLiteral("数据库错误:")+tr("%1").arg(model->lastError().text()));
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 1、该资源内项目代码都是经过测试运行成功,功能正常的情况下才上传的,请放心下载使用。 2、适用人群:主要针对计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、数学、电子信息等)的同学或企业员工下载使用,具有较高的学习借鉴价值。 3、不仅适合小白学习实战练习,也可作为大作业、课程设计、毕设项目、初期项目立项演示等,欢迎下载,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于QT和MYSQL的学生竞赛管理系统源码(有学生 老师 管理员三种用户的登陆+数据库设计采用三范式).zip (41个子文件)
code_30312
mis
competition_information_teacher.cpp 2KB
user_main.cpp 2KB
score_inquiry.h 778B
admin_main.h 822B
mis.pro.user 23KB
score_inquiry.ui 4KB
competition_information.ui 4KB
mainwindow.h 1KB
competition_information_release.h 1KB
apply_game.ui 2KB
user_main.ui 8KB
dialog.ui 12KB
dialog.cpp 3KB
competition_information.h 852B
mainwindow.cpp 5KB
competition_information_release.ui 7KB
apply_game.h 283B
competition_information.cpp 1KB
competition_information_release.cpp 2KB
register.cpp 198B
mis.pro.user.7456149 23KB
main.cpp 173B
register.ui 10KB
register.h 267B
mainwindow.ui 7KB
admin_main.cpp 6KB
mis.pro 1KB
apply_game.cpp 215B
teacher_main.h 1018B
score_inquiry_all.cpp 1KB
admin_main.ui 2KB
teacher_main.cpp 1KB
teacher_main.ui 5KB
user_main.h 700B
competition_information_teacher.ui 4KB
score_inquiry_all.h 874B
dialog.h 489B
competition_information_teacher.h 1022B
score_inquiry.cpp 1KB
score_inquiry_all.ui 4KB
学生竞赛管理系统.sql 25KB
共 41 条
- 1
资源评论
龙年行大运
- 粉丝: 996
- 资源: 3859
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功