版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、web数据库程序设计语言设计性实验web数据库程序设计语言设计性实验报告实验项目名称:学生成绩管理信息系统设计与开发专业班级: 信息072 ;姓名:范高华 ;学号:200712030213 实验起止日期:起于 2009 年 12 月 10 日止于 2009 年 12 月 25 日实验目的:学会用web数据库程序设计语言编程实现信息管理系统实验要求:包括系统设计要求,开发环境要求,技术文档要求三部分。系统设计要求:1. 学生成绩管理系统中不同使用单位(用户)的学生人数事先无法确定2. 该学生成绩管理系统要求有学生成绩录入,查询,修改,删除,数据导入将教务处的Excel格式的成绩单导入数据库中。3
2、. 系统使用web网页界面上的文字菜单,实现系统对子模块的调用 4. 系统数据库至少应包含数据对象:学生表、选课表(学生只对对培养方案中的选修课有选课权)、课程表(可参照本学校实际执行的课程表表进行设计)、成绩登记表(可参照本学校成绩登记表进行设计)、培养方案、教师表等。5. 成绩管理系统数据库可以Microsoft Office Access2003为RDBMS,也可以Microsoft SQL Server 2000 为RDBMS6. 学生的总评成绩由程序自动计算,总评成绩平时成绩30期末成绩70开发环境要求:软件环境:windows98/windowsXP/windows2000,Vis
3、ual C硬件环境:计算机(Pen4CPU, 256MRAM,60G以上硬盘,输入输出设备)技术文档要求:按照软件工程技术文档编写要求进行。要求流程图绘制规范,模块功能描述清晰,数据字典齐全。实验内容:1 Visual C语言的顺序结构、分支结构、循环结构、函数、结构体、指针、ASP.NET web项目开发、网页制作。2 数据库设计、数据库操作、计算机网路等内容。3 能生成指定班指定课程的单科成绩表。4 能将教务处的Excel格式的成绩单导入数据库的成绩登记表中。实验具体方案:按照系统设计要求,用Visual C设计和开发一个学生成绩管理系统,提交由需求分析;系统设计说明(包括主菜单、子菜单、
4、模块功能简介、数据字典、系统结构图);系统技术文档 (包括系统各模块主要流程图,软件总体测试方案与测试记录、局部测试方案与测试记录、软件调试和修改记录、测试结论、运行情况记录),系统使用说明书,源程序代码为附录构成的实验报告需求分析:需要利用开发设计一个学生成绩信息管理系统,利用access表进行学生成绩信息的保存,再将access表导入到的平台中,建立存储信息与开发平台的链接,可以通过用户名和密码登陆到学生成绩信息管理系统,通过选择要进行的操作,例如学生信息的查询,删除,插入,修改等操作,并且可以显示操作后的所有学生的成绩信息,较以往的学生管理系统更个性化。系统设计说明(包括能够主菜单、子菜
5、单、模块功能简介、数据字典、系统结构图);主菜单 第一个界面为登陆界面,用户名为 sa,密码为sa 登陆该学生成绩信息管理系统进入首页。在首页中可以进行查询、修改、添加、删除、选课信息,是主要的菜单项子菜单分为五个页面分别承担以上五个功能,各个页面均有超链接可以进行跳转模块功能简介查询模块:分为学生基本信息查询、学生成绩查询、课表信息。页面均有图标按钮和单选按钮用户可以根据需要进行选择。只需单击相应的按钮即可 修改模块:完成学生信息的修改,通过编辑框输入要修改的学生学好然后重新输入新的值即可。可以在access表中进行对选定的学生信息的修改;插入模块:完成学生基本信息管理系统的添加,通过编辑框
6、输入要添加的学生信息单击提交,就可以在界面的access表中进行学生成绩信息的插入;删除模块:完成学生信息的删除,通过编辑框输入要删除的学生的学号,下面的文本域列出该学生的基本详细信息供参考。删除成功有对话框提示。选课模块:完成学生选课信息,通过编辑框输入要选课的学生的学号,并输入各门课程的成绩即可点击。 数据字典 CshowMsg 用于显示对话框的类Password 是设置登陆界面的密码的函数Response 是数据集的绑定函数, Button 进行相应操作的按钮;ImageButton 是相应的图片按钮xxxx TextBox 用于输入对应xxxx的文本框。xxxxLabel 用于标明xx
7、xx名称xxxxRadioButton 用于识别用户是否选中xxxx项OleDbConnection conn 用于连接数据库OleDbCommand cmd 用于执行数据库操作DataSet ds 数据集用于暂存数据库中的数据DataGrid 用于在界面上显示数据 LinkButton 用于超链接按钮OleDbDataAdapter oda 数据适配器DataBind() 用于数据集绑定Page_Load(object sender, System.EventArgs e) 用于加载页面的函数ImageButton_Click(object sender, System.Web.UI.Ima
8、geClickEventArgs e) 用于响应图片按钮的函数ImageButton3_Click(object sender, System.Web.UI.ImageClickEventArgs e) 用于响应超链接的函数xxxButton_Click(object sender, System.Web.UI.ImageClickEventArgs e) 用于响应按钮的函数xxxRadioButton_CheckedChanged(object sender, System.EventArgs e) 用于响应RadioButton的函数登陆界面系统结构图 主菜单界面 选课模块删除模块修改模块
9、查询模块跳转 跳转 跳转系统技术文档 (包括系统各模块主要流程图,软件总体测试方案与测试记录、局部测试方案与测试记录、软件调试和修改记录、测试结论)查询模块流程图: 查询查询全班信息按学号查询输入学号显示成绩与否查询 取消进入选课模块立即选课 输入学生学号修改模块流程图: 查询是否存在信息 该学生不存在,拒绝修改 否 是显示学生信息并进行修改进入查询模块查看是否有该学生信息进入查询模块查看 插入模块流程图: 输入学生学号该学生是否已经存在该学生已经存在拒绝插入输入信息进行插入进入查询模块查看 删除模块流程图: 输入学生学号查询该学生是否存在该学生不存在拒绝删除确认信息并进行删除进入查询模块查询
10、该学生进入查询模块查看选课模块流程图:输入学生学号该学生是否已经选课该学生已经选课进入修改模块进行选课进入查询模块查看软件总体测试方案:1、 在查询模块中查看学生信息做记录2、 在修改模块中进行信息修改并再次进行查看比对3、 查看选课信息做记录4、 进行选课后进行信息查询并进行比对5、 删除一个学生信息并进行信息查询6、 插入一个学生并进行信息查询测试记录:1、 在界面上显示了全班信息,查询工作正常2、 修改某学生后进行查看,该学生信息改变3、 在界面上显示了选课信息并有成绩4、 对没选课的学生选课查询后该学生有选课信息显示5、 删除一个学生信息并进行查询,没有该学生信息6、 插入一个学生并进
11、行查询,记录中多了一个学生信息局部测试方案:1、 测试查询模块,主要看信息显示是否与数据库一致。2、 测试修改模块,主要看修改是否成功。输入一个空学号进行测验。3、 测试删除模块,输入一个空学号进行测验。4、 测试插入模块,输入一个已有学号进行测验。5、 测试选课模块,输入一个已经选课的学生学号进行测验。测试结果:1、 查询模块正常工作,与数据库数据一致。2、 输入空学号也可以进行修改,数据库中没有变化。3、 输入已有学号显插入正常数据库中有两个一样的学号。4、 输入空学号也能删除,数据库中没有变化。5、 输入一个已经选课的学生学号再次选课。软件调试和修改记录:添加信息校准模块后并用对话框进行
12、信息显示有如下结果:1、查询模块正常工作,与数据库数据一致。2、输入空学号显示学号为空不能修改。3、输入已有学号显示该学生已经存在不能插入。4、输入空学号显示学号为空不能删除。5、输入一个已经选课的学生学号显示已经选课不能再选了,可以修改。测试结果:上述细节问题等到解决,系统可以正常运行测试结论:经过增加信息校准模块后,反复进行测试学生管理系统基本可以进行正常运作。可以进行插入、删除、修改,选课等操作。不会造成数据不一致性问题出现与数据库的数据保持一致。系统运行结果和记录(软件运行界面图、软件运行数据输入界面图、软件运行结果界面图、运行记录)登陆界面:首页菜单界面:该界面有五个模块可以进行点击
13、操作进入相关页面进入查询信息界面:可以查看基本信息和课程信息进入修改界面:进入添加信息的界面:进入删除信息界面:进入选课登记成绩界面:系统使用说明书:先进入到运行界面,会显示登陆界面,通过输入用户名sa和密码sa就可以登陆到学生成绩信息管理系统,此界面有3个绑定的学生成绩信息Access表,还有Button按钮,在每个对应的按钮下可以进行相应的学生信息管理的操作,选择修改就可以对学生表进行修改,并且通过update方法可以将操作后的学生信息保存下来;选择删除,就可以在表里将此学生删除掉,也是通过delete方法进行保存操作;选择插入的话就可以在表的最后面插入新学生的学生成绩信息,也是通过ins
14、ert方法将修改后的信息保存下来;选择查询就可一将对应的学生信息显示出来。选课登记的学生必须是student表中的学生实验讨论此次课程设计使用的数据源由Acess数据库提供,在里面建立学生表、选课表(学生只对对培养方案中的选修课由选课权)、课程表(可参照本学校实际执行的课程表进行设计)、成绩登记表(可参照本学校成绩登记表进行设计)、教师表。在进行登陆界面以及学生信息管理系统的相关操作,将学生信息表与第二个界面进行绑定,这样可以通过数据库的相关操作语句进行相应的操作,同时要注意保存该操作。可以尝试由SQLServer建立数据库连接web数据库程序设计语言设计性实验收获与总结通过本次试验,我对所学
15、的C#语言知识有了更加深入的认识。除了对各种按钮和控件属性的用法更加熟练外,更重要的是学会了如何将数据源和数据集进行绑定和数据库的连接和填充,只有这样做后才可以进行接下来的各种操作,这个在此实验里尤为重要。我刚开始时只将access数据库里的表格绑定到web应用程序中,利用命令进行连接操作但是运行老出错,这个错误耗费了我整整一个下午,这个问题解决了。但是第二个界面无法显示,最后检查半天才知没有将这两个界面绑定。细节问题是很多的,只有动手做时才知道自己学的有多么肤浅,应用不当就出错而且错误很费神,理论与实际差距的确很大,要想作出实际实用的东西来还需多多练习,不断改进,充分发挥所学知识,另外也应加
16、强视野的开拓,现学现卖自己拯救,学会搜索有用的信息,这样才能作出满意的东西来。参考文献<<ASP.NET网络程序设计教程>> 九州书源 刘丽萍等编著 清华大学出版社 附录:源程序代码/登陆文件using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.
17、WebControls;using System.Web.UI.HtmlControls;namespace STU/ <summary>/ login 的摘要说明。/ </summary>public class login : System.Web.UI.Pageprotected System.Web.UI.WebControls.Label Label1;protected System.Web.UI.WebControls.Label Label2;protected System.Web.UI.WebControls.TextBox userName;pro
18、tected System.Web.UI.WebControls.TextBox password;protected System.Web.UI.WebControls.Button Button1;protected System.Web.UI.WebControls.ImageButton ImageButton1;protected System.Web.UI.WebControls.Image Image1;protected System.Web.UI.WebControls.Label Label3;public class CShowMsg: System.Web.UI.Pag
19、epublic static void show(System.Web.UI.Page pg,string msg)string info="<script>alert('"+msg+"');</script>"pg.Response.Write(info);private void Page_Load(object sender, System.EventArgs e)/ 在此处放置用户代码以初始化页面#region Web 窗体设计器生成的代码override protected void OnInit(Eve
20、ntArgs e)InitializeComponent();base.OnInit(e);private void InitializeComponent() this.Button1.Click += new System.EventHandler(this.Button1_Click);this.ImageButton1.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButton1_Click);this.Load += new System.EventHandler(this.Page_Load);#endreg
21、ionprivate void Button1_Click(object sender, System.EventArgs e)if(userName.Text="sa"&&password.Text="sa")CShowMsg.show(this,"登陆成功"); password.Text=""userName.Text=""password.Text=""Response.Redirect("index.aspx");this.Dis
22、pose();else CShowMsg.show(this,"用户名或密码不正确请重新输入!");userName.Text=""password.Text=""private void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e)this.Dispose();/首页文件using System;using System.Collections;using System.ComponentModel;using System.Data;u
23、sing System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;namespace STU/ <summary>/ index 的摘要说明。/ </summary>public class index : System.Web.UI.Pageprotected System.Web.UI.WebControls.LinkButton
24、LinkButton1;protected System.Web.UI.WebControls.LinkButton LinkButton2;protected System.Web.UI.WebControls.LinkButton LinkButton3;protected System.Web.UI.WebControls.LinkButton LinkButton4;protected System.Web.UI.WebControls.LinkButton LinkButton5;protected System.Web.UI.WebControls.Label Label2;pro
25、tected System.Web.UI.WebControls.ImageButton ImageButton1;protected System.Web.UI.WebControls.ImageButton ImageButton2;protected System.Web.UI.WebControls.ImageButton ImageButton3;protected System.Web.UI.WebControls.ImageButton ImageButton4;protected System.Web.UI.WebControls.ImageButton ImageButton
26、5;protected System.Web.UI.WebControls.Label Label1;private void Page_Load(object sender, System.EventArgs e)/ 在此处放置用户代码以初始化页面#region Web 窗体设计器生成的代码override protected void OnInit(EventArgs e)/ CODEGEN: 该调用是ASP.NET Web 窗体设计器所必需的。/InitializeComponent();base.OnInit(e);/ <summary>/ 设计器支持所需的方法- 不要使用
27、代码编辑器修改/ 此方法的内容。/ </summary>private void InitializeComponent() this.LinkButton1.Click += new System.EventHandler(this.LinkButton1_Click);this.LinkButton2.Click += new System.EventHandler(this.LinkButton2_Click);this.LinkButton3.Click += new System.EventHandler(this.LinkButton3_Click);this.Link
28、Button4.Click += new System.EventHandler(this.LinkButton4_Click);this.LinkButton5.Click += new System.EventHandler(this.LinkButton5_Click);this.ImageButton1.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButton1_Click);this.ImageButton2.Click += new System.Web.UI.ImageClickEventHandler(
29、this.ImageButton2_Click);this.ImageButton3.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButton3_Click);this.ImageButton4.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButton4_Click);this.ImageButton5.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButton5_Cli
30、ck);this.Load += new System.EventHandler(this.Page_Load);#endregionprivate void LinkButton4_Click(object sender, System.EventArgs e)Response.Redirect("l5.aspx");private void LinkButton1_Click(object sender, System.EventArgs e)Response.Redirect("l1.aspx");private void ImageButton3
31、_Click(object sender, System.Web.UI.ImageClickEventArgs e)LinkButton5_Click( sender, e);private void LinkButton5_Click(object sender, System.EventArgs e)Response.Redirect("l4.aspx");private void LinkButton3_Click(object sender, System.EventArgs e)Response.Redirect("l3.aspx");priv
32、ate void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e)LinkButton3_Click( sender, e);private void ImageButton2_Click(object sender, System.Web.UI.ImageClickEventArgs e)LinkButton4_Click( sender, e);private void ImageButton4_Click(object sender, System.Web.UI.ImageClickEventAr
33、gs e)LinkButton1_Click( sender, e);private void LinkButton2_Click(object sender, System.EventArgs e)Response.Redirect("l2.aspx");private void ImageButton5_Click(object sender, System.Web.UI.ImageClickEventArgs e)LinkButton2_Click( sender, e);/查询文件using System;using System.Collections;using
34、 System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;using System.Data.OleDb;namespace STU/ <summary>/ l1 的摘要说明。/ </summary>public class l1 : Syste
35、m.Web.UI.Pageprotected System.Web.UI.WebControls.RadioButton scoreRadio;protected System.Web.UI.WebControls.Label Label2;protected System.Web.UI.WebControls.ImageButton displayAllimageButton;protected System.Web.UI.WebControls.Label Label3;protected System.Web.UI.WebControls.TextBox TextBox1;protect
36、ed System.Web.UI.WebControls.LinkButton LinkButton1;protected System.Web.UI.WebControls.LinkButton LinkButton2;protected System.Web.UI.WebControls.Label Label5;protected System.Web.UI.WebControls.ImageButton CouseImageButton;protected System.Web.UI.WebControls.DataGrid DataGrid1;protected System.Web
37、.UI.WebControls.DataGrid DataGrid2;protected System.Web.UI.WebControls.TextBox TextBox2;protected System.Web.UI.WebControls.Label Label6;protected System.Web.UI.WebControls.Label Label7;protected System.Web.UI.WebControls.TextBox TextBox3;protected System.Web.UI.WebControls.RadioButton dd;protected
38、System.Web.UI.WebControls.Label Label4;protected System.Web.UI.WebControls.ImageButton chooseClassimageButton;protected System.Web.UI.WebControls.TextBox TextBox4;protected System.Web.UI.WebControls.Label Label8;protected System.Web.UI.WebControls.DataGrid DataGrid3;protected System.Web.UI.WebContro
39、ls.RadioButton RadioButton1;protected System.Web.UI.WebControls.RadioButton RadioButton2;protected System.Web.UI.WebControls.DataGrid DataGrid4;protected System.Web.UI.WebControls.Label Label1;private void Page_Load(object sender, System.EventArgs e)/ 在此处放置用户代码以初始化页面#region Web 窗体设计器生成的代码override pr
40、otected void OnInit(EventArgs e)InitializeComponent();base.OnInit(e);private void InitializeComponent() this.displayAllimageButton.Click += new System.Web.UI.ImageClickEventHandler(this.displayAll_Click);this.chooseClassimageButton.Click += new System.Web.UI.ImageClickEventHandler(this.chooseClassim
41、ageButton_Click);this.LinkButton1.Click += new System.EventHandler(this.LinkButton1_Click);this.LinkButton2.Click += new System.EventHandler(this.LinkButton2_Click);this.CouseImageButton.Click += new System.Web.UI.ImageClickEventHandler(this.CouseImageButton_Click);this.Load += new System.EventHandl
42、er(this.Page_Load);#endregionprivate void displayAll_Click(object sender, System.Web.UI.ImageClickEventArgs e) /打开数据库OleDbConnection conn = new OleDbConnection();conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("students.mdb"); conn.Open();
43、 /创建Command对象if(dd.Checked=true)string str=string.Format("select * from student");System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand();cmd.Connection=conn;cmd.CommandText=str;/创建一个数据适配器System.Data.OleDb.OleDbDataAdapter oda=new OleDbDataAdapter();oda.SelectCommand=cmd;
44、DataSet ds=new DataSet();oda.Fill(ds,"student");oda.Fill(ds,"ALIDIT");this.DataGrid1.VirtualItemCount=ds.Tables"ALIDIT".Rows.Count;TextBox1.Text=this.DataGrid1.VirtualItemCount.ToString();conn.Close();this.DataGrid1.DataSource=ds;this.DataGrid1.DataBind();else if(scoreR
45、adio.Checked=true) string str=string.Format("select * from choose");System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand();cmd.Connection=conn;cmd.CommandText=str;/创建一个数据适配器System.Data.OleDb.OleDbDataAdapter oda=new OleDbDataAdapter();oda.SelectCommand=cmd;DataSet ds=new
46、 DataSet();oda.Fill(ds,"course");oda.Fill(ds,"ALIDIT");this.DataGrid1.VirtualItemCount=ds.Tables"ALIDIT".Rows.Count;TextBox3.Text=this.DataGrid1.VirtualItemCount.ToString();conn.Close();this.DataGrid1.DataSource=ds;this.DataGrid1.DataBind();private void oleDbConnection1
47、_InfoMessage(object sender, System.Data.OleDb.OleDbInfoMessageEventArgs e)private void LinkButton1_Click(object sender, System.EventArgs e)Response.Redirect("index.aspx");private void LinkButton2_Click(object sender, System.EventArgs e)Response.Redirect("l2.aspx");private void ol
48、eDbDataAdapter1_RowUpdated(object sender, System.Data.OleDb.OleDbRowUpdatedEventArgs e)private void CouseImageButton_Click(object sender, System.Web.UI.ImageClickEventArgs e)/打开数据库OleDbConnection conn = new OleDbConnection();conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=
49、" + Server.MapPath("students.mdb"); conn.Open();/创建Command对象string str=string.Format("select * from course");System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand();cmd.Connection=conn;cmd.CommandText=str;/创建一个数据适配器System.Data.OleDb.OleDbDataAdapter oda=new
50、 OleDbDataAdapter();oda.SelectCommand=cmd;DataSet ds=new DataSet();oda.Fill(ds,"student");oda.Fill(ds,"ALIDIT");this.DataGrid1.VirtualItemCount=ds.Tables"ALIDIT".Rows.Count;TextBox2.Text=this.DataGrid1.VirtualItemCount.ToString();conn.Close();this.DataGrid2.DataSource=ds;this.DataGrid2.DataBind();private void chooseClassimageButton_Click(object sender, System.Web.UI.ImageC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 部编版三年级语文上册快乐读书吧《安徒生童话》阅读测试题及答案
- 文化遗产传承与艺术创作保护承诺书(5篇)
- 风力消防施工方案(3篇)
- 燃气高空施工方案(3篇)
- 煤斗内衬施工方案(3篇)
- 钢套筒施工方案(3篇)
- 潮汕商场活动策划方案(3篇)
- 战场改造施工方案(3篇)
- 2026校招:陕西法士特汽车传动集团面试题及答案
- 银行客户经理业务拓展绩效评估表
- YC/T 227-2007光滑工件退刀槽
- GA/T 1263-2015道路交通安全宣传教育基地建设指南
- 《绿色建筑概论》整套教学课件
- 大学计算机计算思维与信息素养第12章
- 数学第一章数据描述性分析课件
- 2023年福建军融建设发展有限公司招聘笔试题库及答案解析
- 《美学》课件(第1-8讲)教学提纲
- 森林防火整改报告记录
- 《海洋里的好伙伴》课件
- 狼疮性肾炎最新版课件
- 冶金生产概论绪论课件
评论
0/150
提交评论