C#结合Access数据库进行《学生成绩管理系统》项目设计

本文介绍了使用C#语言开发的学生成绩管理系统,包括管理员和学生登录,实现了成绩的增删改查等功能。系统采用Access数据库存储数据,用户界面友好,具备查询、个人信息管理以及打印功能。管理员界面可进行成绩管理,而学生只能查询成绩和修改密码。所有功能均通过Form窗体实现,代码中利用panel容器进行界面布局。
摘要由CSDN通过智能技术生成

学生成绩管理系统

这学期学习了C#,最后老师验收的时候做出了这个项目。 具体项目功能很简单,有很多设计还有缺陷,当时为了赶工,很多的结构功能逻辑有问题。鉴于已完成并个人答辩,那就让它以现在的形式存在吧。
基本的增删改查都有,按照老师的实验要求,以下功能都基本存在。

首先先贴出项目大概的基础功能:
项目要求
用户登录分为——管理员与学生。
用户管理中的其他功能都是基本的增删改查实现的。

软件效果
登录页面

在这里插入图片描述
登录效果
在这里插入图片描述
这里有对用户的名字,密码的空判断;为空则会提示用户,输入正确之后,还需要用户对自身的身份选择,需要完全匹配后才能登录进对应的界面。

代码实现

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OleDb;

namespace WindowsFormsApp2
{
   
    public partial class Form1 : Form
    {
   
        public static string STname;
        public static string Spw;
        
        public Form1()
        {
   
            InitializeComponent();
        }

        private void button2_Click(object sender, EventArgs e)
        {
   
            this.Close();
        }

        private void button1_Click(object sender, EventArgs e)
        {
   
            string constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Database4.mdb";
            //连接数据库
            OleDbConnection con = new OleDbConnection(constr);
            string commstrAdmin = "select count(*) from [UTeacher] where Tnum ='" + textBox1.Text.Trim() + "'and Tpwd='" + textBox2.Text.Trim() + "'";
            string commstrPubilc = "select count(*) from [UStudent] where Snum = '" + textBox1.Text.Trim() + "'and Spwd='" + textBox2.Text.Trim() + "'";
            //两个参数,一个方法一个对象
            OleDbCommand comd = new OleDbCommand(commstrAdmin, con);
            OleDbCommand comd2 = new OleDbCommand(commstrPubilc, con);
            con.Open();

            if (con.State == ConnectionState.Closed)
            {
   
                con.Open();
            }
            if (textBox1.Text == "" || textBox2.Text == "")
            {
   
                if (textBox1.Text == "" && textBox2.Text == "")
                {
   
                    label3.Text = "请输入用户名跟密码";
                }
                else
                {
   
                    if (textBox1.Text == "")
                    {
   
                        label3.Text = "请输入正确用户名";

                    }
                    if (textBox2.Text == "")
                    {
   
                        label3.Text = "请输入正确的密码";
                    }
                }
            }
            else
            {
   
                if (radioButton1.Checked || radioButton2.Checked)
                {
   
                    //  RadioButton radi = ()
                    if (radioButton1.Checked)
                    {
   
                        if ((Convert.ToInt32(comd.ExecuteScalar())) > 0)
                        {
   
                            //    label3.Text = "登录成功!欢迎您 " + radioButton1.Text + textBox1.Text;
                            STname = textBox1.Text;
                            Spw = textBox2.Text;
                            MessageBox.Show("登录成功!欢迎您 " + radioButton1.Text + textBox1.Text);
                            Form2 fr = new Form2();
                            fr.Show();
                            this.Hide();
                        }

                        else
                        {
   
                            MessageBox.Show("管理员用户名或密码错误!");
                        }
                    }
                    if (radioButton2.Checked)
                    {
   
                        if ((Convert.ToInt32(comd2.ExecuteScalar())) > 0)
                        {
   
                            STname = textBox1.Text;
                            Spw = textBox2.Text;
                            MessageBox.Show("登录成功!欢迎您 " + radioButton2.Text + textBox1.Text);
                            Form3 fr = new Form3();
                            fr.Show();
                            this.Hide();
                        }
                        else
                        {
   
                            MessageBox.Show("普通用户名或密码错误!");
                            textBox1.Focus();
                        }
                    }


                }
                //  Form2 fr = new Form2();
                //   fr.Show();
                //  this.Hide();

                else
                {
   
                    label3.Text = "请选择登录身份!";
                }
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
   
          //  skinEngine1.SkinFile = "Longhorn.ssk";
           
        }
    }
}

管理员主页面

在这里插入图片描述
这个界面我没有插入任何实质性的代码,全是跳转代码
每个功能都有区分的新建的Form

查询
这里是可以分别按学号、工号查询;也可以一起全部查询出来。

在这里插入图片描述
代码实现

using System.Data.OleDb;

namespace WindowsFormsApp2
{
   
    public partial class 主查询窗口 : Form
    {
   
        public 主查询窗口()
        {
   
            InitializeComponent();
        }
        private void ucBtnExt1_BtnClick(object sender, EventArgs e)
        {
   
            textBox3.Text = "";
            string strcon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Database4.mdb";
            OleDbConnection con = new OleDbConnection(strcon);
            if (con.State == ConnectionState.
山东交通学院 MIS课 程 设 计 任 务 书 题 目 MIS课程设计——学生信息管理系统 学 院 交通土建工程学院 专 业 地理信息科学 班 级 学生姓名 学 号 1 月 2 日至 1 月 5 日 共 1 周 指导教师(签字) 院 长(签字) 2018年 1 月 5 日 一、 设计内容及要求 要求设计一个学生信息管理系统。使用的数据库不限,可以是Oracle,也可以是Access或其他。开发平台为Visual studio,开发语言为C#。系统包括5个模块,具体内容如下: 1、学生登录模块: 包括用户登录号、用户名、用户密码、权限; 2、学生的个人信息模块:包括学号、姓名、性别、出生年月、系别、年级; 3、学生所修课程管理模块: 包括课程号、课程名、课程类型、学分、教师号、学生年级; 4、学生考试成绩查询模块:包括学生学号、课程号、所选课程成绩; 5、登录密码修改模块:包括用户名、用户密码、新密码; 二、 设计原始资料 提供开发软件Oracle、VS2010等的安装包 。测试系统所使用的数据由学生自己输入。 三、 设计完成后提交的文件和图表 设计完成后,提交学生信息管理系统设计的学生登录模块、学生的个人信息模块、学生所修课程管理模块、学生考试成绩查询模块、登录密码修改模块等5大模块设计的数据表,界面以及数据库文件和程序代码。 四、进程安排 2018年1月2日:发任务书,布置题目、讲解要求,并进行系统分析与资料收集; 2018年1月3日:系统设计并建立数据库; 2018年1月4日:建立相关界面以及实现所有功能; 2018年1月5日:测试软件,文档编写并提交资料。 四、 主要参考资料 1、《C#程序设计教程》, 蒙祖强,清华大学出版社, 2010.10 2、《C#程序设计教程》, 李春葆等, 清华大学出版社, 2010.1 3、《C#程序设计教程》, 刘甫迎等, 电子工业出版社, 2012.8 4、《Oracle实用教程》,郑阿奇,清华大学出版社 PS:一开始打算用Oracle数据库完成,但是完成过程中出现太多错误和阻碍,加之临近考试复习时间紧迫,所以最终选择了Access数据库Access数据库相当简单了
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值