基于QT+MySQL实现的学生信息管理系统

1 项目简介

该项目使用的数据库为MySQL,目前仅实现当前主机的数据库连接。需要构造5张表:admin、stu、class、course和score。
界面设计思路如下图所示:
界面设计思路

2 数据库表结构简介

2.1 admin表(管理员信息表)

主要用于验证登陆信息。
admin表结构

2.2 stu表(学生信息表)

包含学生信息以及用于登陆验证的学号密码。
stu表结构

2.3 class表(班级信息表)

包含所有班级信息。
class表结构

2.4 course表(课程信息表)

包含所有课程信息。
course表结构

2.5 score表(分数信息表)

包含所有分数信息。
score表结构

3 需要注意的几个功能实现

3.1 在MySQl里建数据库时记得指定为utf-8字符

如建立stu_db数据库的MySQL语句为:
create database stu_db character set utf8;

3.2 连接MySQL数据库

需要包含的头文件 ,连接数据库代码如下:

void MainWindow::connect_mysql()
{
   
    QSqlDatabase db;
    if(QSqlDatabase::contains("mysql_connect")) {
   	//判断链接是否存在
        db = QSqlDatabase::database("mysql_connect");
    } else {
   
        //连接数据库
        db = QSqlDatabase::addDatabase("QMYSQL", "mysql_connect"); //数据库类型
        db.setHostName("localhost");    //设置为本地主机
        db.setDatabaseName("stu_db");   //选择数据库名称
        db.setUserName("root");         //设置用户名
        db.setPassword("passwordmysql");//设置密码
        if(!db.open())
            QMessageBox::critical(this, QString::fromLocal8Bit("错误"), QString::fromLocal8Bit("数据库连接失败!"), QString::fromLocal8Bit("确认"));
        //	else
        //		QMessageBox::information(this, QString::fromLocal8Bit("信息"), QString::fromLocal8Bit("数据库连接成功!"), QString::fromLocal8Bit("确认"));
    }

}

3.3 登陆界面设计思路

  1. 设计身份按钮组,判断登录用户是管理员or学生。
  2. 根据身份到相应的表里查询id和密码是否正确。若验证成功则跳转各自相应子窗口,否则弹出错误提示窗口。
    部分代码实现如下:
	void MainWindow::login()
{
   
    //获取登录信息
    QString user_t = ui->typeGroup->checkedButton()->text();
    QString id = ui->le_user->text();
    QString password = ui->le_password->text();
    QSqlDatabase db = QSqlDatabase::database("mysql_connect");
    QSqlQuery query(db);
    //    db.exec("SET NAMES 'GBK'")
哈哈哈,小白在学校期间的练手作品,很粗糙,很简陋,bug也有,但是对于新手来说还是很具有参考价值的,不喜勿喷,指出问题,共同进步。 项目简介: 1.项目名称:学生信息管理与收发系统(客户端+服务器)-(学生端-服务器-教师端) 2.使用工具:QT Creator 5.6 + Mysql5.6; 3.使用技术:C/S(客户端-服务器)、TCP/IP(协议)、socket、多线程、数据库; 4.项目描述:1)服务器:服务器监听一个IP地址,用来连接教师端和学生端,用于数据转发(eg:教师端发消息到服务器,在由服务器发消息到学生端); 2)教师端:教师端的主要功能是选择需要发送的学生(可以发送给不在线学生),输入将要发送给一部分学生的表格名(标题),和1-8个字段名(不能重复,因为数据库中的字段名不能重复),在点击发送后由服务器转发给学生端。在学生端收到消息并且提交消息后可以查询学生的信息和提交的信息,还可以将数据表导出成xls文件。文件发送还没有完成0.0…… 3)学生端:学生端可以编辑个人信息。学生端可以查询收到的并未提交的数据表并且提交信息。(可以收到离线信息)(在线学生收到消息提示后从数据库中查找教师端所发出的数据)(不在线学生在上线后从数据库中查找数据)。文件发送还没有完成0.0…… 5.注意事项:本系统只能用于局域网中的数据传输,并且由于本项目是在学校完成后并没有改动,所以服务器所监听的地址为我本身的地址,在下载后本系统是不可用的。还有就是数据库的问题,数据库是我在花钱买的一个远程服务器上搭建的,所以数据库也是不可用的。因此 1)在拿到本系统的代码时应该修改IP地址(服务器-教师端-学生端)改为你所需要的。 2)在拿到本系统的代码时应该把我所发的数据库加入到你的数据库中,并且修改代码中跟数据库有关的代码。 代码我就不贴了,自己下载看吧。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值