#include "mainwindow.h"
void MainWindow::setMyLineEdit()
{
ui->stuNumber -> setMaxLength( 11 ); //学号限制为11位
ui->classLevel -> setMaxLength( 4 ); //年级限制为两位
ui->stuPhone -> setMaxLength( 11 ); //手机号13位
QRegExp regExp("[0-9]+$");
QRegExp dor("^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$");
QRegExpValidator *pattern= new QRegExpValidator(regExp, this);//创建了一个表达式
// QRegExpValidator *pat= new QRegExpValidator(dor, this);//创建了一个表达式
//交付使用
ui->stuNumber ->setValidator(pattern); //学号限输入制为数字
ui->classLevel ->setValidator(pattern); //班级限输入制为数字
ui->stuPhone ->setValidator(pattern); //学生
//设置提示内容
ui->stuName ->setPlaceholderText("示例:张三");
ui->stuNumber ->setPlaceholderText("11位学号");
ui->stuPhone ->setPlaceholderText("请输入手机号");
ui->className ->setPlaceholderText("示例:软件1班");
ui->classLevel ->setPlaceholderText("示例:2018");
ui->headTeacher ->setPlaceholderText("班主任名字");
ui->instructor ->setPlaceholderText("辅导员名字");
QStringList qstr_campus;
QStringList qstr_department;
QStringList qstr_sex;
QStringList qstr_buildingno;
QStringList qstr_floor;
QStringList qstr_dormitoryno;
QStringList qstr_dormitorylevel;
qstr_department << "计算机工程系" << "土木工程系" << "机电信息系" << "化学工程系" << "经济管理系";
qstr_campus << "请选择" << "北校区" << "南校区";
qstr_sex << "请选择" << "男" << "女";
qstr_buildingno << "请选择" << "1栋" << "2栋" << "3栋" << "4栋" << "5栋" << "6栋" << "7栋" << "8栋" << "9栋" << "10栋" << "11栋" << "12栋" << "13栋" << "14栋";
qstr_floor << "请选择" << "一层" << "二层" << "三层" << "四层" << "五层" << "六层" << "七层";
qstr_dormitorylevel << "请选择" << "一级宿舍" << "二级宿舍";
// qstr_dormitoryno << ;
ui->department ->addItems (qstr_department );
ui->campus ->addItems (qstr_campus );
ui->sex ->addItems (qstr_sex );
ui->buildingno ->addItems (qstr_buildingno );
ui->floor ->addItems (qstr_floor );
ui->dormitorylevel ->addItems (qstr_dormitorylevel );
}
void MainWindow::setAddTableWidget()
{
QTableWidgetItem *headerItem;
QStringList headerText;
headerText << "系别" << "校区" << "性别" << "楼号" << "楼层"<< "宿舍号"<< "床位号" << "宿舍级别" << "学 号" << "姓 名" << "学生手机号" << "年级";
ui->addTableWidget->setColumnCount(headerText.count());//列数设置为与 headerText的行数相等
for (int i = 0; i < ui->addTableWidget->columnCount(); i++)
{
headerItem = new QTableWidgetItem(headerText.at(i));//新建一个QTableWidgetItem, headerText.at(i)获取headerText的i行字符串
QFont font = headerItem->font();//获取原有字体设置
font.setBold(true);//设置为粗体
font.setPixelSize(12);//字体大小
headerItem->setTextColor("#2E8B57");//字体颜色
ui->addTableWidget->setHorizontalHeaderItem(i,headerItem);//设置表头单元格的Item
}
selectDormitoryno();
}
void MainWindow::selectDormitoryno()
{
ui->addTableWidget->clearContents();
QSqlDatabase db = star_mysql();
QSqlQuery *query = new QSqlQuery;
QString first = "SELECT * FROM test_db.dorm where ";
QString strdepartment = " department = '" + ui->department->currentText () + "'";
first += strdepartment;
QString campus = ui->campus ->currentText ();
QString strsex = QString::number(ui->sex ->currentIndex());
QString strbuildingno = QString::number(ui->buildingno ->currentIndex());
QString strfloor = QString::number(ui->floor ->currentIndex());
QString strdormitorylevel = QString::number(ui->dormitorylevel ->currentIndex());
if (campus != "请选择" ) first += (campus = " and campus = '" + campus + "'" );
if (strsex != "0") first += (strsex = " and sex = " + strsex );
if (strbuildingno != "0") first += (strbuildingno = " and buildingno = " + strbuildingno );
if (strfloor != "0") first += (strfloor = " and floor = " + strfloor );
if (strdormitorylevel != "0") first += (strdormitorylevel = " and dormitorylevel = " + strdormitorylevel);
query->prepare(first);
if(!query->exec()) qDebug() << "insert fail of selectDormitoryno";
QSqlRecord rec = query->record();
query->next();
//=================================================================================
QSqlQuery *querylist = new QSqlQuery;
QString str1;
QString str2;
// str1 = "SELECT * FROM test_db.stulist where stunumber = ";
// str2 = query->value(rec.indexOf("stunameber")).toString();
// str1 += str2;
// qDebug() << str1;
// querylist->prepare(str1);
// querylist->exec();
// QSqlRecord reclist = querylist->record();
// querylist->next();
// qDebug() << querylist->value(reclist.indexOf("stuname"));
// str2 = querylist->value(reclist.indexOf("stuname")).toString();
//=================================================================================
do{
// query->record();
//=================================================================================
str1 = "SELECT * FROM test_db.stulist where stunumber = ";
str2 = query->value(rec.indexOf("stunameber")).toString();
str1 += str2;
querylist->prepare(str1);
querylist->exec();
QSqlRecord reclist = querylist->record();
querylist->next();
//=================================================================================
ui->addTableWidget->setItem(g_rowCountForAddTableWidget, 0, new QTableWidgetItem( query->value(rec.indexOf("department" )).toString()));
ui->addTableWidget->setItem(g_rowCountForAddTableWidget, 1, new QTableWidgetItem( query->value(rec.indexOf("campus" )).toString()));
ui->addTableWidget->setItem(g_rowCountForAddTableWidget, 2, new QTableWidgetItem(g_CHSex [query->value(rec.indexOf("sex" )).toInt ()]));
ui->addTableWidget->setItem(g_rowCountForAddTableWidget, 3, new QTableWidgetItem(g_CHBuildingno [query->value(rec.indexOf("buildingno" )).toInt ()]));
ui->addTableWidget->setItem(g_rowCountForAddTableWidget, 4, new QTableWidgetItem(g_CHFloor [query->value(rec.indexOf("floor" )).toInt ()]));
ui->addTableWidget->setItem(g_rowCountForAddTableWidget, 5, new QTableWidgetItem( query->value(rec.indexOf("dormitoryno" )).toString()));
ui->addTableWidget->setItem(g_rowCountForAddTableWidget, 6, new QTableWidgetItem(g_CHBedno [query->value(rec.indexOf("bedno" )).toInt ()]));
ui->addTableWidget->setItem(g_rowCountForAddTableWidget, 7, new QTableWidgetItem(g_CHDormitorylevel [query->value(rec.indexOf("dormitorylevel")).toInt ()]));
ui->addTableWidget->setItem(g_rowCountForAddTableWidget, 8, new QTableWidgetItem(query->value(rec.indexOf( "stunameber" )).toString()));
//学生表的内容
ui->addTableWidget->setItem(g_rowCountForAddTableWidget, 9, new QTableWidgetItem(querylist->value(reclist.indexOf("stuname")).toString()));
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
资源推荐
资源详情
资源评论
收起资源包目录
用Qt通过ODBC连接MySQL数据库实现学生管理系统.zip (17个子文件)
ori_code_vip
StudentSormitoryManagementSystem.pro.user 22KB
StudentSormitoryManagementSystem.pro.user.bba2763 22KB
mainwindow.h 2KB
dialog.ui 3KB
dialog.cpp 1KB
batchAdd.cpp 66B
find.cpp 4KB
mainwindow.cpp 3KB
deletestu.cpp 4KB
addorm.cpp 9KB
main.cpp 423B
mainwindow.ui 30KB
StudentSormitoryManagementSystem.pro 1KB
add.cpp 17KB
StudentSormitoryManagementSystem.pro.user.4.8-pre1 23KB
dialog.h 367B
delet.cpp 175B
共 17 条
- 1
资源评论
毕业小助手
- 粉丝: 2750
- 资源: 5583
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功