学生信息管理系统课程设计说明书

更新时间:2024-05-20 22:57:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《数据库原理课程设计》任务书

题目: 高校学生信息管理系统 学生姓名: 学 号: 班 级: 题目类型:软件工程(R) 指导教师: 一、数据库课程设计题目简介

该设计要求学生以兰州理工大学学生档案管理业务为背景,设计、开发一套“高校学生信息管理系统”软件。

通过该题目的设计、开发,使学生初步得到数据库开发的训练,全面培养软件开发过程中的分析、设计、编码、测试及文档规范书写的能力,得到软件开发的综合训练,提高解决实际问题的能力。 二、数据库课程设计的任务

1、查阅文献资料,一般在10篇以上;

2、以客户关系管理系统为背景,通过调研、分析现有的管理模式和已有的管理软件,建立系统模型;

3、完成软件结构设计、数据库设计和算法设计; 4、完成客户关系管理系统的软件开发和测试工作。 5、撰写设计说明书; 6、做好答辩工作。

三、数据库课程设计的主要内容、功能及技术指标

1、系统功能的基本要求:

(1)整个系统由学生基本信息管理子系统、学生奖励惩罚信息管理子系统、学生毕业工作信息管理子系统等组成;

(2)系统要实现基本信息录入、修改、查询等功能; 2、数据库要求:(在数据库中至少应该包含下列数据表)

(1)学生基本表。包括的数据项有:学号、姓名、性别、民族、出生年月、籍贯、

培养方式、政治面貌、所在院系、专业、家庭住址、通讯地址、邮政编码、联系人、联系电话等。

(2)奖励惩罚信息表。包括的数据项有:奖励、惩罚名称、原因、各种评价等。 (3)毕业工作信息表。包括的数据项有:毕业情况、毕业去向、档案派遣地、户口派遣地等。

3、其它要求:

(1)系统要实现满足多种条件的统计分析功能,有些统计数据要采用图表的格式呈现;

(2)系统要有一定的安全控制策略; (3)系统要采用实际数据进行测试。 四、数据库课程设计提交的成果

1. 课程设计说明书一份, A4打印稿,正文部分要求不少于20 页,所有英文字体采用Arial。正文及目录格式参考(毕业设计论文格式要求)正文内容包括:

(1) 需求分析;

(2) 数据库概念结构设计; (3) 数据库逻辑结构设计; (4) 数据流图及程序结构框图; (5) 程序源代码及其说明; (6) 总结; (7) 参考文献。

2. 刻制光盘一张,把完成的所有电子文档(设计说明书文档、打包后可运行程序及源程序)一并交由指导老师处。

注:文档目录按照如下统一命名规则建立,“课设题目名称/学号姓名/”,比如“公司人事管理系统/12730101周欢欢/”。 五、主要参考文献

[1] 王珊著 数据库系统概论(第四版). 高等教育出版社, 2002.3

[2] 刘金岭等著 数据库原理及应用实验与课程设计指导,清华大学出版社出版,2010.6

[3] 钱雪忠等著 数据库原理及技术课程设计(全新正版),清华大学出版社出版,2009.2

[4] 周屹著 数据库原理及开发应用-实验与课程设计指导, 清华大学出版社出版,2008.12

[5] 李春葆等著 Visual Basic数据库系统设计与开发,清华大学出版社出版,2003.8

[6] 唐红亮著 SQL Server数据库设计与系统开发教程,清华大学出版社出版,2007.10

[7] 丁忠俊著 数据库系统原理及应用,清华大学出版社出版,2012.4 [8] 李晓峰等著 数据库系统原理及应用,水利水电出版社,2011.2

[9] 万常选著 数据库系统原理与设计(第2版),清华大学出版社出版,2012.9 [10] 冯健华等著 数据库系统设计与原理(第2版),清华大学出版社出版,2012.8 [11](美)罗摩克里希纳,格尔基著,周立栋译 数据库管理系统原理与设计(第3版),清华大学出版社出版,2004.3

[12](美)西尔伯沙茨等著,杨冬青等译 数据库系统概念(原书第6版?本科教学版),机械工业出版社,2013.1

[13]《Access 2010数据库应用从入门到精通》何先军编,中国铁道出版社,2013.10 [14]《数据库系统概念、设计及应用》[印] 辛赫(Singh.S.K)著 何玉洁,王晓波,车蕾,等译.机械工业出版社,2010.1

六、各阶段时间安排(共2周)

周次 日期 星期一 第1周 星期二 星期三~星期五 星期一 星期二 星期三 第2周 星期四 星期五

撰写课程设计说明书 答辩 教室 教室 内容 分组、选题、收集与整理资料 数据库分析与设计 用户界面设计及系统功能实现 用户界面设计及系统功能实现 测试程序上机演示 地点 教室 教室 教室 教室 教室 2015年12月30日

摘 要

目前,我国的大中专院校的学生信息管理水平普遍不高。在当今的信息时代,传统的管理方法必然要被以计算机为基础的信息管理系统所代替,而且目前很多重点院校都已经有了自己的教务管理系统。已有的大都比较偏向学生档案管理,学籍管理等,而本案例则把重点放在信息管理上,从整体上进行分析设计,这对于其他类似的管理系统的设计有很高的参考意义。

采用学生信息管理系统进行C#程序开发,将C#程序中的所有概念和技术应用到学生信息管理系统的开发当中,按照软件工程的思想来进行网站开发。分别进行学生信息管理系统需求分析、学生信息管理系统数据库设计、学生信息管理系统主菜单设计、学生信息管理系统中类的应用、学生信息管理系统数据访问方法、学生信息管理系统窗体和事件应用和学生信息管理系统应用部署等几个模块来完成。 关键词:C#;数据库;信息管理;管理系统

目录

1系统简介 .................................................................................................................................. 1.1设计思想 ........................................................................................................................... 1.2可行性分析 ....................................................................................................................... 1.3小组分工 ........................................................................................................................... 2需求分析 .................................................................................................................................. 2.1需求调查 ........................................................................................................................... 2.2数据流程图 ....................................................................................................................... 2.3数据字典 ........................................................................................................................... 3概念结构设计 .......................................................................................................................... 3.1系统E-R图 ...................................................................................................................... 3.2表/字段分析 ..................................................................................................................... 4逻辑结构设计 .......................................................................................................................... 4.1模块分析 ........................................................................................................................... 4.2数据访问方法 ................................................................................................................... 5物理结构设计 .......................................................................................................................... 5.1 模块任务 ........................................................................................................................... 5.2 模块实施 ........................................................................................................................... 6系统主要查询功能及SQL语句 ............................................................................................ 7系统实现 .................................................................................................................................. 7.1系统功能模块图 ............................................................................................................... 7.2部分程序代码 ................................................................................................................... 7.3系统运行截图 ................................................................................................................... 8设计小结 .................................................................................................................................. 8.1心得与体会 ....................................................................................................................... 8.2存在的问题及建议 ........................................................................................................... 参考文献 ..................................................................................................................................... 致谢 ............................................................................................................................................. 源代码 .........................................................................................................................................

1系统简介

1.1设计思想

1.掌握C#的主要语法和Microsoft Visual studio 2008开发环境。 2.通过C#语言编写学生信息管理系统从而牢固掌握C#程序设计。

3.通过编写程序实现学生信息管理系统进一步掌握.NET架构,加深对C#的熟练与认识。

4.程序界面美观。

1.2可行性分析

1.技术可行性:

本系统采用Windows7及其以上版本作为操作平台。数据库管理系统选用SQL,该数据库管理系统,提供数据库之间的数据复制功能,可代替现有系统单据数据的手工传递工作,降低出错率,提高数据的可用性。本系统的应用程序开发平台选用Microsoft Visual studio 2008。

2经济可行性:

采用前台学籍信息管理系统可取代原系统的单手工传递工作,减少人工开支,节省资金,并且可大大提高信息量的取得,缩短信息处理周期提高学生信息的利用率,使教学质量更上一个台阶。

3营运可行性:

本系统操作简单,易于理解,只需通过简单培训,上手较快,学校学籍管理处的教职员以及相关教师均能进行操作,营运环境要求低。

面对于系统设计还应该以“标准性、安全性、高效性、保密性、可维护性”为标准,在着眼于当前实用的基础上,为将来系统的扩展,升级留有余地。软件的开发应能在较长时间内满足学校的发展需要。

标准性:系统编写与运行必须符合标准,既可以保证系统运行又可以在此标准上每一项功能运行。

可靠性:由于学籍信息的重要性,系统必须稳定可靠,从而避免或减少数据损失。 安全性:通过系统权限控制使用者,从而确保使用者无法操作与其无关的数据。 高效性:由于学校学生信息每次处理信息量较大,系统对信息处理能力响应能力都应是快捷有效的。

可维护性:采用结构化模块设计,便于开发与维护,也有利于情况随时修复处理。

1.3小组分工

本小组2个人共同完成学生信息管理系统,具体分工如下: 1. 组长杜政毅主要负责代码的编写和调试; 2. 组员曹冠平负责建立数据库和文档编写。

2. 需求分析

2.1范围

本指南用于指导软件开发者为学生信息管理系统的开发过程,通过规范软件项目承担软件的开发过程达到提高软件质量,降低维护成本的目的。开发者应根据本指南进行软件开发和编制软件开发文档。本指南是对软件项目承担单位的基本要求。在进行具体软件开发时,开发者可根据实际情况采编写。

2.2信息需求

我们将管理体制和建立各种管理规范与开发信息系统有机地结合起来,通过几个功能模块进行统一管理,要求管理系统满足以下几个方面的要求:

从用户角度来看,系统首先应该能够提供便捷与强大的信息查询功能;对于学校的全体教师而言,他们应该能够对系统的不同部分有各自不同的权限。

具有较强的灵活性及可扩展性,能够存储一定数量的学生信息,并方便有效地进行相应的数据操作和管理。这主要包括:学生信息的录入、删除及修改,各种信息的单条件查询和多条件的组合查询,以及学生各科信息的多关键字检索查询。

具有较高的安全性,系统登录有各自的安全账户。系统管理员可添加用户信息,更改用户信息和删除用户信息,同时可以针对其他的信息具有所有的权限;任课教师可以录入信息;学生只能对所有的信息具有查询的功能,不具有修改、删除和录入的权限。系统能够提供数据信息授权访问,防止随意删改等。

2.3总体功能要求

学生信息管理系统的用户主要有两类:学生用户、管理员用户。

学生信息管理系统主要分为四种模块:录入模块、删除模块、修改模块、查找模块。逐步对各个模块的代码书写,实现多种功能,让用户快速而便捷地使用学生信息管理系统。用户可以录入学生信息,输入学生的学号从而删除学生信息、查找学生信息、修改学生信息。

1.功能模块总图(图2.1)。

图2.1 功能模块总图

2.学生用户主要具备的功能需求:

(1)学生只是利用此系统进行与自己有关的信息查询、输入等;

(2)浏览个人基本信息,具体内容包括姓名、学号、民族、出生日期、籍贯、所在班级、备注等;

(3)浏览课程信息,具体内容包括课程名、课程类型、学时、学分和课程具体描述; (4)学生利用此系统选修课程、在选课过程中,可查询待选课程基本信息; (5)浏览个人选课情况。

3.管理员用户主要具备的功能需求:

(1)管理员权限最大,可以对学生、班级、课程情况进行统一的管理,细分如下: (2)添加、修改、删除管理员;

(3)有关学生信息的浏览,包括学生姓名、性别、民族、出生日期、入学时间、所在班级、籍贯和备注信息;

(4)学生信息的添加、修改和删除;

(5)学校基本课程的浏览,包括课程名、课程类型、学时、学分和课程具体描述; (6)学校基本课程的添加、修改和删除;

(7)学生成绩信息的浏览与统计,可按成绩具体范围对成绩进行统计; (8)学生成绩信息的添加、修改和删除; (9)学生选课信息的管理,包括修改与删除; (10)学生选课人数的统计。

2.4 运行环境

1. 硬件平台:普通电脑;

2.操作系统:Windows7以上版本;

3. 支撑环境和版本:主程序采用C#语言编写,数据库支持access与SQL sever;

2.5 数据定义

1.用户信息数据表(Users):

用户名:User_id;用户密码:User_password;用户类型:User_power. 2. 学生信息数据表(Student):

学生学号:Student_id;学生姓名:Student_name;学生性别:Student_sex;学生民族:Student_nation;学生出生日期:Student_birthday;学生入学时间:Student_time;学生所在班级:Student_class;学生住址:Student_home;备注: Student_else.

3. 课程信息数据表(Course):

课程号:Course_id;课程名:Course_name;课程学分:Course_credit;课程学时:Course_period;课程描述:Course_describe.

4. 学生选课记录数据表(Student_Course):

学生选课记录ID:ID;学生成绩:Student_grade;年度学期:Course_year.

3数据库设计

3.1系统E-R图

1. 学生管理系统实体间关系E-R图(图3.1)

图3.1 学生管理系统实体间关系

2. 学生管理系统用户信息实体(图3.2)

图3.2学生管理系统用户信息实体图

3. 学生管理系统学生信息实体(图3.3)

图3.3学生管理系统学生信息实体

4. 学生管理系统课程信息实体(图3.4)

图3.4学生管理系统课程信息实体

5. 学生管理系统学生-课程信息实体(图3.5)

图3.5学生管理系统学生-课程信息实体

3.2表/字段分析

1.用户信息数据表(Users):

2. 学生信息数据表(Student):

3. 课程信息数据表(Course):

4. 学生选课记录数据表(Student_Course):

4.程序设计模块

学生信息管理系统是一个典型的数据库应用程序,由用户管理、课程管理、选课管理和成绩管理四大模块组成;这四大模块针对管理员和学生角色其功能也不一样。

4.1模块分析

1.用户管理模块:

该模块的主要任务是管理员对系统的使用权限进行设定,从而来管理管理员与学生的系统登录权限。其模块图如图4.1所示:

管 理 普通用登录界面 图4.1 用户登录模块图

2.课程管理模块:

该模块的使用角色为管理员,管理员对课程进行管理;如添加、修改、删除课程。其模块图如图4.2所示:

课程添加 课程修改 课程删除 课程管理 管理员用图4.2 课程管理模块图

3.选课管理模块:

该模块的角色为管理员和学生。学生可以进行合理的选课、退选课,管理员则通过此模块查看学生选课信息。其模块图如图4.3所示:

图4.3 选课模块图

4.成绩管理模块:

该模块的角色为管理员,管理员通过此模块进行合理的成绩添加。

4.2数据访问方法

1.模块任务

创建学生信息管理系统中的各个操作类。 2.模块指标

创建学生信息管理系统的操作类:DataAccess类、StudentInfoOperation类、和UserInfoOperation类。

针对数据表中的数据信息进行实体类的定义之后,需要针对这些数据表中的内容,定义针对数据的增、删、改和查等数据访问操作类。

3. 模块实施 (1)数据访问类

DataAccess.cs类的访问修饰符设为public,设置为公开的,这样才可以被其他类访问。但是在定义DataAccess.cs类之前,需要引用命名空间,如下所示:

using System.Data; using System.Data.SqlClient;

DataAccess.cs类主要是实现数据库连接及对SQL命令的执行。

public class DataAccess { }

首先在DataAccess.cs类中定义静态连接字符串ConnectionString,其代码如下所示: public static string ConnectionString = \curity=true;\

public bool ExecuteSQL(string sql) public SqlDataReader GetReader(string sql)

public DataSet GetDataSet(string sql, string tablename) public int GetCount(string sql)

public bool CheckAdmin(string strname, string strpwd) (2)学生操作类

StudentInfoOperation.cs类的访问修饰符设为public,设置为公开的,这样才可以被其他类访问。

StudentInfoOperation.cs类主要是实现对学生信息的操作,针对数据库中的StudentInfo表进行增删改查操作。定义StudentInfoOperation.cs类的形式如下所示:

public class StudentInfoOperation { }

在该类中,定义的方法都是需要调用数据访问类DataAccess.cs中的方法,因此需要首先实例化数据访问类DataAccess类的对象。定义的代码如下所示:

private static DataAccess dataAccess = new DataAccess();

public static bool insertStudentInfo(StudentInfoData studentInfoData) public static bool updateStudentInfo(StudentInfoData studentInfoData) public static bool deleteStudentInfo(string sno)

public static DataSet getStudentInfo(StudentInfoData studentInfoData) (3)用户操作类

UserInfoOperation.cs类的访问修饰符设为public,设置为公开的,这样才可以被其他类访问。

UserInfoOperation.cs类主要是实现对用户信息的操作,针对数据库中的UserInfo表进行增删改查操作。定义UserInfoOperation.cs类的形式如下所示:

Public class UserInfoOperation { }

在该类中,定义的方法都是需要调用数据访问类DataAccess.cs中的方法,因此需

要首先实例化数据访问类DataAccess类的对象。定义的代码如下所示:

private static DataAccess dataAccess = new DataAccess(); public static bool insertUserInfo(UserInfoData data) public static bool updateUserInfo(UserInfoData data) public static bool deleteUserInfo(string userid) public static DataSet getUserInfo(UserInfoData data)

public static DataSet getUserInfoAll(UserInfoData data)

5窗体和事件应用

5.1 模块任务

1. 创建学生信息管理系统中的各个窗体 2.实现对用户、学生信息的增删改查功能

创建学生信息管理系统的窗体:Longin.cs登录窗体、Form3.cs主窗体、AddGrade.cs添加学生成绩窗体、Form7.cs课程信息查询窗体、Form8.cs用户修改密码窗体、Form1.cs学生查询窗体、Form9.cs用户注册窗体。

3.模块的提出

窗体是进行用户体验的最好方式,当用户使用学生信息管理系统的时候,窗体是用户直接使用的界面,因此需要设计合理并便于用户操作。

5.2 模块实施

1. Longin.cs登录窗体

Longin.cs窗体是用户进行登录所使用的窗体,主要包含Label标签、TextBox文本框和Button按钮。用户输入用户名和密码之后,点击“登录”按钮,可以验证用户身份的合理性,用户身份有效可以登录到主界面中。如图5.1所示。

图5.1学生信息管理系统的主界面

2. Form3.cs主窗体

Form3.cs窗体为主窗体,窗体上包含了所有模块的菜单项,但是系统根据用户的权限,来设置菜单项中的哪些模块是可以使用的,哪些模块是不可以使用的。

首先在Form3.cs主窗体主界面的构造函数中,进行用户权限的判断,如果是学生

或者教师登录,那么只允许部分模块进行操作,只有管理员可以所有模块都进行操作。首先创建UserInfoData用户实体类的对象data,并且将Form3.cs窗体中用户登录的名字赋值给data对象的Userid属性,创建数据集ds来获取UserInfoOperation用户操作类中的getUserInfoAll()方法中用户记录。如果用户记录不为空,那么获取该用户的Userlevel字段的值,该值如果为学生或者教师,那么部分模块的Enabled属性设置为false,让这些模块不可用。如果为管理员,那么默认的所有的模块都是可用的,也就是所有模块菜单的Enabled属性的初值均为true。如图5.2所示。

图5.2学生信息显示界面

3. AddGrade.cs添加学生成绩窗体

AddGrade.cs窗体主要是用来添加学生的成绩,输入学号、姓名、性别、出生日期、家庭住址、家庭电话和所在班级,点击“保存”按钮即可录入或者修改学生信息记录,点击“取消”按钮,退出学生信息添加窗体。如图5.3所示。

图5.3 AddGrade.cs窗体

4. Form7.cs课程信息查询窗体

Form7.cs窗体主要是实现登录用户的课程信息查询。使用该窗体可以查询某一学科的各种信息。如图5.4所示。

图5.4Form7.cs窗体

5. Form8.cs用户修改密码窗体

Form8.cs窗体主要是实现用户修改密码的功能。该窗体中,可以通过输入用户名和原密码,然后输入新密码和确认新密码,来修改用户的登录密码。如图5.5所示。

图5.5Form8.cs窗体

6. Form1.cs学生查询窗体

Form1.cs窗体主要是实现学生信息查询功能。该窗体中,可以通过学生学号、学生姓名、性别或班级信息进行查询,窗体中有一个DataGridView控件,当查询出结果后,可以选中控件中的一条记录,进行删除或者修改操作。如图5.6所示。

图5.6 Form1.cs窗体

7. Form9.cs用户注册窗体

Form9.cs窗体主要是实现用户信息查询功能。该窗体中,可以通过用户名或者用户类型进行查询,窗体中有一个DataGridView控件,当查询出结果后,可以选中控件中的一条记录,进行删除或者修改操作。如图5.7所示。

图5.7 Form9.cs窗体

总 结

在进行本次课程设计时,我遇到了很多困难和学习到了很多知识。下面我将主要总结我所遇到的困难,及自己的解决方法。以及自己学到的知识点。开始着手在C#中建立与SQL数据库连接时,连接数据库时在连接句前加上@字符相对于单一的连接语句更容易连接得上。在对DataAdapter数据集中数据表的行数据、列名进行修改时,可以通过数据集中表的行二维数组dataset.Tables[\来实现,其中i为行标,j为列标。在对数据行数进行读取时,可采用dataset.Tables[\来实现。学生在从第一个登录界面窗体登录学号进入信息查看界面窗体时,要保证学号信息能准确无误的传输到信息查看界面窗体才可以在信息查看窗体中查看该学生的个人信息。开始时我只是在信息窗体Form8中实例化Form1对象,结果无法获取Form1窗口中的textBox1.Text中的学生学号信息。经过进一步查找资料,我明白了在信息窗体Form8中调用Form1中的属性或函数,与在Form1中调用Form8中的属性或函数不一样。窗体Form1下,其中的属性和函数都有确定的值或表达式,直接调用Form8将值传进去可行,因为此时Form1中的数据存在;而在Form8窗体中调用Form1窗体中的函数和属性,则Form1窗体已经关闭,改窗体中的textBox1.Text也就无值了,获取该窗体中textBox1.Text中的学生学号信息也就无法实现。通过编写代码,使我很熟练的可以运用C#中的数据集Dataset、Connection对象、Command对象、DataResder对象和DataAdapter对象。并对SQL的select、insert、delete、update熟练掌握。

参考文献

[1] 张海潘. 软件工程导论(第四版)[M]. 清华大学出版社, 2003.12 [2] 萨师煊, 王珊. 数据库系统概论[M]. 高等教育出版社, 2002.3

[3] 陈承欢, 彭勇. 管理信息系统基础与开发技术[M]. 人民邮电出版社, 2005 [4] 刘云生, 卢正鼎, 卢炎生. 数据库系统概论[M]. 华中科技大学出版社, 2002 [5] 郑人杰, 殷人昆, 陶永雷. 实用软件工程[M]. 清华大学出版社, 1997 [6] 唐政,房大伟.C#项目开发全程实录[M].清华大学出版社,2008.6 [7] 黄锐军.C#程序设计项目实训教程[M].化学工业出版社,2010.2 [8] 吕高旭.Visual C#范例精要解析[M].清华大学出版社,2008.1

致 谢

时间如白驹过隙转瞬即逝,不经意间两周的时间已经过去。但是这短短的两周时间里我感受到了最真诚的青春,最纯真的岁月,最美丽的大学生活。我们的动手能力得到提升。感谢朱老师对我们的帮助。使我们不但丰富了知识,更使我们提高了动手能力。您对我们孜孜不倦的教导让我顺利的完成了这次课程设计。

在这次的课程设计中我运用了我在课堂上所学到的文化知识和技能,让我重新认识到编程的乐趣。在此,我再次感谢朱老师的帮助和教导跟小伙伴的协作。

源代码

1.AddGrade.Cs窗体 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;

namespace WindowsFormsApplication2 {

public partial class AddGrade : Form {

public AddGrade() {

InitializeComponent(); }

private void student_CourseBindingNavigatorSaveItem_Click(object sender, EventArgs e) {

this.Validate();

this.student_CourseBindingSource.EndEdit();

this.tableAdapterManager.UpdateAll(this.学生信息管理系统DataSet);

}

private void AddGrade_Load(object sender, EventArgs e) {

// TODO: 这行代码将数据加载到表“学生信息管理系统DataSet.Student_Course”中。您可以根据需要移动或删除它。

this.student_CourseTableAdapter.Fill(this.学生信息管理系统DataSet.Student_Course);

}

private void label1_Click(object sender, EventArgs e) {

this.Hide();

new serchStudent().Show(); }

private void student_CourseDataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e) {

} } }

2.学生个人信息窗体 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;

namespace WindowsFormsApplication2 {

public partial class Form1 : Form {

public Form1() {

InitializeComponent(); }

private void studentBindingNavigatorSaveItem_Click(object sender, EventArgs e) {

this.Validate();

this.studentBindingSource.EndEdit();

this.tableAdapterManager.UpdateAll(this.学生信息管理系统DataSet);

}

private void Form1_Load(object sender, EventArgs e) {

// TODO: 这行代码将数据加载到表“学生信息管理系统DataSet.Student”中。您可以根据需要移动或删除它。

this.studentTableAdapter.Fill(this.学生信息管理系统DataSet.Student);

}

}

3.Form3.cs窗体 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;

namespace WindowsFormsApplication2 {

public partial class Form3 : Form {

public string sno; public Form3(string sno) {

this.sno = sno; InitializeComponent(); }

private void Form3_Load(object sender, EventArgs e) {

}

private void button1_Click(object sender, EventArgs e) {

this.Hide();

Form1 form1 = new Form1(); form1.Show(); }

private void button2_Click(object sender, EventArgs e) {

this.Hide();

Form5 form5 = new Form5(); form5.Show();

}

private void button3_Click(object sender, EventArgs e) {

this.Hide();

Form6 form6 = new Form6(); form6.Show(); }

private void button4_Click(object sender, EventArgs e) {

this.Hide();

Form7 form7 = new Form7(); form7.Show();

}

private void button5_Click(object sender, EventArgs e)

{

this.Hide();

Form8 xiugai = new Form8(sno); xiugai.Show();

}

private void button6_Click(object sender, EventArgs e) {

System.Environment.Exit(0); this.Close(); } } }

4.课程信息窗体 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;

namespace WindowsFormsApplication2 {

public partial class Form5 : Form {

public Form5() {

InitializeComponent(); }

private void courseBindingNavigatorSaveItem_Click(object sender, EventArgs e) {

this.Validate();

this.courseBindingSource.EndEdit();

this.tableAdapterManager.UpdateAll(this.学生信息管理系统DataSet);

}

private void Form5_Load(object sender, EventArgs e) {

// TODO: 这行代码将数据加载到表“学生信息管理系统DataSet.Course”中。您可以根据需要移动或删除它。

this.courseTableAdapter.Fill(this.学生信息管理系统DataSet.Course); }

private void button1_Click(object sender, EventArgs e) {

this.Close();

} } }

5.成绩信息窗体 using System;

using System.Collections.Generic; using System.ComponentModel; using System.Data;

using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text;

using System.Threading.Tasks; using System.Windows.Forms;

namespace WindowsFormsApplication2 {

public partial class Form6 : Form {

public Form6() {

InitializeComponent(); }

private void Form6_Load(object sender, EventArgs e) {

DataTable table=

SqlHelPer.ExecuteDataTable(\

FROM Course\

foreach (DataRow row in table.Rows) {

foreach(DataColumn col in table.Columns) {

Course_name

comboBox1.Items.Add(row[col]); } } }

private void button2_Click(object sender, EventArgs e) {

string StudentID = textBox2.Text; string CourseName = comboBox1.Text; string CourseID = null;

DataTable table1 =SqlHelPer.ExecuteDataTable(\Course_id from Course where Course_name=@name\ DataRow row1=table1.Rows[0]; CourseID = (string)row1[0];

DataTable table2=SqlHelPer.ExecuteDataTable(\Student_grade from Student_Course

where

Student_id=@Sid

and

Course_id=@Cid\

SqlParameter(\ if (table2.Rows.Count <= 0) {

MessageBox.Show(\查找错误!\ } else {

DataRow row2=table2.Rows[0];

textBox4.Text=Convert.ToString(row2[0]); } }

private void button1_Click(object sender, EventArgs e)

{

this.Close();

} } }

6.选课查询窗体 using System;

using System.Collections.Generic; using System.ComponentModel; using System.Data;

using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text;

using System.Threading.Tasks; using System.Windows.Forms;

namespace WindowsFormsApplication2 {

public partial class Form7 : Form {

public Form7() {

InitializeComponent(); }

private void button1_Click(object sender, EventArgs e) {

string StudentId = textBox4.Text;

DataTable table =SqlHelPer.ExecuteDataTable(\Course_id from Student_Course where Student_id=@Sid\ foreach(DataRow row in table.Rows) {

foreach(DataColumn col in table.Columns) {

comboBox1.Items.Add(row[col]); } }

string comx = comboBox1.Text;

DataTable table2 = SqlHelPer.ExecuteDataTable(\Course_id=@Cid\ if (table2.Rows.Count <= 0) { } else {

DataRow row2 = table2.Rows[0]; textBox1.Text = (string)row2[1]; textBox2.Text = row2[2].ToString(); textBox3.Text = row2[3].ToString(); //comboBox1.Items.Clear(); }

}

private void Form7_Load(object sender, EventArgs e) {

} } }

7.密码修改窗体 using System;

using System.Collections.Generic; using System.ComponentModel; using System.Data;

using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text;

using System.Threading.Tasks; using System.Windows.Forms;

namespace WindowsFormsApplication2 {

public partial class Form8 : Form {

private string sno;

public Form8() {

InitializeComponent(); }

public Form8(string sno) {

// TODO: Complete member initialization

this.sno = sno; InitializeComponent(); }

private void Form8_Load(object sender, EventArgs e) {

}

private void button1_Click(object sender, EventArgs e) { if

(this.textBox2.Text.Trim().ToString()

==

\

||

this.textBox2.Text.Trim().ToString() == null) {

MessageBox.Show(\新密码不能为空!\\操作提示\MessageBoxButtons.OK, MessageBoxIcon.Error); this.textBox2.Focus(); return; } else

if

(this.textBox4.Text.Trim().ToString()

==

\

||

this.textBox4.Text.Trim().ToString() == null) {

MessageBox.Show(\确认密码不能为空!\\操作提示\MessageBoxButtons.OK, MessageBoxIcon.Error); this.textBox4.Focus(); return; } else

if

(this.textBox2.Text.Trim().ToString()

!=

this.textBox4.Text.Trim().ToString())

{

MessageBox.Show(\您输入的两次密码不一致!\\操作提示\MessageBoxButtons.OK, MessageBoxIcon.Error); this.textBox2.Text = \ this.textBox4.Text = \ return; } else {

int n = SqlHelPer.ExecuteNonQuery(\ Users set User_password=@pwd where User_id=@id\new SqlParameter(\textBox2.Text), new SqlParameter(\ if (n >= 1) {

MessageBox.Show(\修改密码成功!\ } } } } }

8.信息修改窗体 using System;

using System.Collections.Generic; using System.ComponentModel; using System.Data;

using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text;

本文来源:https://www.bwwdw.com/article/vsd7.html

Top