C#windows学生信息管理系统,数据库sqlserver

中文摘要

为了提高学生信息的管理效率,本课题使用C#语言和SQL Server数据库系统开发了一个WinForm类型的学生信息管理系统对学校学生信息进行高效管理,以提升教学质量。本系统包含管理员登录注册、管理员信息修改模块、添加学生信息模块、删除学生信息模块、查找学生信息模块、修改学生信息模块六个模块。设计报告从可行性研究与项目开发计划及系统开发环境;系统需求分析;概要设计(含数据库设计)和详细设计;各功能模块的具体编码实现;系统测试;设计总结六个方面进行了阐述。通过该系统的开发,对软件项目设计与开发工作的完整流程进行了实践。

关键词:学生信息管理系统,C#,SQL Server
更多源码和原文档获取:winform之家

1软件可行性研究与项目开发计划

1.1问题定义

1.2可行性分析

1.3进度计划

2.需求分析

2.1引言

2.2功能说明

2.3其他要求

操作系统:Windows10

运行环境:VisualStudio

数据库环境:SQL Server

3.概要设计

3.1功能模块设计

本学生信息管理系统主要为登录注册、添加学生信息、删除学生信息、查找学生信息、修改学生信息等。

系统功能模块图如图3-1所示。

在这里插入图片描述

图3-1系统功能模块图

1)登录注册功能

A.登录:输入用户名和密码登录,验证用户名和密码,进行登录。

B.注册:新建用户和密码,用来实现登陆,并有基本信息录入。

2)增删查改功能

A.管理员注册信息修改:管理员自身信息更改。

B.添加学生信息:对学生学生信息的录入。

C.删除学生信息:对毕业学生信息的移除。

D.查找学生信息:对学号和姓名提供查询学生信息功能。

E.修改学生信息:对学生的错误信息进行修改。

3.2数据库设计

4.详细设计

4.1总体设计

(1)系统用例图

(2)系统体系结构

(3)E-R图

4.2功能模块详细分析

5.软件编码

5.1管理员模块

(1)登录模块设计

在这里插入图片描述

5-1.1登录窗口

此窗体界面用于管理员的登录,无账号的用户可点击注册。

登录窗口关键功能代码如下:

 private void btnLogin_Click(object sender, EventArgs e)
 {
     try
     {
         if (textBox1.Text == "" || textBox2.Text == "")
         {
             MessageBox.Show("请输入完整信息!!!");
             return;
         }
         string count = textBox1.Text;
         string pwd = ToMD5(textBox2.Text);
         Models.Login user = new Models.Login { account = count,password=pwd };
         bool result = ma.Login(user);
         if (result)
         {
             this.Hide();
             main mainForm = new main(textBox1.Text);
             mainForm.StartPosition = FormStartPosition.CenterScreen;
             mainForm.Show();
         }
         else
         {
             MessageBox.Show("账号或密码错误!!!");
         }
     }
     catch
     {
         MessageBox.Show("登录失败!!!");
     }
     
 }

(2)注册模块设计

在这里插入图片描述

5-1.2注册窗口

此窗体界面用于管理员的注册,其中对账号、昵称、密码进行了格式验证,账号为4位数字,昵称只能为中文,密码需要两次输入一致方可成功注册。

注册界面关键功能代码如下:

 private void btnSubmit_Click(object sender, EventArgs e)
 {
     string count = txt_count.Text;
     string pwd =ToMD5(txt_pwd.Text);
     string nc = txt_name.Text;
     string rePwd = ToMD5(txt_submit.Text);
     if (count == "" || pwd == "" || nc == "" || rePwd == "")
     {
         MessageBox.Show("请输入完整信息!!!");
         return;
     }
     if (!ver.IsCode(txt_count.Text))    //验证账号格式是否正确4-16位数字
     {
         MessageBox.Show("格式不正确,请输入非0开头的4-16位数字");
         return;
     }

     if (pwd == rePwd)
     {
         Models.Login user = new Models.Login { account = count, password = pwd, name = nc };
         bool result = ma.Register(user);

         if (result)
         {
             MessageBox.Show("注册成功!!!");
             txt_count.Text = "";
             txt_pwd.Text="";
             txt_name.Text="";
             txt_submit.Text="";
         }
         else
         {
             MessageBox.Show("注册失败!!!");
         }
     }
     else
     {
         MessageBox.Show("密码输入不一致,请重新输入!!!");
     }
 }

5.2主页面设计

在这里插入图片描述

5-2主页面窗口

此窗体界面用于管理员登录成功的展示,作为各个子功能模块的入口。

主界面关键功能代码如下:

 private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
 {
     Add mainForm = new Add();
     mainForm.StartPosition = FormStartPosition.CenterScreen;
     mainForm.Show();
 }

 private void upin(object sender, LinkLabelLinkClickedEventArgs e)
 {
     Update mainForm = new Update();
     mainForm.StartPosition = FormStartPosition.CenterScreen;
     mainForm.Show();
 }

5.3管理员修改密码模块设计

在这里插入图片描述

5-3修改密码窗口

此窗体界面用于管理员密码修改

修改密码关键功能代码如下:

private void button1_Click(object sender, EventArgs e)
{
     if (box2.Text == "" || box3.Text == "")
     {
         MessageBox.Show("请输入完整");
     }
     else
     {
         if (box2.Text.Equals(box3.Text))
         {
             string no = SendAccount;
             string pwd = ToMD5(box2.Text);
             Models.Login u = new Models.Login
             {
                 account = no,
                 password = pwd
             };
             bool result = lm.UpdatePwd(u);
             if (result)
             {
                 MessageBox.Show("修改成功");
             }
             else
             {
                 MessageBox.Show("修改失败");
             }
         }
         else
         {
             MessageBox.Show("两次密码不一致");
         }
     }
 }

5.4添加信息管理模块设计

在这里插入图片描述

5-4添加窗口

此窗体界面用于学生信息的添加,实现对学生信息的添加,其中对输入数据进行了格式验证,学号是数字形式,联系电话为11位基本格式,性别选择指定字段,姓名为汉字。

学生信息的添加关键功能代码如下:

private void btnSubmit_Click(object sender, EventArgs e)
{
    if (!(ver.IsNumber(box1.Text)))
    {
        MessageBox.Show("学号只能为数字!");
        return;
    }
    if (!ver.IsChinese(box2.Text))
    {
        MessageBox.Show("姓名只能为中文");
        return;
    }
    if (!(box3.Text == "男" || box3.Text == "女"))
    {
        MessageBox.Show("性别只能是男/女");
        return;
    }
    if (!ver.IsHandset(box7.Text))
    {
        MessageBox.Show("联系电话格式错误,请重新输入!!!");
        return;
    }

    if (checkNull())
    {
        string b1 = box1.Text, b2 = box2.Text, b3 = box3.Text, b4 = box4.Text, b5 = box5.Text, b6 = box6.Text, b7 = box7.Text;
        Tab items = new Tab { box1 = b1, box2 = b2, box3 = b3, box4 = b4, box5 = b5, box6 = b6, box7 = b7 };
        bool result = tabm.Add(items);
        if (result)
        {
            MessageBox.Show("添加成功");
            getAll();
            ClearAll();
        }
        else
        {
            MessageBox.Show("学号重复,添加失败");
        }
    }
    else
    {
        MessageBox.Show("请输入完整信息");
    }
}

5.5删除信息模块设计

在这里插入图片描述

5-5删除信息窗口

此窗体界面用于数据的删除,管理员可以通过输入要删除的学生学号进行删除操作。

删除关键功能代码如下:

private void button1_Click(object sender, EventArgs e)
{
    string dels = box1.Text;
    if (tabm.GetOneEqual(dels).Rows.Count == 0)         //数据库是否有需要删除的数据
    {
        MessageBox.Show("没有检索到要删除的数据");
        return;
    }
    if (box1.Text.Equals(""))
    {
        MessageBox.Show("请输入要删除的数据");
    }
    else
    {
        string a = box1.Text;
        Tab del = new Tab { box1 = a };
        bool result = tabm.Delete(del);
        if (result)
        {
            MessageBox.Show("删除成功");
        }
        else
        {
            MessageBox.Show("删除失败");
        }
        getAll();
        box1.Text = "";
    }
}

5.6查询信息模块设计

在这里插入图片描述

5-6查询信息窗口

此窗体界面用于查询数据,查询分为了精确查找和模糊查找,精确查找是通过学生学号进行精确的学生信息查询,模糊查询是通过学生姓名进行关键字查询。

查询关键功能代码如下:

private void select_equal_Click(object sender, EventArgs e)
{
    if (textBox1.Text.Equals(""))
    {
        MessageBox.Show("未检索到你的输入信息!");
    }
    else
    {
        dataGridView1.DataSource = tabm.GetOneEqual(textBox1.Text);
    }
}
private void getAll()
{
    dataGridView1.DataSource = tabm.GetAllData();
}

private void Select_Load(object sender, EventArgs e)
{
    getAll();
}

private void select_like_Click(object sender, EventArgs e)
{
    if (textBox2.Text.Equals(""))
    {
        MessageBox.Show("未检索到你的输入信息!");
    }
    else
    {
        dataGridView1.DataSource = tabm.GetOneLike(textBox2.Text);
    }
}

5.7修改信息模块设计

在这里插入图片描述

5-7修改信息窗口

此窗体界面用于学生信息的修改,实现对学生信息的添加,其中对输入数据进行了格式验证,学号是数字形式,联系电话为11位基本格式,性别选择指定字段,姓名为汉字。

学生信息的修改关键功能代码如下:

private void btnSubmit_Click(object sender, EventArgs e)
{
    if (!(ver.IsNumber(box1.Text)))
    {
        MessageBox.Show("学号只能为数字!");
        return;
    }
    if (!ver.IsChinese(box2.Text))
    {
        MessageBox.Show("姓名只能为中文");
        return;
    }
    if (!(box3.Text == "男" || box3.Text == "女"))
    {
        MessageBox.Show("性别只能是男/女");
        return;
    }
    if (!ver.IsHandset(box7.Text))
    {
        MessageBox.Show("联系电话格式错误,请重新输入!!!");
        return;
    }
    if (checkNull())
    {
        string b1 = box1.Text, b2 = box2.Text, b3 = box3.Text, b4 = box4.Text, b5 = box5.Text, b6 = box6.Text, b7 = box7.Text;
        Tab items = new Tab { box1 = b1, box2 = b2, box3 = b3, box4 = b4, box5 = b5, box6 = b6, box7 = b7 };

        bool result = tabm.Update(items);
        if (result)
        {
            MessageBox.Show("修改成功");
            getAll();
            ClearAll();
        }
        else
        {
            MessageBox.Show("修改失败");
        }
    }
    else
    {
        MessageBox.Show("请输入完整信息");
    }
}

6.测试

6.1测试计划

6.2测试用例设计及执行

6.3测试小结

7.总结

一、系统说明 | ----------------------------------- 本系统是在Microsoft Visual Studio 2003环境下用C#语言编写的个人信息管理系统。 其主要功能有: ------------- 1.文章管理模块  (1)用户发表新文章,可以将文章设为公开或不公开,如果设置为公开的,则所 有使用本系统的用户都可以浏览到你的文章。 (2)用户可以新建文章分类,在文章查询时,文章分类可以做为查询的一个依据。 (3)用户可以查询本人的所有文章,也可以查询其它用户公开的文章,查询条件可以为: 根据文章标题、内容、文章类别、发表时间、修改时间、用户名。 (4)用户可以删除、修改、改变文章是否公开、导出为WORD,但对于其它用户的文章,这些功能有所限制。 -------------- 2.日记管理模块 (1)用户发表新日记,可以将日记设为公开或不公开,如果设置为公开的,则所 有使用本系统的用户都可以浏览到你的日记。 (2)用户可以新建日记分类。 (3)用户可以查询本人的所有日记,也可以查询其它用户公开的日记,查询条件可以为: 根据日记标题、内容、类别、发表时间、修改时间、用户名、心情、天气。 (4)用户可以删除、修改、改变日记是否公开、导出为WORD,但对于其它用户的文章,这些功能有所限制。 -------------- 3.相册管理模块 (1)用户可以上传新图片,可以将图片设为公开或不公开,如果设置为公开的,则所 有使用本系统的用户都可以浏览到你的图片。 (2)用户可以新建相册分类。 (3)用户可以浏览本人的所有图片,以及其它用户公开的图片。 (4)用户可以删除、更新、导出图片,但对于其它用户的图片,这些功能有所限制。 -------------- 4.备忘管理模块 (1)用户可以写新备忘,可以设置备忘提醒时间、是否提醒、备忘分类、紧急程度、查看阴阳历。 (2)用户可以新建备忘分类。 (3)用户可以查询本人的所有备忘,查询条件有:备忘标题、内容、提醒时间、是否完成、紧急程度、备忘分类。 (4)用户可以删除、更新备忘。 -------------- 5.费用管理模块 (1)用户可以写新费用,可以填写费用名称,说明,数量,单价。 (2)用户可以查询本人的所有费用,可以统计查询到的费用情况,并可以将查询记录导出到EXCEL中保存。 (3)用户可以删除、修改费用。 ---------------------------- 6.信息管理模块 (1) 用户可以更改密码。 (2) 提供管理日常联系人的信息功能,可以批量从EXCEL中导入联系人,也可以批量导出联系人。 ---------------------------- |
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大虾写代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值