ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:449.08KB ,
资源ID:10960477      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10960477.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(B08050423陈志福WEB学生成绩管理.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

B08050423陈志福WEB学生成绩管理.docx

1、B08050423陈志福WEB学生成绩管理bs架构应用软件设计题目: 学生成绩管理 学 号: B08050423 姓 名: 陈志福 专 业: 计算机科学与技术 指导教师: 石念峰 2011年10月 8 日一、设计目的B/S架构应用软件设计是WEB程序设计课程之后进行的实践环节。通过该课程设计,使学生进一步加深对Web程序设计基本概念、B/S架构及开发流程和动态网站设计方法等知识的理解,提高Web技术编程能力和调试能力,牢固掌握ASP.NET Web程序设计技术,培养学生综合运用面向对象程序设计、数据库原理、web程序设计和软件工程等相关课程知识独立解决实际问题的能力。通过该课程设计,应达到下列

2、基本要求:1熟练掌握C#和Web程序设计的基本知识和技能;2基本掌握web程序开发的基本思路和方法,熟悉web程序开发过程,并初步具备利用面向对象的编程思想和web程序设计技术等综合知识完成网站开发的能力;3初步具备学生自学参考书籍及查阅手册、图表和文献资料的能力;4初步养成重视软件测试、重视文档写作、重视界面设计的程序开发习惯;5初步养成学生团队协作能力。2、设计题目及要求2.1设计题目B/S模式的学生成绩管理系统。2.2 基本要求(1)数据库设计要符合范式要求。(2)需至少包含以下功能或页面:提供学生成绩的查询功能,输入学生的学号或姓名,能查找出该生各学期的成绩;能对成绩数据进行添加、删除

3、、修改等基本操作,并能进行必要的统计计算,如计算不及格人数、给予警告名单等;用户权限控制,一般用户只能查询,管理员用户可以输入和修改数据。3、总体设计3.1、系统设计分析本系统功能主要分为六大类:登录管理:一般用户或管理员用户权限管理。成绩查询:以学号,姓名,学期为关键字查询等。成绩编辑: 管理员查询后可以直接编辑成绩。成绩删除:根据学号查询后可删除成绩,仅限管理员。成绩添加:添加学生成绩信息。统计成绩:统计每门课每学期不及格人数等。本系统性能力求易于使用,具体有较高的扩展性和可维护性。3.2、系统模块设计该学生成绩管理系统是用ASP.NETSQL Server2005数据库作为后台,系统是基

4、于Web的学生成绩管理系统,在系统中分为两种用户类型:学生、管理员。主要有用户登录模块、成绩查询模块、成绩管理模块构成。用户登录模块功能:管理员和一般用户通过用户名和密码登录。成绩查询模块功能:能够按学号、姓名查询某个学生成绩,管理员能够查询所有学生的所有成绩,能够统计某班某科学生的平均成绩。成绩管理模块功能:能够录入成绩、编辑和删除成绩。3.3、数据库设计数据库设计是对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能有效地存取数据,满足用户的信息要求和处理要求。数据库设计包括数据库的结构设计和数据库的行为设计,数据库的结构设计是根据给定的应用环境,进行数据库的模式或

5、子模式的设计。本系统的数据库设计采用基于E-R模型的数据库设计方法。首先,根据调研结果分析系统中存在哪些实体,并确定各实体的属性,再找出各实体间的联系,确定各联系的派生属性,最后按照数据库设计原则产生本系统的所有数据库结构并优化。本系统中存在的实体有:学生、课程各实体都有自己相应的属性,其中“学生”实体和“课程”之间存在着多对多的联系,其派生属性为成绩。图(2)为数据E-R图。图3-2 E-R图4、详细设计详细设计即界面设计和代码编写4.1、界面分析与规范。在人机界面设计中,首先应进行界面设计分析,进行用户特性分析,用户任务分析,记录用户有关系统的概念、术语,这项工作可与多媒体应用系统分析结合

6、进行,囊括于用户分析报告里。考虑到用户操作方便、直观。主要用一个页面为框架,用div布局,先用一个div1,作为整个框架,调好尺寸,然后找个图片作为背景,再用五个div放在div1里面,一个用个页头,一个页尾,一个用来导航,一个用来显示操作页面,一个用来显示当前登陆的用户。导航块是用几个按钮做的。界面主要使用了一个母板页,其他页面都调用母板页,从而在外观上保持一致。图 4-1 母板页4.2、用户登录模块1、界面设计:如图4-2所示。文本框(User_Name):输入用户名文本框(User_Pass):输入用户密码按钮(UserLogin):登录按钮按钮(User_reset):重置按钮复选框(

7、checkBoxAmdin):选择用户类型。图 4-2 登录页面2、代码设计:在Default.aspx的设计里,双击“登录”按钮,开发环境会自动为该按钮的click事件建立事件处理函数,并与“登录”按钮关联。也就是说,只要用户单击“登录”按钮,系统就自动执行该按钮的click事件处理函数。该函数的代码如下: protected void btnOK_Click(object sender, EventArgs e) if(txtName.Text=String.Empty|txtPwd.Text=String.Empty) labelRed1.Visible=labelRed2.Visibl

8、e=true; return; Sessionusername = txtName.Text.Trim(); Sessionpassword = txtPwd.Text.Trim(); Sessionadmin = checkBoxAdmin.Checked.ToString(); Server.Transfer(/Search.aspx);3、在Default.aspx的设计里,双击“重置”按钮,进入该按钮的事件处理函数。代码如下。 protected void btnReset_Click(object sender, EventArgs e) txtName.Text = txtPwd.

9、Text = String.Empty; checkBoxAdmin.Checked = false; 4、在此需要指出的时,为防止用户非法直接通过路径去访问其他页面而掉过登录页面,检测用户合法性的代码,安排到模板页的Loading函数中了。该方法代码如下: protected void Page_Load(object sender, EventArgs e) Page.Title = 欢迎登录成绩管理系统!; if (IsPostBack) return; String strAdmin = Sessionadmin as String; String strName = Sessionu

10、sername as String; String strPwd = Sessionpassword as String; labelN.Visible = labelName.Visible = btnLogOut.Visible = false; btnAddScore.Visible = btnSearch.Visible = btnUserMan.Visible = false; btnCountNum.Visible = false; / panelSearch.Visible = false; if (SessionreLogin as String = true) Session

11、reLogin = false; return; if (strAdmin = String.Empty | strName = String.Empty | strPwd = String.Empty| strAdmin = null | strName = null | strPwd = null) SessionreLogin = true; Server.Transfer(/Default.aspx); return; String conStr = ConfigurationManager.ConnectionStringsmyConnectionString.ConnectionS

12、tring; SqlConnection sqlconn = new SqlConnection(conStr); SqlCommand sqlcommand = new SqlCommand(); sqlcommand.Connection = sqlconn; sqlconn.Open(); sqlcommand.CommandText=String.Format(select admin from userTable where username=0 and password =1,strName,strPwd); SqlDataReader reader = sqlcommand.Ex

13、ecuteReader(); bool redirect = true; while (reader.Read() if(strAdmin = reader.GetBoolean(0).ToString() redirect = false; sqlcommand=null; sqlconn.Close(); sqlconn=null; if (redirect) SessionreLogin = true; Server.Transfer(/Default.aspx); else labelN.Visible = labelName.Visible = btnLogOut.Visible =

14、 true; btnSearch.Visible = true; if (strAdmin = True) btnAddScore.Visible = btnUserMan.Visible = true; btnCountNum.Visible = true; labelName.Text = strName; 5、双击模板页的退出登录按钮,添加退出登录代码: protected void btnLogOut_Click(object sender, EventArgs e) Sessionadmin = String.Empty; Sessionusername = String.Empty

15、; Sessionpassword = String.Empty; labelN.Visible = labelName.Visible = btnLogOut.Visible = false; panelControl.Visible = false; SessionreLogin = String.Empty; SessionreLogin = true; Server.Transfer(/Default.aspx); 4.3、成绩查询模块1、界面设计:如图 4-3 所示。图 4-3 成绩查询模块 2、代码设计: protected void btnSearchScore_Click(ob

16、ject sender, EventArgs e) gvTerm1.Visible = gvTerm2.Visible = false; String sNumber = String.Empty; String comText = String.Empty; if (!checkAdmin() & txtInput.Text.Trim() = String.Empty) return; if (rbtnNo.Checked) sNumber = txtInput.Text.Trim(); else if (rbtnName.Checked) comText = select sno from

17、 student where sname = + txtInput.Text.Trim() + ; String snoTemp = BaseClass.ExecuteOne(comText); if (snoTemp != null & snoTemp != String.Empty) sNumber = snoTemp; else return; DataSet ds = new DataSet(); String conStr = ConfigurationManager.ConnectionStringsmyConnectionString.ConnectionString; SqlC

18、onnection sqlconn = new SqlConnection(conStr); sqlconn.Open(); if (ddlTerm.SelectedIndex = 0 | ddlTerm.SelectedIndex = 2) gvTerm1.Visible = true; if (checkAdmin() & txtInput.Text = String.Empty) comText = select student.sno,sname,vb,c,cpp,csharp from term1,student where student.sno=term1.sno; else c

19、omText = select student.sno,sname,vb,c,cpp,csharp from term1,student + where student.sno=term1.sno and student.sno = + sNumber + ; SqlDataAdapter reader = new SqlDataAdapter(comText, sqlconn); reader.Fill(ds, stuScore); gvTerm1.DataSource = ds.TablesstuScore.DefaultView; gvTerm1.DataBind(); if (ddlT

20、erm.SelectedIndex = 1 | ddlTerm.SelectedIndex = 2) gvTerm2.Visible = true; if (checkAdmin() & txtInput.Text = String.Empty) comText = select student.sno,sname,yuwen,shuxue,yingyu,tiyu from term2,student where student.sno=term2.sno; else comText = select student.sno,sname,yuwen,shuxue,yingyu,tiyu fro

21、m term2,student + where student.sno=term2.sno and student.sno = + sNumber + ; SqlDataAdapter reader = new SqlDataAdapter(comText, sqlconn); reader.Fill(ds, stuScore2); gvTerm2.DataSource = ds.TablesstuScore2.DefaultView; gvTerm2.DataBind(); sqlconn.Close(); sqlconn = null; 4.4 成绩添加模块1.界面设计图 4-4 成绩添加

22、模块2、代码设计添加数据时可以选择添加的学期,然后可以输入学号,和各门课的成绩,若学号在学生数据库中,则允许添加。单击添加后将执行以下代码:protected void btnAddGrade_Click(object sender, EventArgs e) if (txtC.Text = String.Empty | this.txtCsharp.Text = String.Empty | this.txtCPP.Text = String.Empty | this.txtSno.Text = String.Empty | this.txtVb.Text = String.Empty) r

23、eturn; try String conStr = ConfigurationManager.ConnectionStringsmyConnectionString.ConnectionString; SqlConnection sqlconn = new SqlConnection(conStr); sqlconn.Open(); SqlCommand comm = new SqlCommand(); comm.Connection = sqlconn; comm.CommandText = insert into term1(sno,c,cpp,csharp,vb) values(sno

24、,c,cpp,csharp,vb); comm.Parameters.AddWithValue(sno, this.txtSno.Text); comm.Parameters.AddWithValue(c,this.txtC.Text); comm.Parameters.AddWithValue(cpp,this.txtCPP.Text); comm.Parameters.AddWithValue(vb,this.txtVb.Text); comm.Parameters.AddWithValue(csharp,this.txtCsharp.Text); comm.ExecuteNonQuery

25、(); sqlconn.Close(); sqlconn = null; comm = null; catch (SystemException exp) String str = exp.Message; 4.5 成绩编辑模1.界面设计图 4-5 查询后可编辑或删除成绩图 4-6 点击编辑后可更新成绩2.代码设计编辑时,更新函数代码如下:protected void gvTerm1_RowUpdating(object sender, GridViewUpdateEventArgs e) try String conStr = ConfigurationManager.ConnectionS

26、tringsmyConnectionString.ConnectionString; SqlConnection sqlconn = new SqlConnection(conStr); sqlconn.Open(); SqlCommand comm = new SqlCommand(); comm.Connection = sqlconn; comm.CommandText = update term1 set c=c,vb=vb,cpp=cpp,csharp=csharp where sno=sno; comm.Parameters.AddWithValue(sno, gvTerm1.Da

27、taKeyse.RowIndex.Value.ToString(); comm.Parameters.AddWithValue(c, (TextBox)gvTerm1.Rowse.RowIndex.Cells2.Controls0).Text); comm.Parameters.AddWithValue(cpp, (TextBox)gvTerm1.Rowse.RowIndex.Cells3.Controls0).Text); comm.Parameters.AddWithValue(vb, (TextBox)gvTerm1.Rowse.RowIndex.Cells4.Controls0).Te

28、xt); comm.Parameters.AddWithValue(csharp, (TextBox)gvTerm1.Rowse.RowIndex.Cells5.Controls0).Text); comm.ExecuteNonQuery(); sqlconn.Close(); sqlconn = null; comm = null; gvTerm1.EditIndex = -1; this.databind(); catch (SystemException ex) String str = ex.Message; 删除一行数据时执行的函数如下:protected void gvTerm1_

29、RowDeleting(object sender, GridViewDeleteEventArgs e) String conStr = ConfigurationManager.ConnectionStringsmyConnectionString.ConnectionString; SqlConnection sqlconn = new SqlConnection(conStr); sqlconn.Open(); SqlCommand comm = new SqlCommand(); comm.Connection = sqlconn; comm.CommandText = delete from term1 where sno=+gvTerm1.DataKeyse.RowIndex.Value.ToString()+; comm.ExecuteNonQuery(); sqlconn.Close(); sqlconn = null; comm = null; gvTerm1.EditIndex = -1; this.databind(); 4.6 成绩统计模块1.界面设计图4-7 成绩信息统计截图2.代码设计、统计之前首先将一个学期的所有成绩绑定到da

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1