任课老师:张彦龙
地点:网络教学
学生姓名:陈豆豆
所在班组:信息资源管理专业1801
实验学时:2
时间:2020年6月9日
课程名称:WEB产品设计与开发
课程类别:专业
实验名称:综合作业
实验类别:验证型
一、实验目的与任务
掌握sql server数据库的连接方法;
掌握sqlcommand、sqldataadapter、dataset对象读取数据的方法;
二、实验环境
Visual studio、sql server
三、实验内容与过程
(一)知识要点
string sqlconnstr = ConfigurationManager.ConnectionStrings[“ConnectionString”].ConnectionString;
SqlConnection sqlconn = new SqlConnection(sqlconnstr);
//建立DataSet对象
DataSet ds = new DataSet();
//建立DataTable对象
DataTable dtable;
//建立DataRowCollection对象
DataRowCollection coldrow;
//建立DataRow对象
DataRow drow;
//打开连接
sqlconn.Open();
//建立DataAdapter对象
SqlDataAdapter sqld = new SqlDataAdapter(“select * from student”, sqlconn);
//用Fill方法返回的数据,填充DataSet,数据表取名为tabstudent
sqld.Fill(ds, “tabstudent”);
(二)实例习题
依据各自系统选题,围绕自己系统选题中的一个核心模块进行开发,除了必要的增删改查功能(sqlcommand、dataset均可)以外,至少实现对图片增删改查(不用实现删除图片文件,只删除数据表中的图片字段值),增删改查功能界面必须设计合理,结合html、css美化页面。功能完备,流程合理!
所有页面不能有背景图。
使用sql server数据库。
四、实验结果
此处依次撰写如下项目:
系统选题名称、本次作业所实现的功能简要说明
选题:会员注册与信息修改。功能说明因为我们的系统是一个专为会员服务的足球俱乐部网站,所以对会员信息的管理是必不可少的一部分,首先我们实现的第一个功能就是注册,所谓注册就是将会员填写的个人信息录入到数据库中保存(包括用户头像的上传)。第二个就是用户信息的修改了,用户不满意自己昵称头像或者其他东西的时候可以自己修改,然后系统自动将这些信息更新到数据库。
本次作业使用的数据表字典和关系视图
表1 会员信息
字段名称
字段类型
是否允许为空
是否主键
字段说明
会员卡号
Varchar(50)
否
是
会员编号
昵称
Varchar(20)
否
否
会员昵称
姓名
Varchar(20)
否
否
会员真实姓名
性别
Varchar(20)
否
否
会员性别
电话
Varchar(20)
否
否
会员电话号码
生日
Date
否
否
会员生日
积分
Varchar(20)
否
否
会员积分
头像
Varchar(20)
否
否
会员头像
这是会员信息表,里面记录着会员的卡号、昵称、头像等关键信息。这张表是用来存放用户注册时的各种信息的,同时修改以后的信息也存放在这张表中。这张表还存放了最最主要的头像的地址,以实现换头像等功能。
图1会员信息关系视图
这个关系图就一张表是属于会员信息表的自连接,因为会员信息的注册修改是所有网站包括我们足球俱乐部网站的关键功能。所以我选择用这个自连接的关系视图来完成这个功能。
功能说明和代码解释
每个小功能分别从三个方面进行介绍:界面截图、功能说明、代码解释。
注册功能,页面名称register.aspx
页面浏览效果的截图:
图2 注册页面图
这是注册页面的效果图,用户输入个人信息上传头像以后就可以点击注册将自己的信息存入数据库。
实现的功能和特色:
实现了用户自己将信息录入数据库,包括图片的上传。
关键和特色代码解释:
protected void Button1_Click(object sender, EventArgs e)
{
if(FileUpload1.HasFile)
{
string strtype = FileUpload1.PostedFile.ContentType;
if (strtype == “application/x-bmp” || strtype == “application/x-jpg” || strtype == “image/gif” || strtype == “image/png”)
{
string strfilename = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString();
FileUpload1.SaveAs(Server.MapPath(“images” + strfilename + “.jpg”));
Image1.ImageUrl = “images” + strfilename + “.jpg”;
}
else
Response.Write(““);
}
else
Response.Write(““);
}
}这是上传图片的关键代码,至至于前台那些FileUpload控件那些代码就没复制上来了,这个上传图片代码第一步就是判断文件类型,除了图片常见的几种类型以外其他的都不可传,为了是图片名不重合冲突,就用上传时间给图片命名,然后放在Image文件夹中,至于数据库只是存放的图片字段并不是图片本身。将图片的信息传到数据库中也是使用command,而核心SQL语句就是insert strfilename into 会员信息 where 会员卡号=”textbox.Tosting()”。
修改功能,页面名称UPDATE.aspx
页面浏览效果的截图:
图3 会员信息修改图
这个表首先将我们已经注册的会员信息呈现在网页中,然后如果感觉你哪里的信息要改就点击修改就会跳到上面的第二个图,在这里你可以重新填写以会员卡号为主键的会员信息,并且可以重新选择你想要上传的头像。这里就成功实现了对信息的改和对图片的改。
实现的功能和特色:
对信息的更新和提交,对图片的更新和提交以及删除。
关键和特色代码解释:
strReader += (“
“);这是实现跳转的关键代码,利用超链接,让你点击修改以后跳转到update更新页面。
public int ExecuteSql(string SQLString)
{
using (SqlCommand cmd = new SqlCommand(SQLString))
{
using (SqlConnection connection = new SqlConnection(ConnectionString))
{
using (SqlCommand cmd1 = new SqlCommand(SQLString, connection))
{
try
{
connection.Open();
int rows = cmd1.ExecuteNonQuery();
return rows;
}
catch (System.Data.SqlClient.SqlException e)
{
connection.Close();
throw e;
}
}
}
这是你点完修改以后跳转到update时所发生的的关键代码。
string sql = “update 会员信息 set 昵称='” + TextBox1.Text + “‘,姓名='” + TextBox2.Text + “‘,性别='” + TextBox3.Text + “‘,电话='” + TextBox4.Text + “‘,生日='” + TextBox5.Text + “‘,积分='” + TextBox6.Text + “‘ where 会员卡号=” + Request[“id”] + “”;
int num = ExecuteSql(sql);
if (num == 1)
{
Response.Redirect(“select.aspx”);
}
else
{
Response.Write(“修改失败”);
}
这是在update页面点完修改时发生的代码,如果成功就正常返回原来的SELECT页面,如果无法提交就显示修改失败。
而对图片删除的核心代码就是先按照以前的方法创一个新的SQLCOMMAND,这里就不打了然后核心语句就是delete strfilename from 会员信息 where 会员卡号=” + Request[“id”] + “”;
五、课程总结与体会
WEB课终于结束啦,当然此时的内心百味都有,有一个学期上完课都没见到老师的遗憾,有终于完成最后一个作业的欣喜,有对作业分数的担忧。。。。最后希望老师可以多给点分吧,页面虽然丑但好歹用心了,作为学生不容易,当然作为老师批改这么多作业也不容易希望老师体谅一下。