----------------------------------------------------------------------------------------
界面的类:
运行截图如下图所示:
源码下载地址:
http://download.csdn.net/download/qq78442761/9971770
----------------------------------------------------------------------------------------
界面图如下所示:
下面是关于连接数据库的类:
#ifndef CONNMYSQL_H
#define CONNMYSQL_H
#include <QObject>
#include <QDebug>
#include <QStringList>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QString>
#include <QMessageBox>
#include <QSqlError>
#include <QSqlQueryModel>
#include <QTableView>
#include <QVariant>
//返回两个值
struct QStringAndBool
{
QString MesQString;
bool MesBool;
};
class ConnMysql : public QObject
{
Q_OBJECT
public:
explicit ConnMysql(QString UserName,QString PassWd,QString DataBase,QObject *parent = 0);
QStringAndBool LinkMySQL(); //连接Mysql
void DisLinkMysql(); //断开Mysql
void SelectAllStu(QString selectQString); //查询所有学生
void SelectAllClass(QString selectQString); //查询所以课程和查看当前时间段上课的课程
void SelectAllChoseClass(QString selectQString);
bool OkToClass(QString CardID, QString &Stu_id); //上课打卡
bool OverClass(QString CardID, QString &Stu_id); //下课打卡
bool TheStudentHaveAClass(QString Num,QString Class,QString Name); //检测这学生是否有课
bool MatchPeopleWithSQL(QString Num,QString Class,QString Name); //查看此卡是否有学生
//刷卡自动在数据库检索此人信息
bool AutoCheckStuMes(QString CardID,QString &Stu_id,QString &Stu_class,QString &Stu_name); //第一个参数为卡号,第二个产生为接收的学号,第三个参数为接收的班级号,第四个参数为姓名
//查询栏2:查询出勤信息
void ShowStuClassSelect(QString selectQString); //根据学号查询对应学号所有课程的出勤信息
void ShowStuClassSelect_Name(QString selectQString);//根据姓名查询对应学号所有课程的出勤信息
//教师统计功能:
void TeacherStatistics(QString selectQString);
//数据库管理
void DeleteStuNum(QString selectQString);
void AddStuNum(QString selectQString);
private:
QString m_UserName; //登录MySQL用户名
QString m_PassWd; //登录MySQL密码
QString m_DataBase; //登录到的个数据库
QSqlDatabase db;
QSqlQueryModel *model; //查询数据库
QTableView *view; //显示查询表
bool CommandIsOk(QString mes); //发送给数据库的代码是否能成功检索到
};
#endif // CONNMYSQL_H
界面的类:
/*本程序开源
* 作者QQ570176391,78442761
*
* 博客http://blog.csdn.net/qq78442761
*
*
*
*
*
*/
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QProcess>
#include <QByteArray>
#include <QLabel>
#include <QDateTime>
#include <QFile>
#include <QTimerEvent>
#include <QPixmap>
#include <QMessageBox>
#include <time.h>
#include <stdlib.h>
#include "currtime.h"
#include "connmysql.h"
#include "dealdata.h"
#include "comdata.h"
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
virtual void timerEvent(QTimerEvent *event);
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
ComData com; //用于添加信息的com
bool ComState; //com口的状态,用于定时器消息的判断
private slots:
void LoginMysql(); //登录Mysql
void disLinkMysql(); //断开数据库
void SelectAllStuBtn();
void SelectAllClassBtn();
void SelectAllChoseBtn();
void SelectInCourseOf(); //查看正在上的课
void OkTOClassBtn(); //打卡Btn
void OverClassBtn(); //下课打卡Btn
void OpenCOM(); //打开COM口,持卡人检验
void OpenCOM_SK(); //打开COM_SK口,进行上班打卡
void OpenCOM_XK(); //打开COM_XK口,进行下班打卡
//查询栏2:查询出勤信息
void showStuNumClass(); //根据学号查询对应学号所有课程的出勤信息
void showStuNumClass_Name();//根据姓名查询对应学号所有课程的出勤信息
//教师统计功能
void TeacherStatisticsBtn(); //统计出勤分数
//数据库管理
void DeleteStuNumBtn(); //更具学号删除学生
void AddStuNumBtn(); //添加学生
void SaveLog(); //生成日志文件
void on_AddStuaction_triggered();
private:
Ui::MainWindow *ui;
ConnMysql *Mysql; //连接Mysql以及各种操作
QStringAndBool MysqlLinkValues; //Mysql连接状态
void BtnSt(int St); //各个按钮的状态,分为登录前和登录后
ComData ComIsOK;
int m_timerID;
DealData dealdate;
int Stu_Face_Num; //用于记录当前学生的头像
QString m_OKToClass_CardID; //打开时记录的cardid
QString m_OverClass_CardID; //下课打卡记录cardid
QLabel *statusLabel; //时间的状态栏
void setStatusBar(); //设置状态栏
};
#endif // MAINWINDOW_H
运行截图如下图所示:
注意:本程序源码开源,在本博文开头可下载;
上一篇博文:
大四课程设计之基于RFID技术的考勤管理系统(三)数据库设计
http://blog.csdn.net/qq78442761/article/details/77951377
在此本次项目结束,谢谢大家的阅读