6.为了扩展业务,某商务公司在2012年开发了一套基于ASP.NET+SQL Server的电子商务网站,在网站运行过程中,逐渐发现了一些问题和漏洞,其中有一个严重的缺陷,缺少商品的售后评价体系,导致很多客户无法表述商品使用体会。针对这个问题,对网站进行二次开发,采用的解决方案是增加用户对商品的评价体系。为此,在数据库中增加了一张客户评价表UserEvaluation,结构如表2-1所示。
【问题1】(3分)
在关系数据库中,实体间的联系有三种类型,分别是一对多(或1:m)、一对一(或1:1)、多对多(或m:n)。如果规定每个客户只能对一件商品评价一次,那么客户与客户评价之间的联系是(1),商品与客户评价之间的联系是(2)。
【问题2】(6分)
要实现用户对商品的评价,需要在用户已买到的商品列表中每条商品信息中都增加一个评价按钮,当用户点击该按钮时,跳转到商品评价页面,并在商品评价页面中显示指定的订单及商品信息,一般在web页面中实现网页跳转的HTML标签是(3)。在Web页面间传值可以通过form表单的方式实现,其传值方式分为(4)和(5),如果通过form表单传值方式将商品列表页面中的用户编号、订单编号和商品编号传递给商品评价页面,最适合采用的传值方式应为(6)。
(4)~(6)备选答案:
A.set
B.get
C.session
D.cookie
E.application
F.post
【问题3】(6分)
以下程序表示用户添加评价信息,假定数据库连接字符串正确无误,已购买商品列表页面链接到商品评价页面的URL中传递了用户编号(参数名为UserID)、商品编号(参数名为ProductID)和订单编号(参数名为OrderID)等信息,规定用户评价编号由用户编号+商品编号+订单编号依次组成,评价日期为系统当前时间,评价分数和评价内容控件名分别为RatingGrade和txtEvaluation。根据题目描述,完成以下程序:
Protected void btnSave_Click(object sender, EventArgs e)
{
string strcon = "server=dataServer;database=business;uid=sa;pwd=sa; ";
SqIConnection con =new SqIConnection(strcon);
con.OPen();
string UserID= Request.QueryString["UserID"];
string ProductID =Request.QueryString["ProductID"];
string OrderID = Request.QueryString["OrderID"];
string Evaluation= this.txtEvaluation.Text;
int Grade=this.RatingGrade.CurrentRating;
DateTime dt= DateTime.( 7) ;
string sqlStr ="insert into (8) (UserEvaluationID, UserID, ProductID, OrderID, Evaluation, Grade, EvaluationDate)
values("';
SqlStr +=(9) +"',"';
SqlStr += UserID + "',"';
sqlStr +=(10)+ "',"';
sqlStr += OrderID +"',"';
sqlStr +=Evaluatjon +"',"';
sqlStr += Grade +","';
sqlStr += dt +"')'';
SqlCommand cmd= new SqlCommand((11), con);
try
{
If (cmd.ExecuteNonQuery()>0)
Response.Write("<script>alert(‘评价成功’)</script>");
else
Response.Write("<script>alert(‘评价不成功’)</script>");
}
catch
{
Response.Write("数据库访问出错!");
}
(12)
{
con.Close();
}
}