您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业财务 > 使用C#制作学生选课系统
※1※使用C#制作学生选课系统内容提要:本文是使用C#制作学生选课系统。主要介绍了如何在VisualC#2005环境下使用ADO.NET和SQLServer2000设计一个学生选课系统,其中详细介绍了如何建立数据库的连接、编写数据读取方法和数据更新方法等。关键字:学生选课系统、VisualC#2005、SQLServer2000、ADO.NET引言:学生选课系统是学校教务系统中不可缺少的一个子系统,它涉及到学生、课程等信息的结合。该系统主要由登录模块、学生信息模块、课程信息模块、选课信息模块组成。正文:1学生选课系统简介学生选课系统是学校教务系统中不可缺少的一个子系统,它涉及到学生、课程等信息的结合。本文介绍的学生选课系统包括以下四个模块:1.登录模块登录模块提供用户登录界面,用户输入正确的用户名和密码后,则可进入系统主窗口(即导航页面),从而可以选择进入相应的子系统。2.学生信息模块学生信息模块主要用于管理学生的基本信息,包括学号、姓名、性别、年龄和所在系,能对学生信息进行添加、删除和修改等操作。3.课程信息模块课程信息模块主要用于管理课程信息,包括课程号、课程名、学分和学时,能对课程信息进行添加、删除和修改等操作。4.选课信息模块选课信息模块主要用于管理学生选课信息,包括选课学生的学号、所选课程的课程号和该课程的考试成绩,并提供了学生选课和选课信息查询等功能。2数据库设计本节根据前面对学生选课系统的分析,介绍创建SQLServer2000数据库、数据表以及数据表之间的关系的方法和步骤。2.1数据表结构根据前面的分析,学生选课系统数据库(SelectCourse)中包含系统用户信息“tbl_User”、学生信息“tbl_Student”、课程信息“tbl_Course”和选课信息“tbl_SC”四个数据表。表的结构、表字段的数据类型及相关说明如下:1.系统用户表系统用户表“tbl_User”用于存放系统用户的相关数据。其结构如表1所示。表1系统用户表列名说明数据类型约束userName用户名字符串,长度为16主键userPassword用户密码字符串,长度为16非空userPurview权限字符串,长度为8取值“超级用户”、“管理员”、“一般用户”2.学生信息表学生信息表“tbl_Student”结构如表2所示。※2※表2学生信息表列名说明数据类型约束Sno学号字符串,长度为10主码Sname姓名字符串,长度为8非空Ssex性别字符串,长度为2取值“男”、“女”Sage年龄整数-Sdept所在系字符串,长度为20-3.课程信息表课程信息表“tbl_Course”结构如表3所示。表3课程信息表列名说明数据类型约束Cno课程号字符串,长度为10主码Cname课程名字符串,长度为20非空Ccredit学分整数-Csemester学期整数-Cperiod学时整数-4.选课信息表选课信息表“tbl_SC”结构如表4所示。表4选课信息表列名说明数据类型约束Sno学号字符串,长度为10主码,引用tbl_Student的外码Cno课程号字符串,长度为10主码,引用tbl_Course的外码grade成绩整数取值0~1002.2创建数据表接下来介绍使用SQLServer2000的企业管理器直接创建学生信息表“tbl_Student”、课程信息表“tbl_Course”和选课信息表“tbl_SC”的方法和步骤,从而完成学生选课系统的数据库设计。1.使用企业管理器打开SQLServer2000的企业管理器,依次展开控制台目录,定位到“SelectCourse”数据库,并选择“表”,则在右边的“表”项目中列出了所有的数据表,其中最后一个为用户创建的“tbl_User”数据表,如图1所示。图1企业管理器※3※2.创建学生信息表打开企业管理器并定位到“SelectCourse”数据库的“表”后,就可以按照以下步骤来创建学生信息表“tbl_Student”。(1)在控制台目录中使用鼠标右键单击【表】,选择如图2所示的【新建表】菜单项,或者在右边的“表”区域中单击右键,选择如图3所示的【新建表】菜单项。图2新建表图3新建表(2)选择【新建表】菜单项后,将弹出如图4所示的【“SelectCourse”中(在“LIKER”上)的新表】对话框(对话框的名称随具体环境而定)。图4新建表对话框(3)然后根据前面定义的如表2所示的学生信息表结构依次添加“Sno”、“Sname”、“Ssex”、“Sage”和“Sdept”五个字段,并在表格中直接设置各自的数据类型和长度,如图5所示。图5设置数据类型和长度说明:其中“Sage”字段设为“int”类型后,其长度4是不可改变的,因为一个“int”类型的数据占用的内存空间为4个字节。(4)设置“Sno”字段为学生信息表的主键,其方法是:在“Sno”行单击鼠标右键,选择弹出菜单中的【设置主键】菜单项即可,如图6所示。(5)设置主键后,【新建表】对话框中的“Sno”字段发生了改变,在其左边的边框上多出了一个钥匙图标,并且【允许空】项中的没有了,表示作为主键的字段值不能为空。如图7所示。※4※(6)接下来限定“Sname”字段值不能为空,其方法是:直接在“Sname”行的最后一列的【允许空】项单击取消勾选即可。如图8所示。图6设置主键图7设置主键后的“Sno”字段图8限定“Sname”字段值不能为空(7)然后再设置“Ssex”的check约束,即限定其取值只能为“男”或“女”。其方法是:在“Ssex”行单击鼠标右键,选择弹出菜单中的【CHECK约束】菜单项,则弹出如图9所示的【属性】对话框。(8)单击【新建】按钮,在约束表达式下面的编辑区中输入“Ssex='男'ORSsex='女'”,然后单击【关闭】按钮即可,如图10所示。图9【属性】对话框图10设置CHECK约束(9)到此,学生信息表已全部设计完毕,最后单击企业管理器工具栏中的【保存】按钮,则※5※弹出【选择名称】对话框,输入表名为“tbl_Student”,然后单击【确定】按钮即可,如图11所示。图11输入表名(10)最后关闭表设计器,这时可以在企业管理器的表视图区域中看到刚刚创建的用户数据表“tbl_Student”。3.创建课程信息表根据如表3所示的表结构定义,按照创建学生信息表“tbl_Student”的方法,设计课程信息表“tbl_Course”如图12所示。图12课程信息表“tbl_Course”4.创建选课信息表根据如表4所示的表结构定义,按照创建学生信息表“tbl_Student”的方法,设计选课信息表“tbl_SC”如图13所示。图13选课信息表“tbl_SC”说明:①将“Sno”和“Cno”设为主键的方法为:按住Ctrl键不放,使用鼠标单击选中“Sno”和“Cno”两个字段,在被选中的区域单击鼠标右键,在弹出的快捷菜单中选择【主键】菜单项,然后松开再按Ctrl键即可。②限定“grade”取值为0~100的方法与前面介绍的限定“Ssex”的取值只能为“男”或“女”一样,使用CHECK约束。2.3创建关系图选课信息表“tbl_SC”中的学生学号“Sno”必须存在于学生信息表“tbl_Student”中,同样课程编号“Cno”也必须存在于课程信息表“tbl_Course”中,所以需要为这几个数据表建立关系,在SQLSever2000中,可以使用关系图来创建表与表之间的关系,具体的实现方法和步骤如下:※6※(1)在企业管理器右边展开“SelectCourse”数据库,选择【关系图】,然后单击右键,从弹出的菜单中选择【新建数据库关系图】菜单项,如图14所示。(2)选择【新建数据库关系图】菜单项后,将弹出如图15所示的【创建数据库关系图向导】对话框。图14新建数据库关系图图15【创建数据库关系图向导】对话框(3)单击【下一步】按钮,显示下一个对话框,从左边的【可用的表】列表中选择“SelectCourse”数据库的除“tbl_User”外的三个数据表,这三个表即需要建立关系的数据表,如图16所示。图16选择需要建立关系的表(4)依次单击【添加】、【下一步】按钮,则弹出如图17所示的对话框。图17【创建数据库关系图向导】对话框(5)单击【完成】按钮,关闭【创建数据库关系图向导】对话框,则出现【新关系图】对话框,※7※如图18所示。图18关系图(6)选择表“tbl_SC”的“Sno”列,按下鼠标左键不放,拖动至“tbl_Student”的“Sno”列,则弹出如图19所示的对话框,从图可以看出主键为“tbl_Student”的“Sno”,而“tbl_SC”的“Sno”为外键。(7)保留默认的设置,单击【确定】按钮,关闭【创建关系】对话框,则在关系图中可以看到这两个表中出现一条连线,表示两者的关系,如图20所示。图19【创建关系】对话框图20创建“tbl_Student”与“tbl_SC”的关系(8)按照同样的方法建立“tbl_SC”的“Cno”与“tbl_Course”的“Cno”之间的关系,最终的关系图如图21所示。(9)最后像保存数据表那样保存关系图即可,保存时关系图的名称可以保留其默认的“DIAGRAM1”。保存后可以在关系图的项目区域看到该项目,如图22所示。图21最终的关系图图22关系图3公共类考虑到系统的各个模块(登录、学生信息管理、课程信息管理、选课信息管理)都需要访问数据库,因此最好的方法是编写一些访问数据库的方法,如返回数据集的公共查询方法,执行数据操作的公共方法,并把它们放在一个公共的类(DataBase)中,然后在各模块中调用这些方法来实现※8※对数据库的访问。同样,在用户登录时,可能需要记录一些关于用户的信息,例如用户名、用户权限等,因此也需要使用到一些公共的静态变量,把这些变量放置在一个名为“ClassShared”的类中。3.1添加DataBase公共类首先为系统添加一个名为“DataBase”的公共类,用于存放访问数据库的公共方法。添加公共类的方法和步骤如下:(1)选择【项目】→【添加类】菜单项,将弹出【添加新项】对话框,保留默认的选择,在“名称”文本框中输入“DataBase”,如图23所示。图23添加类(2)单击【添加】按钮,则类“DataBase”已经被添加到项目中,并自动切换到该类的代码窗口,如图24所示。图24“DataBase”类的代码窗口(3)从图24可以看到,“DataBase”类默认的访问修饰符为空,而该类应该是公共的,因此需要给其添加访问修饰符“public”,如图25所示。图25添加访问修饰符3.2编写公共方法3.1小节为项目添加了一个“DataBase”公共类,该类用于存放访问数据库的公共方法,本小节介绍如何编写这些公共方法。※9※因为在这些方法中需要使用到SqlConnection、SqlDataAdapter、DataSet和MessageBox,所以首先应当引入以下命名空间://********************************************************************************************usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Windows.Forms;//********************************************************************************************然后为“DataBase”类声明几个公共变量://********************************************************************************************publicSqlConnectiondataConnection=newSqlConnection();publicSqlDataAdapterdataAdapter;publicDataSe
本文标题:使用C#制作学生选课系统
链接地址:https://www.777doc.com/doc-3695980 .html