高级软件开发技术课程设计报告
高级软件开发技术 课程设计报告
题目:NBA篮球信息管理网站
专 业:信息管理与信息系统
班 级:110506 姓 名:史谦 学 号:20111910 指导教师:赵晶晶 学 期:2013-2014-2
NBA篮球信息管理网站
一、网站的功能
该网站包含三个窗体页,第一个页面是登陆页如图1,用户输入账号和密码后,点击“登陆”按钮,就会进入第二个页面--调查页面如图2,如果输入账号或者密码有一个为空的话,就会弹出提示,提醒用户名和密码不能为空如图3,进入调查页面后,当在复选框和单选按钮做出选择后,单机提交按钮,此时所选信息会写入数据库的调查信息表中,且此时页面会自动回到登录页面,点击“注册”按钮,就会进入第三个页面--会员注册页面如图4所示,该页主要是实现新用户信息注册。用户填写按要求注册表单,单击“提交按钮”,会自动返回登录页面,此时所写的信息会写入数据库的用户信息表,如果没有填写信息而点击“提交”按钮,则会在网页左下角出现错误信息提示,如图5所示。
图1
图2
图3
图4
图5 二、控件的属性 1、 登录.aspx页面控件
登陆网页table里添加了背景图片“4.png”,且图片高度为457px,宽度为548px.form表单里有两个textbox控件,两个button控件,其中两个button控件编写了两个事件。其中属性id值为textbox1的ruanat属性为server,width取值为94px,属性id值为textbox2的runat属性为server,textmode取值为password,width为95px,属性id取值为button3的runat取值为server,text属性值为登录,on_click属性值为button3_click,button id属性为button4的runat取值为server,text属性值为注册,on_click属性值为button4_click,控件属性设置如下表1-控件属性表所示:
登陆页面代码如下:
2、注册.aspx页面控件
注册网页的form表单有8行4列的表格,且表格的边框为1,没有背景图片,其中前六行的第二列均跨两列,第七行和第八行均跨三列。第一行第一列用于做“注册帐号”,第一行第二列为id属性为textbox1及RequiredFieldValidator控件。第二行第一列用于做“密码”,第二行第二列为属性值为Textbox2及RequiredFieldValidator和comparevalidator控件。第三行第一列用于做“重复密码”,第三行第二列为id属性值为Textbox3及RequiredFieldValidator控件。第四行第一列用于做“性别”,第四行第二列为id属性值为Dropdownlist1的控件。第五行第一列用于做“年龄”,第五行第二列为id属性值为Ranggevalidator1控件。第六行第一列用于做“注册邮箱”。该页面共有两个button控件,五个textbox控件,一个dropdownlist控件以及五种验证控件。其中Textbox属性id值为Textbox1的Runat属性值为server,Textbox属性id值为Textbox2的Runat属性值为server,textmode 取值
为Password ,width为148px, Textbox属性id值为Textbox3的Runat属性值为server ,textmode 取值为Password ,width为148px, Textbox属性id值为Textbox3的Runat属性值为server ,Textbox属性id值为Textbox6的Runat属性值为server ,button的id属性值为Button2的runat值为server,text 取值为取消,button的id属性值为Button1的runat值为server,text取值为提交,width取值为75px,on_click属性值为button_click,dropdownlist的id属性值为dropdownlist1的runat属性值为server,RequiredFieldValidator的id属性值为RequiredFieldValidator1,runat 属性值为Server ,Controltovalidate 的取值为Textbox1,display 属性值为None 。Regularexpressionvalidator的id属性值为Regularexpressionvalidator1,runat 属性值为server ,controltovalidator 属性值为Textbox1,errormessage属性值为必须是数字和字母,vlidationexpression属性值为^[A-Za-z0-9]+$,display属性值为None,Requirefieldvalidator的id属性值为Requirefieldvalidator2,Runat属性值为Server,Controltovalidate属性值为Textbox2,errormessage属性值为密码不能为空,display属性值为None,Compaevalidator的id属性值Comparevalidator1,runat属性值Server,controltovalidate属性值为Textbox3,controltocompare属性值为Textbox2,errormessage属性值为密码和重复密码必须相同,Display属性值为none,Requirefieldvalidator的id属性值为Requirefieldvalidator3,runat属性值为Server,Controltovalidate属性值Textbox3,errormessage属性值为重复密码不能为空,display属性值为none,Rangevalidator的id属性值为Ranggevalidator1,Runat属性值为Server,errormessage属性值为年龄超出范围(15-110),请正确输入,Maxmumvalue属性值为110,Minimunvalue属性值为15,controltovalidate属性值为Textbox5,type属性值为integer,display属性值为none,Regularexpressionvalidator的id属性值为Regularexpressionvalidator2,Runat属性值为Server,errormessage属性值为请正确输
入
邮
箱
,
validationexpression
属
性
值
为
\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*,controltovalidate属性值为Textbox6,display属性值为none,Validationsummary的id属性值为Validationsummary1,eadertext属性值为错误信息,Runat属性值为Server,Showsummarry属性值为true,textbox控件具体属性如表2-控件属性表所示:
注册页面代码如下:
3、调查.aspx页面控件
该页面的table中添加了1.jpg的背景图片。该页有一个button控件,一个checkboxlist控件,一个radiobuttonlist控件,一个accessdatasource控件。其中checkboxlist的id属性值为Checkboxlist1,Runat的属性值为server,repeatdirection
的属性值为Horizontal,radiobuttonlist的id属性值为Radiobuttonlist1,Runat的属性值为server,datasourceid属性值为Accessdatasource1,datatextfiled属性值为Name,datavaluefield的属性值为Name,Accessdatasource的id属性值为Acessdatasource1,datafile的属性值为~/信息数据库a.mdb,selectcommand的属性值为SELECT [name] FROM [球员表],button的id属性值为Button1,Runat的属性值为server,text的属性值为提交,Onclick的属性值为Button1_Click,Width的属性值为56px,该页编写了一个事件。控件属性设置具体如表3-控件属性表所示:
表3-控件属性表
调查页面代码如下:
三、控件的事件
1、登录.aspx.cs页面事件
button Button3_Click事件,主要实现页面的登录功能,且此事件实现了与用户信息表连接的功能,如果直接点击或缺少填选项目则会提示用户名与密码不符。 protected void Button3_Click(object sender, EventArgs e) {
if ((TextBox1.Text == "") || (TextBox2.Text == ""))
runat="server"
{
this.ClientScript.RegisterStartupScript(this.GetType(), 为空,则弹出“用户名和密码不能为空的窗体” }
string count = "";//定义变量为空;
string ConStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @"E:\ks\信息数据库.mdb";//连接数据库; OleDbConnection con = new OleDbConnection(ConStr); con.Open();打开数据库
string sql = "select name from 用户信息表 where name='" + TextBox1.Text + "'and pasw='" + TextBox2.Text + "'";//从用户名信息表中选择textbox1的值为name并且pasw的值为textbox2的值;
OleDbCommand cmd = new OleDbCommand(sql, con);申明储存对象; count = (string)cmd.ExecuteScalar();//返回受影响的行数 con.Close();关闭数据库; if (count != null) {
Response.Redirect("调查.aspx"); }//countr不为空,跳转到调查.aspx else {
Response.Write(""); }//否则的话显示“用户名密码不匹配!”信息 }
protected void Button4_Click(object sender, EventArgs e) {
Response.Redirect("注册.aspx");//跳转到注册.aspx }
2、 注册.aspx.cs页面事件
Button1_Click事件,主要实现页面的注册功能,同时将填写的信息写入用户信息表中。
protected void Button1_Click(object sender, EventArgs e) {
"",
"");//如果textbox1和textbox2
string sex1 = "";//设置参数
foreach (ListItem list in DropDownList1.Items) {
if (list.Selected) {
sex1 += list.Text.ToString() + " ";//将选择的值付给sex1 } }
string ConStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @"E:\ks\信息数据库.mdb";//连接数据库
string sql = "insert into 用户信息表 (name,pasw, sex,age,email) values ('" + TextBox1.Text + "', '" + TextBox2.Text.Trim() + "','" + sex1+"','" + TextBox5.Text.Trim() + "','" + TextBox6.Text.Trim() + "')";//在用户信息表中插入textbox1、textbox2、sex1、textbox5、textbox6的值
OleDbConnection con = new OleDbConnection(ConStr);//申明对象 con.Open();//打开数据库
OleDbCommand cmd = new OleDbCommand(sql, con);
int line = cmd.ExecuteNonQuery();//声明一个line的变量,返回受影响的行数
con.Close();//关闭数据库
Response.Write("");//返回登录页面 Response.Redirect("登录.aspx");
}
3、 调查.aspx.cs页面事件
Button1_Click事件,主要实现页面调查结果的提交功能。点击后能将所填写的信息写入调查信息表中。
protected void Button1_Click(object sender, EventArgs e) {
string name_1 = "";
string name_2 = "";//定义字符串
foreach (ListItem list in CheckBoxList1.Items) {
if (list.Selected) {
name_1 += list.Text.ToString() + " ";//将CheckBoxList1
的值赋给name_1
} }
foreach (ListItem list in RadioButtonList1.Items) {
if (list.Selected) {
name_2 += list.Text.ToString() + " ";//将
RadioButtonList1的值赋给name_2
} }
string sql = "";
string ConStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @"E:\ks\信息数据库.mdb";//连接数据库
OleDbConnection con = new OleDbConnection(ConStr);//申明对象 con.Open();//打开数据库
sql = "insert into 调查信息表 (name1,name2) values( '" + name_1 + "', '" + name_2 + "')";//在调查信息表中插入name_1和name_2的值
OleDbCommand cmd = new OleDbCommand(sql, con); int line = cmd.ExecuteNonQuery(); con.Close();//关闭数据库
Response.Redirect("登录.aspx");//跳转到登录.aspx } 四、数据库的设计
数据库类型是access2003,数据库名字为“信息数据库.mdb”,在“信息数据库”中共有三个表,分别为“球员表”、“调查信息表”、“用户信息表”。“用户信息表”字段具体设计如表4所示,“球员表”字段具体设计如表5所示,“调查信息表”字段的具体设计如表6所示:
五、心得体会
和之前的C#课设一样,这次的课设同样的艰难。首先感觉这次的课设任务比较重,在一个星期的时间里需要做的任务比较多,课设时间相对来说有点短。同样对于我自己来说也是一个提醒,我这次课设并没有在老师动员之后就开始着手,而是在过了两天之后才开始,这也是造成时间不足的因素之一,需要引起注意,在明年的毕业设计时需要注意,不能在起跑点就落后。
在课设的过程中也遇到了很多问题。比如在程序这一大块上,在页面代码的编写上相对比较简单,关键是后台cs文件代码的编写实在是盲点。在这一方面对我的压力比较大,在结合以前上机课做的代码以及同学的帮助下总算艰难的完成了编写,但是也仅仅局限于完成代码的编写,有的还不是太懂,比如如何连接数据库、数据绑定等等这些知识对我来说仿佛就是新的知识,就和没学过一样,足以说明平时上课时漏掉了很多重要的知识,而在这次的课设后,还是对课本的知识有了很多的认识,甚至有的是提高。总之,每次的课设总是给自己质的的提高,因为感觉课设还是比较注重实践的,不像平时单纯的上课,而是通过自己的动手操作实现了理论与实践的结合,对于我们每一个人来说都是一次非常宝贵的经历,更是一次非常重要的提高。
紧接着非常艰难的任务就是撰写报告了,一直感觉在所有的课设里面,赵老师带的课设的报告是最难写的,要求也是最严格的,每次写报告对我们来说都是比较难受的,这次也不例外,这次的报告也是相当的费时间,撰写这份报告足足用了一天的时间,比较繁琐。虽然写报告的过程相当的郁闷,可是在完成时回首想想还是相当的值得的。因为每一次的提高对于自己来说都是个艰巨的挑战,只有
在一次一次的完成比较艰巨的任务时自己的能力也在无形中得到提高,同样对于我们说这样的课设也是对我们毕业设计的提前预演,具有非常高的价值,这也是对我们耐心的考验。无形中使我们做事情的耐心有了极大的提高,我想这也是老师的良苦用心吧,我们需要耐心品味,品味做课设过程中的每一个细节,每一次对于自己的提高,最好把我们的意志锻炼到最坚强,使我们有足够的底气去迎接生活的每一次挑战,迎接毕业设计的挑战。
最后,对于在这次课设中提供帮助的老师和同学表示衷心得感谢,在他们的帮助下才得以完成任务,但是在比较了其他同学的课设后感觉自己做的比较简单,只是实现了老师要求的功能,在界面设计和系统实用性方面比较的差,这在以后的毕业设计中必须引起注意。总之,需要在以后的学习中需要更多的努力,要有持之以恒的态度。