ASP.NET运动员档案管理系统
课程设计要求:1.认真查阅有关资料完成课程设计的题目的功能要求。
2.认真总结在课程设计中自己的收获和不足。
课程设计工作环境:
软件:Microsoft Visual studio 2005
Microsoft SQL Server Management Studio
Windows 2003 Server
硬件:CPU P4 内存 512
一、程序功能简介
我主要负责运动员建档模块的实现及母版的制作,将运动员的基本信息分为两个基本表存储,athlete表存储运动员的基本个人信息包括编号,姓名,身高,体重等物理信息,而且还存储所属代表队的编号,delegate表存储各代表队的基本情况。本模块主要实现运动员信息的增加,删除,修改和查询。查询功能实现对运动员信息及代表队信息的模糊查询,用GridView控件实现显示,并且可以将无用的信息直接删除,但是在GridView中显示的信息有限不能将所有信息全部显示,所以根据选择的记录可以查看详细信息。添加功能用两个LinkButton按扭来进行选择,根据选择的情况显示不同界面,完成插入功能,修改功能是首先通过欲修改记录的编号查询到此条记录,通过控件显示出来,并根据需要进行修改,修改后提交则完成更新操作。
二、程序所设计模块功能结构图及其说明
本模块的功能结构图如下所示:
本模块的整体结构如图所示,查询、更新、修改分别以不同界面方式实现,在主页上有此三个模块的链接,点击即可直接进入操作界面实现功能。
三、程序主要功能算法的实现
1)查询功能的实现:
此查询功能通过GridView控件与SqlDataSource数据源的绑定实现,主要查询语句如下:
查询代表队信息: (@D_name=TextBox1.Text)
SELECT * FROM [delegate] WHERE ([D_name] LIKE '%' + @D_name + '%')
查询运动员信息:(@A_name= TextBox1.Text)
SELECT A_no, A_name, A_sex, A_age, A_height, A_width, A_level FROM athlete WHERE (A_name LIKE '%' + @A_name + '%')
2)详细信息的显示:
在查询界面上对该功能的调用:
Application["type"] =DropDownList1.SelectedValue;
string type = DropDownList1.SelectedValue;
string key="";
if (type == "athlete")
{
Application["key"] = GridView2.SelectedValue;
key = GridView2.SelectedValue.ToString();
}
else if (type == "team")
{
Application["key"] = GridView1.SelectedValue;
}
ImageButton2.PostBackUrl = "Details.aspx";
在本界面上接收信息及实现显示:
string type = Application["type"].ToString();
string key = Application["key"].ToString();
以上两条实现接收选中的记录关键字及类型。
以下两条命令实现根据类型判断查找到指定记录。
if (type == "athlete")
select = "select * from athlete where A_no='" + key + "'";
else if (type == "team")
select = "select * from delegate where D_no='" + key + "'";
3)插入功能的实现:
插入功能的实现通过SqlDataSource数据控件与各种标准控件的组合来实现,在插入语句中利用这些控件的值设置参数传入到数据库中。
插入代表队信息的语句如下:
INSERT INTO delegate(D_no, D_name, D_local, D_res, D_sportcount, D_details) VALUES (@dno, @dname, @dlocal, @dres, @dsportcount, @ddetails) www.751com.cn 激活插入的语句:SqlDataSource2.Insert();
插入运动员信息的语句如下:
INSERT INTO athlete(A_no, D_no, A_name, A_sex, A_age, A_height, A_width, A_level, A_record, A_remarks, A_image)
VALUES(@no1,@dno,@name,@sex,@age,@height,@width,@level,@record,@remark,@image) 激活插入的语句:Sqlinsertsport.Insert();
上传图片的代码如下:
string name = FileUpload1.PostedFile.FileName;
string[] pictur = name.Split(new char[] { '\\' });
int i = name.LastIndexOf('.');
string last = name.Substring(i);
string picname = pictur[pictur.Length - 1];
if (last != ".gif" || last != ".jpg")
{
Response.Write("<script language='javcscript'>alert('对不起请上传GIF或JPG类型的文件')</script>");
}
string picture = "~\\image\\sport\\" + picname;
Session["picture"] = picture;
FileUpload1.SaveAs(Server.MapPath(".\\image\\sport\\") + picname);
Panel2.Visible = false;
4)更新功能的实现:
更新功能是首先通过输入所修改信息的编号进行查询,将查询的结果显示出来,进行一系列的修改然后提交。
SqlConnection conn=ew SqlConnection("Data Source=.;Database=sport;Integrated Security=SSPI");
string type = DropDownList4.SelectedValue;
string key = TextBox1.Text; string select = "";
if (type == "athlete")
{ select = "select * from athlete where A_no='" + key + "'";
Data_sele(select);}
else if (type == "team")
{ select = "select * from delegate where D_no='" + key + "'"; Data_sele1(select);}
更新运动员信息的语句:
UPDATE athlete SET D_no = @d_no, A_name = @name, A_sex = @sex, A_age = @age, A_height = @height, A_width = @width, A_level = @level , A_record = @record, A_remarks = @remarks where 激活更新的语句:sqlds.Update();
更新代表队信息的语句:
UPDATE delegate SET D_name = @D_name, D_local = @D_local, D_res = @D_res, D_sportcount = @D_count, D_details = @D_detail WHERE (D_no = @D_no) 激活更新的语句:SQLDS2.Update();
本软件的主要界面风格如下:
四、参考资料
《ASP.NET程序设计实用教程》 作者:石志国
出版社:电子工业出版社 参考页码:143~174
五、课程设计总结
由于在开始做设计之前没有进行仔细规划和设计,因此在设计之初做了许多无用功,浪费了许多时间,因此通过此次实验使我深刻认识到在做设计之前,做认真的准备及详细的计划是非常重要的。而且使我明白做一个合格的、高质量的网站不仅要在代码的算法上努力实现最简,而且还要把可能的各种异常情况考虑进去,增加系统的健壮性,因为网站是给其他人通过IE浏览器显示的,所以提示一定要全面。总之,通过此次实验使我对ASP.NET更感兴趣。908