还剩15页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
课程设计课程设计名称数据库应用系统课程设计专业班级计科0902学生姓名吴丽佳学号200948140203指导教师孙宜贵课程设计时间2011-12-19至2011-12-30计算机科学与技术专业课程设计任务书学生姓名吴丽佳专业班级计科0902学号200948140203题目研究生成绩管理系统课题性质其它课题来源自拟课题指导教师孙宜贵同组姓名无主要内容一直以来学校使用传统人工的方式管理研究生成绩,这种管理方式存在着许多缺点,譬如效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难课题要求设计并实现一个研究生成绩管理系统,能够通过计算机和数据库满足对研究生成绩的管理工作功能应包括登录对角色的判断、用户基本信息的管理、更新、多条件查询等界面设计相对友好,方便用户的操作任务要求综合运用所学的数据库基本知识,并能通过查阅相关文献材料,独立完成该课题的设计开发工作要求根据本课题设计出合理的数据结构,并实现研究生成绩管理系统中研究生的登录,对自己信息的查询,管理员登录的验证,对研究生信息的查询,对研究生信息的更新,编辑,删除等操纵,教师的登录,可以查询名下的研究生的选课情况,以及自己所教课程的选课情况,可以对选修所教课程的研究生成绩录入参考文献《数据库原理与应用教程》尹志宇郭晴编著清华大学出版社《ASP.NET数据库网站实训教程》孙士保编著电子工业出版社《ASP.NET开发实战宝典》张跃廷编著清华大学出版社《数据库设计》Stephens著机械工业出版社《数据库处理--基础、设计与实现》D.M.Kroenke著电子工业出版社审查意见指导教师签字教研室主任签字年月日说明本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页研究生成绩管理系统1概述一直以来学校使用传统人工的方式管理研究生成绩,这种管理方式存在着许多缺点,譬如效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难课题要求设计并实现一个研究生成绩管理系统,能够通过计算机和数据库满足对研究生成绩的管理工作功能应包括登录对角色的判断、用户基本信息的管理、更新、多条件查询等界面设计相对友好,方便用户的操作2需求分析根据需求分析阶段的系统功能,将研究生成绩管理系统分成四个模块,包括管理员管理模块,学生管理模块,教师管理模块和公共模块,如图1所示图1系统功能模块根据以上四个模块,准备设计以下页面(
1.登录页面Login.aspx;(
2.管理员主页面Main.aspx;(
3.学生信息维护页面adminStudentDetails.aspx(
4.课程信息维护页面adminCourseDetails.aspx;(
5.教师信息维护页面adminTeacherDetails.aspx;(
6.研究生成绩维护页面adminScoreDetails.aspx;(
7.教师查询选课情况页面teacherElect.aspx;(
8.教师录入成绩页面teacherQueryScore.aspx;(
9.学生选修课程页面studentElect.aspx;(
10.学生个人成绩查询页面studentQueryScore.aspx;(
11.修改密码页面ModifyPwd.aspx;3概念结构设计(小三黑体)图2研究生管理系统E-R图通过需求分析阶段的分析结果,本系统索要设计的实体和属性如下学生学号,密码,姓名,姓名,性别,年级,专业教师(教师号,密码,姓名,性别,院系)课程(课程号,课程名,成绩,学分,学号)管理员(管理员帐号,密码)E-R图如上图所示,图中省略实体中的属性4逻辑结构设计根据转换原则转换成5个关系模式,关系的主码用下划线标出学生学号,密码,姓名,姓名,性别,年级,专业教师(教师号,密码,姓名,性别,院系)课程(课程号,课程名,成绩,学分,学号)选课(课程号,学号,成绩)管理员(管理员帐号,密码)这部分将E-R模型转换为关系模式,指明所满足的范式并给出理由5源代码及系统截图
1.登录页面Login.aspx;如图3所示protectedvoidPage_LoadobjectsenderEventArgse{this.Title=研究生信息管理系统;}protectedvoidButton1_ClickobjectsenderEventArgse{stringuserName=txtUserName.Text.ToString.Trim;stringuserPwd=txtPwd.Text.ToString.Trim;stringuserRole=rblClass.SelectedValue.Trim;stringselectStr=;switchuserRole{case0:selectStr=Select*from教师where教师号=+userName+;break;case1:selectStr=Select*from学生where学号=+userName+;break;case2:selectStr=Select*from管理员where管理员帐号=+userName+;break;}SqlConnectionconn=newSqlConnectionConfigurationManager.ConnectionStrings[MasterDBConnectionString].ConnectionString;//SqlConnectionconn=newSqlConnectionConnSql;SqlCommandcmd=newSqlCommandselectStrconn;//SqlCommandcmd=newSqlCommandselectStrconn;conn.Open;SqlDataReadersdr=cmd.ExecuteReader;ifsdr.Read{ifsdr.GetString1==userPwd{Session[userName]=userName;Session[userRole]=userRole;conn.Close;switchuserRole{case0:Response.RedirectteacherQueryElect.aspx;break;case1:Response.RedirectstudentQueryScore.aspx;break;case2:Response.RedirectMain.aspx;break;}}else{Label
1.Text=您输入的密码有误,请检查后重新输入!;}}elseLabel
2.Text=该用户不存在或用户名输入错误,请检查后重新输入!;conn.Close;}protectedvoidButton2_ClickobjectsenderEventArgse{Response.Writeahref=javascript:window.opener=null;window.close关闭窗口/a;图3登陆界面
2.管理员主页面Main.aspx;如图4所示protectedvoidPage_LoadobjectsenderEventArgse{this.Title=管理员页面;if!this.IsPostBack{Label
1.Text=欢迎管理员+Session[userName].ToString+进入本系统!;}}protectedvoidadminStudentDetail_ClickobjectsenderEventArgse{Response.RedirectadminStudentDetails.aspx;}protectedvoidButton2_ClickobjectsenderEventArgse{Response.RedirectadminCourseDetails.aspx;}protectedvoidButton3_ClickobjectsenderEventArgse{Response.RedirectadminScoreDetails.aspx;}protectedvoidButton4_ClickobjectsenderEventArgse{Response.RedirectadminTeacherDetails.aspx;}protectedvoidButton5_ClickobjectsenderEventArgse{//Response.Writeahref=javascript:window.opener=null;window.close关闭窗口/a;Response.RedirectLogin.aspx;}图4管理员主页面
3.学生信息维护页面adminStudentDetails.aspx如图5所示图5学生信息维护页面4.课程信息维护页面adminCourseDetails.aspx;如图6所示图6课程信息维护页面
5.教师信息维护页面adminTeacherDetails.aspx;如图7所示图7教师信息维护页面
6.研究生成绩维护页面adminScoreDetails.aspx;如图8所示图8研究生成绩维护页面
7.教师查询选课情况页面teacherElect.aspx;如图9所示privatevoidBindDDL{SqlConnectionconn=newSqlConnectionConfigurationManager.ConnectionStrings[MasterDBConnectionString].ConnectionString;stringSqlStr=selectdistinct课程.课程号课程.课程名from课程where教师号=+stringSession[userName]+;DataSetds=newDataSet;conn.Open;SqlDataAdapterda=newSqlDataAdapterSqlStrconn;da.Fillds;conn.Close;ddlCourse.DataSource=ds.Tables
[0].DefaultView;ddlCourse.DataTextField=课程名;ddlCourse.DataValueField=课程号;ddlCourse.DataBind;}/*protectedvoidCourseName_TextChangedobjectsenderEventArgseBindGridView;}*/privatevoidBindGridView{SqlConnectionconn=newSqlConnectionConfigurationManager.ConnectionStrings[MasterDBConnectionString].ConnectionString;SqlCommandcmd=conn.CreateCommand;cmd.CommandText=select学生.学号姓名年级专业from学生选课where学生.学号=选课.学号and课程号=+ddlCourse.SelectedValue+;//打开连接对象,建立数据库的连接conn.Open;//建立DataReader对象迅速获取查询结果SqlDataReaderdr=cmd.ExecuteReader;//显示信息GridView
1.DataSource=dr;GridView
1.DataBind;conn.Close;}protectedvoidDropDownList1_SelectedIndexChangedobjectsenderEventArgse{BindGridView;}protectedvoidButton3_ClickobjectsenderEventArgse{Response.RedirectLogin.aspx;}protectedvoidButton1_Click1objectsenderEventArgse{Response.RedirectteacherSubmitScore.aspx;}protectedvoidButton2_ClickobjectsenderEventArgse{Response.RedirectModifyPwd.aspx;}图9教师查询选课情况页面
8.教师录入成绩页面teacherQueryScore.aspx;如图10所示protectedvoidButSC_ClickobjectsenderEventArgse{SqlConnectionconn=newSqlConnectionConfigurationManager.ConnectionStrings[MasterDBConnectionString].ConnectionString;//创建连接对象SqlCommandcmd=conn.CreateCommand;stringcourseID=ddlCourse.SelectedValue;//课程号intscore;stringstuID;conn.Open;inti;fori=0;iGridView
1.Rows.Count;i++{score=int.ParseTextBoxGridView
1.Rows[i].FindControltxtScore.Text.Trim;//取出学生成绩stuID=GridView
1.Rows[i].Cells
[0].Text;cmd.CommandText=update选课set成绩=+score+where学号=+stuID+and课程号=+courseID+;cmd.ExecuteNonQuery;}conn.Close;Label
2.Text=成功录入学生成绩!;}图10教师录入成绩页面
9.学生选修课程页面studentElect.aspx;如图11所示//GridView1控件的RowCommand事件protectedvoidGridView1_RowCommandobjectsenderGridViewCommandEventArgse{ife.CommandName==Selt//如果单击的是“选修”按钮{intindex=Convert.ToInt32e.CommandArgument;//取出选修课程所在的行索引//DataKeykey=GridView
1.DataKeys[index];//创建DataKey集合接收该行的主键GridView
1.DataKeyNames=newstring[]{课程号};stringcourseID=GridView
1.DataKeys[index].Values
[0].ToString.Trim;//取出课程号主键值stringconnStr=ConfigurationManager.ConnectionStrings[MasterDBConnectionString].ConnectionString;stringSqlStr=insertinto选课学号课程号values+stringSession[userName]+111;SqlConnectionconn=newSqlConnectionconnStr;//创建连接对象conn.Open;SqlCommandcomm=newSqlCommandSqlStrconn;comm.ExecuteNonQuery;//执行插入选修课程conn.Close;}}//GridView2控件的RowCommand事件protectedvoidGridView2_RowCommandobjectsenderGridViewCommandEventArgse{ife.CommandName==Tui//如果单击的是“退选”按钮{intindex=Convert.ToInt32e.CommandArgument;//取出选修课程所在的行索引//DataKeykey=GridView
1.DataKeys[index];//创建DataKey集合接收该行的主键GridView
1.DataKeyNames=newstring[]{课程号};stringcourseID=GridView
1.DataKeys[index].Values
[0].ToString.Trim;//取出课程号主键值stringuserName=Session[userName].ToString;stringconnStr=ConfigurationManager.ConnectionStrings[MasterDBConnectionString].ConnectionString;stringSqlStr=deletefrom选课where学号=+userName+and课程号=+courseID+;;SqlConnectionconn=newSqlConnectionconnStr;//创建连接对象conn.Open;SqlCommandcomm=newSqlCommandSqlStrconn;comm.ExecuteNonQuery;//执行删除选修课程conn.Close;}}图11学生选修课程页面
10.学生个人成绩查询页面studentQueryScore.aspx;如图12所示protectedvoidPage_LoadobjectsenderEventArgse{this.Title=成绩查询;//设置只有学生可以进入ifstringSession[userRole]!=1Response.RedirectLogin.aspx;SqlConnectionconn=newSqlConnectionConfigurationManager.ConnectionStrings[MasterDBConnectionString].ConnectionString;SqlCommandcmd=conn.CreateCommand;cmd.CommandText=select选课.课程号课程名成绩from选课课程where课程.课程号=选课.课程号and学号=+stringSession[username]+;conn.Open;SqlDataReaderdr=cmd.ExecuteReader;//显示信息GridView
1.DataSource=dr;GridView
1.DataBind;dr.Close;SqlCommandcmd1=conn.CreateCommand;cmd
1.CommandText=select姓名from学生where学号=+stringSession[username]+;SqlDataReaderdr1=cmd
1.ExecuteReader;dr
1.Read;Label
1.Text=学生+stringdr1
[0]+的考试成绩;conn.Close;}图12学生个人成绩查询页面
11.修改密码页面ModifyPwd.aspx;如图13所示protectedvoidButton1_ClickobjectsenderEventArgse{stringuserName=Session[userName].ToString;stringoldPwd=txtOldPwd.Text.Trim;stringnewPwd=txtNewPwd.Text.Trim;stringselectStr=;stringupdateStr=;switchSession[userRole].ToString{case0:selectStr=select*from教师where教师号=+userName+and密码=+oldPwd+;updateStr=update教师set密码=+newPwd+where教师号=+userName+;break;case1:selectStr=select*from学生where学号=+userName+and密码=+oldPwd+;updateStr=update学生set密码=+newPwd+where学号=+userName+;break;case2:selectStr=select*from管理员where管理员帐号=+userName+and密码=+oldPwd+;updateStr=update管理员set密码=+newPwd+where管理员帐号=+userName+;break;}SqlConnectionconn=newSqlConnectionConfigurationManager.ConnectionStrings[MasterDBConnectionString].ConnectionString;SqlCommandselectCmd=newSqlCommandselectStrconn;conn.Open;SqlDataReadersdr=selectCmd.ExecuteReader;ifsdr.Read{sdr.Close;SqlCommandupdateCmd=newSqlCommandupdateStrconn;inti=updateCmd.ExecuteNonQuery;ifi0{Label
1.Text=成功修改密码!;}else{Label
1.Text=修改密码失败!;}}else{Response.Write您输入的密码错误,检查后重新输入!;}conn.Close;}protectedvoidButton2_ClickobjectsenderEventArgse{txtOldPwd.Text=;txtNewPwd.Text=;txtConfirmPwd.Text=;}protectedvoidButton3_ClickobjectsenderEventArgse{Response.RedirectLogin.aspx;图13修改密码页面参考文献尹志宇郭晴编著《数据库原理与应用教程》清华大学出版社孙士保编著《ASP.NET数据库网站实训教程》电子工业出版社张跃廷编著《ASP.NET开发实战宝典》清华大学出版社Stephens著《数据库设计》机械工业出版社D.M.Kroenke著《数据库处理--基础、设计与实现》电子工业出版社心得体会这次的课程设计可以说是为毕业设计做的一个预演,真的做起来困难重重,深刻体会到做一个软件,里面需要的很多知识我们没有接触过,去图书馆找书的时候发现,我们学的仅仅是皮毛,还有很多东西需要我们去发掘,就算是借一本书看完它,我们还是会发现还有很多知识没有吃透,这需要我们不断的实践,不断地自学习,不断地发现问题去思考问题从需求分析阶段不断地搜索资料,想充分了解自己所做的课题在客户或者公司中的需求,由于《数据库》这门课学的不深,画数据流图等等软件设计流程做起来很生疏,翻阅课本,和老师上课的讲解,总算整了一个像样点的需求分析,但是也不知道是不是正确,根据数据流图,不断修改需求,由于这个课程设计没有连接外部设备,比如打印机,网络等,所以做的都是在实践阶段,根据设计的大概模式展开一步步的模块构造经过不断地测试,不断地改进,其中还是发下了不少问题,第一次做这些工作,没有任何经验,甚至无从下手,还是很谢谢老师和同学的帮忙,从中也学到了一些代码的写法,为什么要这样写,通过和同学的讨论,找到一些书本上没有的方法,如何数据绑定等等,怎样从数据库中将数据提取出来放到一个文本框或者标签内,这些东西是组成界面的东西,虽然小,但是可以体现整个软件的水平,其实并不需要建多少数据库的表,写多少复杂的存储过程,是不是用了数据库函数,触发器等等,但是至少要弄明白这些东西如果操作,清晰思路才能将功能分清晰经过一段时间的学习与实践,个人日程管理系统基本上开发好了该系统具备了添加、修改、删除、浏览、查询、输出日程信息,实现了根据用户需求查看日程等功能作为一个个人日程管理系统,本系统所提供的功能的确太少了一些,仅仅只实现了一些基本的功能,有很多地方还有待扩展和改良人如果没有自信,没有目标,没有信心就不可能把事情做好,当其他人都在迷茫的时候,自己一定要坚信目标,大学毕业出去即是面临找工作,从学习这个专业,到以后做这方面的工作都需要不断地去学习去实践,这次实践可以给我们敲一个警钟,我们面临毕业,面临择业,需要这些实践经验,在困难面前要勇于尝试,这是这次课程设计给我的最大感想研究生成绩管理系统管理员教师学生维护学生信息维护教师信息维护课程信息维护成绩信息课程选修情况录入课程成绩学生选修课程查询个人成绩登录用户修改个人密码2。