数据库实训报告

  • 格式:doc
  • 大小:761.50 KB
  • 文档页数:27

数据库课程设计题目:网上购书系统姓名:紫鱼要飞翔学号:学院:信息学院专业:计算机科学与技术指导教师:一、系统需求规格说明1.项目概述1.1项目的背景随着互联网在中国的进一步普及应用,网上购书逐渐成为人们的网上行为之一。

方便、便宜成为了它的特点,加强网站的管理,使之更好的为管理员及用户服务,是当前网上购书一项重要工作。

1.2开发意义网上书店的兴起对传统图书流通体系产生了强烈的冲击,有效的缩短了图书流通发行的环节,将广大读者、图书、出版者、发行者紧密的结合在一起,大大提高了图书流通量。

网上购书突破了传统商务的障碍,无论对消费者、企业还是市场都有着巨大的吸引力和影响力,在新经济时期无疑是达到“多赢”效果的理想模式。

1.3开发目标●对用户、书籍的信息进行完整的保存和管理;●能够准确地进行买书计价和结算;2.主要任务与性能要求2.1.主要任务●输入和修改信息,包括用户、书籍等;●买书记录与统计:记录用户买书的信息并计算书籍总价●用户查询:能够分别按照用户ID查询用户信息,如:姓名、住址等2.2.性能要求●数据精度:书籍单价和书籍总价要精确到小数点后2位(分);●时间特性:对系统的任何操作要达到立即响应,最大延迟时间不能超过3秒;●适应性:所有界面的信息要完整,操作要简单且符合用户的一般习惯,提示要明确,对所有输入的数据要及时进行校验检查。

3.人员分工无4.计划安排第1天:项目需求的分析讨论,确定系统最终的基本需求,编写《系统需求规格》;整体设计,构建E-R图,进行逻辑结构和数据表的设计;第2-3天:编程实现第4天:测试及程序调试,编写和提交课程设计报告;第5天:项目验收。

一、系统设计1.引言1.1 目的据中国网络信息中心(CNNIC)统计,2009中国网民规模达到3.84亿人,中国手机网民规模年达到2.33亿人,网络购物用户规模1.08亿人。

电子商务的优势在于其立足于互联网,突破了传统的时空观念,缩小了生产、流通、分配、消费之间的距离,大大提高了物流、资金流和信息流的有效传输和处理。

发展到今天,网络消费心理比以往呈现出新的特征和趋势。

追求时尚文化品位。

在互联网时代,文化的全球性和地方性并存,人们的消费观念受到强烈的冲击,尤其青年人对以时尚文化为导向的产品有着强烈的购买动机,而电子商务恰恰能满足这一需求。

1.2 项目名称:网上购书系统1.3 参考资料1) 王珊萨师煊,数据库系统概论(第四版),高等教育出版社,2006年5月2)赵杰等SQL Server数据库管理、设计与实现教程清华大学出版社2004年3月2.系统任务描述1)人员角色通过对医务室工作内容和要求的具体分析,确定本系统的相关用户角色主要有病人和工作人员,而工作人员又需要根据具体工作岗位的不同,划分为医生、收费员、发药员。

此外,为保障系统的正常运转和对数据信息的良好维护,还需要有1-2名系统管理员。

2)主要任务●输入初始信息:包括会员(姓名、密码、地址、邮件等)、书籍(名称、作者、出版商、出版时间、单价、库存等)信息;●修改信息:对上述信息进行修改,但处方的修改需要一定的权限要求;●查询和统计:按照会员的ID进行会员信息查询●系统维护:定期对系统的数据进行维护,主要是一般数据备份与恢复、用户权限调整、药品盘点等。

3)就诊的业务流程4)基本功能●用户信息管理:编辑(输入、修改、删除、浏览显示)用户信息●书籍信息管理:编辑(输入、修改、删除)记录书籍信息●购物车管理:删除、修改购物车里的书籍信息●用户查询:可查询会员信息5)要求描述●人员权限设置为3级:1—会员;2——领导;3——系统管理员;●初始处理:对于订单信息,在购买后,要按照规则自动生成编号,并以此作为关键字,处方则要每单有唯一的单据号。

●查询统计处理:根据用户角色的不同,执行不同的查询统计;系统管理员可以对所有信息进行查询统计;3、概念设计通过上述对网上购物系统的需求分析,确定该系统的E-R图如图1所示:图1 网上购物系统的E-R图其中各实体包含的属性如图2所示。

图2 各实体包含的属性4.数据库逻辑结构设计1)基本设计此部分主要是将上述E-R图转换为相应的关系模式(依据转换原则)。

综观项目的具体特点和整体处理要求,同时为便于系统内部的管理,在各实体原有信息的基础上,确定增加候选码,作为各关系的主键(关键字)、考虑联系确定外键。

如:1)会员(userid,姓名,密码,地址,邮箱)2)书籍(bookid,书名,作者,出版社,出版时间、单价、库存量、总量、出售量、折扣、图片)3)管理员(userid,姓名,密码,地址,邮箱)2)优化设计由于角色将重复出现。

为降低重复,提高准确性和处理速度,保证唯一性,同时又能够简化输入操作,方便修改和维护,特增加角色码本关系模式,导致原各关系中的名称均改为代码,如角色存储的是角色代码。

下面是码本的具体组成举例:角色码本(1、2、3 ,会员、领导、系统管理员)5、数据库物理设计数据库物理设计完成数据库在物理设备上的存储结构与存取方法。

建立数据库数据完整性约束(主键、外键、用户定义),支持相关数据处理的用户视图、索引等。

本例以MS SQL Server 2000作为数据库,因此,在进入SQL企业管理器并建立了数据库以后,通过表设计器完成上述各表的建立。

具体结果如下图3所示。

图3 系统数据表设计结果6.主要功能实现列出各功能的程序一览表、程序(要求有注释)和相应的主要界面截图。

1)登陆界面Login.aspx:<%@Page Language="C#"AutoEventWireup="true"CodeFile="login.aspx.cs"Inherits="_Default" %><!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head runat="server"><title>无标题页</title><style type="text/css">.style2{height: 34px;}.style3{height: 49px;}.style4{height: 50px;}.style5{height: 29px;}</style></head><body><form id="form1"runat="server"><div></div><table align="center"BackImageUrl="~/images/12.jpg"border="0"cellpadding="0"cellspacing="0"height="256"width="850"><tr><td Height="256"style="background-position: center center><p>&nbsp;</p><table align="right"border="0"cellpadding="0"cellspacing="0"height="118"style="width: 602px"><tr><td class="style2">&nbsp;</td><td width="327"><div align="left"class=loginlbl>帐号:<asp:TextBox ID="txtName" runat="server"Width="170px"></asp:TextBox><asp:RequiredFieldValidator ID="RequiredFieldValidator1"runat="server"ControlToValidate="txtName"ErrorMessage="帐号不能为空!"></asp:RequiredFieldValidator></div></td></tr><tr><td class="style4"></td><td class="style4"><div class=loginlbl align="left">密码:<asp:TextBox ID="txtPwd"runat="server"TextMode="Password" Width="170px"></asp:TextBox></div></td></tr><tr><td class="style5"></td><td class="style5"></td></tr><br/><br/><tr><td class="style3"><asp:SqlDataSource ID="SqlDataSource1"runat="server" ConnectionString="<%$ ConnectionStrings:webbookConnectionString %>"DataSourceMode="DataReader"SelectCommand="SELECT [username], [pwd] FROM [user] WHERE (([username] = @username) AND ([pwd] = @pwd))"><SelectParameters><asp:ControlParameter ControlID="txtName"Name="username" PropertyName="Text"Type="String"/><asp:ControlParameter ControlID="txtPwd"Name="pwd" PropertyName="Text"Type="String"/></SelectParameters></asp:SqlDataSource></td><td>&nbsp;<asp:ImageButton ID="btnEntry"runat="server"imageurl="~/images/button/dl0.gif"OnClick="btnEntry_Click"/><asp:ImageButton ID="ImageButton2"runat="server"ImageUrl="~/images/button/zc0.gif"onclick="ImageButton2_Click" /><a href="#"onclick="window.close()"><asp:ImageButton ID="ImageButton1"runat="server"ImageUrl="~/images/button/tc0.gif"/></a></td></tr></table></td></tr></table></form></body></html>Login.aspx.cs:using System;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Data.SqlClient;public partial class_Default : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){if (!IsPostBack){Session["username"] = null;btnEntry.Attributes.Add("onmouseover", "this.src='images/button/dl1.gif' ");btnEntry.Attributes.Add("onmouseout", "this.src='images/button/dl0.gif' ");ImageButton1.Attributes.Add("onmouseover", "this.src='images/button/tc1.gif' ");ImageButton1.Attributes.Add("onmouseout", "this.src='images/button/tc0.gif' ");ImageButton2.Attributes.Add("onmouseover", "this.src='images/button/zc1.gif' ");ImageButton2.Attributes.Add("onmouseout", "this.src='images/button/zc0.gif' ");}}protected void btnEntry_Click(object sender, ImageClickEventArgs e){SqlDataReader rd = (SqlDataReader)SqlDataSource1.Select(DataSourceSelectArguments.Empty); Session["s"] = null;if (rd.HasRows){Session["s"] = txtName.Text;Response.Redirect("main.aspx");}}protected void ImageButton2_Click(object sender, ImageClickEventArgs e){Response.Redirect("adduser.aspx");}}2)注册界面Adduser.asp:<%@Page Language="C#"AutoEventWireup="true"CodeFile="adduser.aspx.cs"Inherits="adduser" %><!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head runat="server"><title>无标题页</title></head><body><form id="form1"runat="server"><div><asp:DetailsView ID="DetailsView1"runat="server"AutoGenerateRows="False"DataKeyNames="userid"DataSourceID="SqlDataSource1"Height="35px"Width="265px"><Fields><asp:TemplateField HeaderText="用户ID"SortExpression="userid"><InsertItemTemplate><asp:TextBox ID="TextBox1"runat="server"Text='<%#Bind("userid") %>'></asp:TextBox><asp:RequiredFieldValidator ID="RequiredFieldValidator1"runat="server"ControlToValidate="TextBox1"ErrorMessage="ID不能为空"></asp:RequiredFieldValidator></InsertItemTemplate><ItemTemplate><asp:TextBox ID="TextBox6"runat="server"></asp:TextBox></ItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="用户名"SortExpression="username"><InsertItemTemplate><asp:TextBox ID="TextBox2"runat="server"Text='<%#Bind("username") %>'></asp:TextBox><asp:RequiredFieldValidator ID="RequiredFieldValidator2"runat="server"ControlToValidate="TextBox2"ErrorMessage="用户名不能为空"></asp:RequiredFieldValidator></InsertItemTemplate><ItemTemplate><asp:TextBox ID="TextBox7"runat="server"></asp:TextBox></ItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="密码"SortExpression="pwd"><EditItemTemplate><asp:TextBox ID="TextBox2"runat="server"Text='<%#Bind("pwd") %>'></asp:TextBox></EditItemTemplate><InsertItemTemplate><asp:TextBox ID="TextBox3"runat="server"Text='<%#Bind("pwd") %>'></asp:TextBox><asp:RequiredFieldValidator ID="RequiredFieldValidator3"runat="server"ControlToValidate="TextBox3"ErrorMessage="密码不能为空"></asp:RequiredFieldValidator></InsertItemTemplate><ItemTemplate><asp:TextBox ID="TextBox8"runat="server"></asp:TextBox></ItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="确认密码"><InsertItemTemplate><asp:TextBox ID="TextBox12"runat="server"></asp:TextBox><asp:CompareValidator ID="CompareValidator1"runat="server"ControlToCompare="TextBox3"ControlToValidate="TextBox12"ErrorMessage="不一致"></asp:CompareValidator></InsertItemTemplate><ItemTemplate><asp:TextBox ID="TextBox11"runat="server"></asp:TextBox></ItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="地址"SortExpression="adress"><EditItemTemplate><asp:TextBox ID="TextBox3"runat="server"Text='<%#Bind("adress") %>'></asp:TextBox></EditItemTemplate><InsertItemTemplate><asp:TextBox ID="TextBox4"runat="server"Text='<%#Bind("adress") %>'></asp:TextBox><asp:RequiredFieldValidator ID="RequiredFieldValidator4"runat="server"ControlToValidate="TextBox4"ErrorMessage="不能为空"></asp:RequiredFieldValidator></InsertItemTemplate><ItemTemplate><asp:TextBox ID="TextBox9"runat="server"></asp:TextBox></ItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="email"SortExpression="email"><EditItemTemplate><asp:TextBox ID="TextBox4"runat="server"Text='<%#Bind("email") %>'></asp:TextBox></EditItemTemplate><InsertItemTemplate><asp:TextBox ID="TextBox5"runat="server"Text='<%#Bind("email") %>'></asp:TextBox><asp:RegularExpressionValidator ID="RegularExpressionValidator1"runat="server"ControlToValidate="TextBox5"ErrorMessage="格式不对"ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator ></InsertItemTemplate><ItemTemplate><asp:TextBox ID="TextBox10"runat="server"></asp:TextBox></ItemTemplate></asp:TemplateField><asp:CommandField NewText="注册"ShowInsertButton="True"/></Fields></asp:DetailsView><asp:SqlDataSource ID="SqlDataSource1"runat="server"ConnectionString="<%$ ConnectionStrings:webbookConnectionString %>"DeleteCommand="DELETE FROM [user] WHERE [userid] = @userid"InsertCommand="INSERT INTO [user] ([userid], [username], [pwd], [adress], [role], [email], [roleid], [remark]) VALUES (@userid, @username, @pwd, @adress, @role, @email, @roleid, @remark)"SelectCommand="SELECT * FROM [user]"UpdateCommand="UPDATE [user] SET [username] = @username, [pwd] = @pwd, [adress] = @adress, [role] = @role, [email] = @email, [roleid] = @roleid, [remark] = @remark WHERE [userid] = @userid"> <DeleteParameters><asp:Parameter Name="userid"Type="Int32"/></DeleteParameters><UpdateParameters><asp:Parameter Name="username"Type="String"/><asp:Parameter Name="pwd"Type="String"/><asp:Parameter Name="adress"Type="String"/><asp:Parameter Name="role"Type="String"/><asp:Parameter Name="email"Type="String"/><asp:Parameter Name="roleid"Type="Int32"/><asp:Parameter Name="remark"Type="String"/><asp:Parameter Name="userid"Type="Int32"/></UpdateParameters><InsertParameters><asp:Parameter Name="userid"Type="Int32"/><asp:Parameter Name="username"Type="String"/><asp:Parameter Name="pwd"Type="String"/><asp:Parameter Name="adress"Type="String"/><asp:Parameter Name="role"Type="String"/><asp:Parameter Name="email"Type="String"/><asp:Parameter Name="roleid"Type="Int32"/><asp:Parameter Name="remark"Type="String"/></InsertParameters></asp:SqlDataSource><asp:Button ID="Button1"runat="server"onclick="Button1_Click"Text="返回登陆页面"/> <asp:Button ID="Button2"runat="server"onclick="Button2_Click"Text="去主页面"Width="97px"/></div></form></body></html>Adduser.aspx.cs:using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;public partial class adduser : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){}protected void Button1_Click(object sender, EventArgs e){Response.Redirect("login.aspx");}protected void Button2_Click(object sender, EventArgs e){Response.Redirect("main.aspx");}}3)主界面主界面使用母板:<%@Master Language="C#"AutoEventWireup="true"CodeFile="MasterPage.master.cs" Inherits="MasterPage" %><!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head runat="server"><title>无标题页</title><style type="text/css">#wrapper{width:837px;margin: 0auto;height: 290px;}#branding{height:70px;text-align:left;width: 834px;}#footer{height:22px;clear:both;background:lightblue;width: 834px;}#content{width:837px;float:right;height:80%;}#mainNav{width:129px;height:457px;}</style><asp:ContentPlaceHolder id="head"runat="server"></asp:ContentPlaceHolder></head><body><form id="form1"runat="server"><div id="wrapper"><div id="branding">会员您好!<asp:Menu ID="Menu1"runat="server"Font-Underline="True"Orientation="Horizontal"BackColor="#B5C7DE"DynamicHorizontalOffset="2"Font-Names="Verdana"Font-Size="0.8em"ForeColor="#284E98"Height="39px"StaticSubMenuIndent="10px"Width="520px"><StaticSelectedStyle BackColor="#507CD1"/><StaticMenuItemStyle HorizontalPadding="5px"VerticalPadding="2px"/><DynamicHoverStyle BackColor="#284E98"ForeColor="White"/><DynamicMenuStyle BackColor="#B5C7DE"/><DynamicSelectedStyle BackColor="#507CD1"/><DynamicMenuItemStyle HorizontalPadding="5px"VerticalPadding="2px"/><StaticHoverStyle BackColor="#284E98"ForeColor="White"/><Items><asp:MenuItem Text="用户管理"Value="注册"NavigateUrl="~/用户注册.aspx"></asp:MenuItem><asp:MenuItem NavigateUrl="~/updateuser.aspx"Text="查询用户"Value="查询"></asp:MenuItem></Items></asp:Menu>&nbsp;</div><div id="mainNav"><asp:Menu ID="Menu2"runat="server"Font-Size="0.8em"Font-Underline="True"StaticSubMenuIndent="10px"BackColor="#B5C7DE"DynamicHorizontalOffset="2"Font-Names="Verdana"ForeColor="#284E98"Height="221px"Width="122px"><StaticSelectedStyle BackColor="#507CD1"/><StaticMenuItemStyle HorizontalPadding="5px"VerticalPadding="2px"/><DynamicHoverStyle BackColor="#284E98"ForeColor="White"/><DynamicMenuStyle BackColor="#B5C7DE"/><DynamicSelectedStyle BackColor="#507CD1"/><DynamicMenuItemStyle HorizontalPadding="5px"VerticalPadding="2px"/><StaticHoverStyle BackColor="#284E98"ForeColor="White"/><Items><asp:MenuItem Text="我的订单"Value="我的订单"NavigateUrl="~/mycar.aspx"></asp:MenuItem><asp:MenuItem Text="订书页面"Value="我的购物车"NavigateUrl="~/订书页面.aspx"></asp:MenuItem><asp:MenuItem Text="管理"Value="管理"><asp:MenuItem NavigateUrl="~/updateuser.aspx"Text="用户查询"Value="用户管理"></asp:MenuItem><asp:MenuItem NavigateUrl="~/viewbook.aspx"Text="书籍管理"Value="书籍管理"></asp:MenuItem></asp:MenuItem></Items></asp:Menu><div id="content"><asp:ContentPlaceHolder ID="contentplacehoder1"runat=server></asp:ContentPlaceHolder></div></div></div><div><asp:ContentPlaceHolder id="ContentPlaceHolder1"runat="server"></asp:ContentPlaceHolder></div></form></body></html>4)用户管理界面用户注册.aspx<%@Page Language="C#"AutoEventWireup="true"CodeFile="用户注册.aspx.cs"Inherits="用户注册" %> <!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head runat="server"><title>无标题页</title><style type="text/css">#form1{height: 448px;width: 842px;}</style></head><body><form id="form1"runat="server"><div align="center"style="height: 478px; margin-right: 62px"><asp:GridView ID="GridView1"runat="server"AllowPaging="True"AutoGenerateColumns="False"DataKeyNames="userid"DataSourceID="SqlDataSource1"style="margin-left: 78px; margin-top: 36px"Width="728px"><Columns><asp:BoundField DataField="userid"HeaderText="userid"ReadOnly="True"SortExpression="userid"/><asp:BoundField DataField="username"HeaderText="username"SortExpression="username"/><asp:BoundField DataField="pwd"HeaderText="pwd"SortExpression="pwd"/><asp:BoundField DataField="email"HeaderText="email"SortExpression="email"/><asp:BoundField DataField="adress"HeaderText="adress"SortExpression="adress"/><asp:HyperLinkField DataNavigateUrlFields="userid"DataNavigateUrlFormatString="~/注册1.aspx?p={0}"Text="修改"/></Columns></asp:GridView><asp:Button ID="Button1"runat="server"onclick="Button1_Click"Text="返回"style="margin-left: 179px"Width="315px"Height="35px"/></div><asp:SqlDataSource ID="SqlDataSource1"runat="server"ConnectionString="<%$ ConnectionStrings:webbookConnectionString %>"DeleteCommand="DELETE FROM [user] WHERE [userid] = @userid"InsertCommand="INSERT INTO [user] ([userid], [username], [pwd], [adress], [email]) VALUES (@userid, @username, @pwd, @adress, @email)"SelectCommand="SELECT [userid], [username], [pwd], [adress], [email] FROM [user]"UpdateCommand="UPDATE [user] SET [username] = @username, [pwd] = @pwd, [adress] = @adress, [email] = @email WHERE [userid] = @userid"><DeleteParameters><asp:Parameter Name="userid"Type="Int32"/></DeleteParameters><UpdateParameters><asp:Parameter Name="username"Type="String"/><asp:Parameter Name="pwd"Type="String"/><asp:Parameter Name="adress"Type="String"/><asp:Parameter Name="email"Type="String"/><asp:Parameter Name="userid"Type="Int32"/></UpdateParameters><InsertParameters><asp:Parameter Name="userid"Type="Int32"/><asp:Parameter Name="username"Type="String"/><asp:Parameter Name="pwd"Type="String"/><asp:Parameter Name="adress"Type="String"/><asp:Parameter Name="email"Type="String"/></InsertParameters></asp:SqlDataSource></form></body></html>用户注册.aspx.csusing System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;public partial class用户注册 : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){}protected void Button1_Click(object sender, EventArgs e){Response.Redirect("main.aspx");}}5)查询用户界面Updateuser.aspx:<%@Page Language="C#"AutoEventWireup="true"CodeFile="updateuser.aspx.cs"Inherits="updateregister" %><!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head runat="server"><title>无标题页</title></head><body><form id="form1"runat="server"><div><asp:DropDownList ID="DropDownList1"runat="server"AutoPostBack="True"DataSourceID="SqlDataSource2"DataTextField="userid"DataValueField="userid"> </asp:DropDownList><asp:GridView ID="GridView1"runat="server"AutoGenerateColumns="False"DataKeyNames="userid"DataSourceID="SqlDataSource1"><Columns><asp:BoundField DataField="userid"HeaderText="userid"ReadOnly="True"SortExpression="userid"/><asp:BoundField DataField="username"HeaderText="username"SortExpression="username"/><asp:BoundField DataField="adress"HeaderText="adress"SortExpression="adress"/><asp:BoundField DataField="email"HeaderText="email"SortExpression="email"/><asp:BoundField DataField="roleid"HeaderText="roleid"SortExpression="roleid"/><asp:BoundField DataField="remark"HeaderText="remark"SortExpression="remark"/></Columns></asp:GridView><asp:SqlDataSource ID="SqlDataSource2"runat="server"ConnectionString="<%$ ConnectionStrings:webbookConnectionString %>"SelectCommand="SELECT DISTINCT [userid] FROM [user]"></asp:SqlDataSource> <asp:SqlDataSource ID="SqlDataSource1"runat="server"ConnectionString="<%$ ConnectionStrings:webbookConnectionString %>"DeleteCommand="DELETE FROM [user] WHERE [userid] = @userid"InsertCommand="INSERT INTO [user] ([userid], [username],[pwd], [adress], [email]) VALUES (@userid, @username, @pwd, @adress, @email)"SelectCommand="SELECT * FROM [user] WHERE ([userid] = @userid)"。