ASP实训报告

时间:2024.5.14

西京学院经济系

《动态网站(ASP)建设》

实 训 报 告

 


专业 及 班级:_电子商务<专>0902_

姓        名:    周 建 珍______

学        号:   0911160252   

指 导  老 师:   杜  永  红   

报告完成时间:_  20##-06-26   _

一、 实训课题标题;

通讯录

二、 网站整体构架

三、 数据库设计具体实现;

      创建数据库文件52.mdb,包含gly表和zjz表

四、网站制作过程和网站首页的附图

(1)、连接数据库文件conn.asp

由于很多文件都要用到连接数据库的语句,所以把这部分,然后在其他文件中用“<!--#include file=”conn.asp”-->”将其包含过来,这就相当于将这些语句直接写在别的

图3:conn.asp

(3)首页index.asp

     这是本通讯录的首页,其中有排序显示数据技术,还增加了“添加记录、查找记录”的超链接,

图4:首页index.asp

(4)详细信息页面xiangxi.asp

   在首页中单击“详细”超链接,就会打开详细页面,在其中就可以根据传递过来的信息显示相应记录的详细信息,下面为详细信息页面重要代码:

<!--#include file="conn.asp"-->

<%dim rs,id,sql

id=request.QueryString("id")

sql="select * from zjz where id="&id

set rs=zjz.execute(sql)%>

(5)、查找用户页面

      其中包括chaxun.asp、select.asp两个页面,其中chaxun.asp是静态网页,而处理页面是select.asp,下面为查找用户处理页面重要代码:

<%dim chaxun,lb

chaxun=request.Form("chaxun")

lb=request.Form("lb")

if chaxun="" then

response.Redirect "select.asp"

end if

dim sql,rs

if lb="username" then

sql="select * from zjz where username like '%"&chaxun&"%'"

elseif lb="email" then

sql="select * from zjz where email='"&chaxun&"'"

elseif lb="intro" then

sql="select * from zjz where intro like '%"&chaxun&"%'"

end if

set rs=zjz.execute(sql)%>

(6)、添加用户页面

      其中包括form.htm、add.asp两个页面,其中form.htm是htm页面并没有VBSCRIPT,而处理页面是add.asp,下面为添加用户处理页面代码:

<%dim username,pwd,email,sex,age,tel,intro

username=request.Form("username")

pwd=request.Form("pwd")

email=request.Form("email")

sex=request.Form("sex")

age=request.Form("age")

tel=request.Form("tel")

intro=request.Form("intro")

if username="" or pwd="" or email="" then

response.Write "请您填写完整的信息!请<a href='form.htm'>返回</a>"

response.End

end if

if instr(email,"@")=0 then

response.Write "请您填写正确的邮箱格式!请<a href='form.htm'>返回</a>"

response.End

end if

if age<>"" then

             if isnumeric(age)=false then

             response.Write "请您填写正确的年龄!请<a href='form.htm'>返回</a>"

             response.End

             end if

dim sql

sql="insert into zjz(username,pwd,sex,age,tel,email,intro,submitdate) values('"&username&"','"&pwd&"','"&sex&"',"&age&",'"&tel&"','"&email&"','"&intro&"',#"&now()&"#)"

zjz.execute(sql)

response.Redirect("index.asp")

end if%>

(7)、删除用户页面

      del.asp一个页面,这个页面非常简单,只需要根据传递过来的ID将记录伤处就可以,其中代码为:

<!--#include file="conn.asp"-->

<%

dim id,sql

id=request.QueryString("id")

sql="delete from zjz where id="&id

zjz.Execute(sql)

response.Redirect "index.asp"

%>

(8)、更新用户页面

      其中包括gxform.htm、update.asp两个页面,其中gxform.htm是静态页面,而处理页面是update.asp,下面为更新用户处理页面代码:

<!--#include file="conn.asp"-->

<%dim username,pwd,email,sex,age,tel,intro,id

id=request.Form("id")

username=request.Form("username")

pwd=request.Form("pwd")

email=request.Form("email")

sex=request.Form("sex")

age=request.Form("age")

tel=request.Form("tel")

intro=request.Form("intro")

if username="" or pwd="" or email="" then

response.Write "请您填写完整的信息!请点击后退"

response.End

end if

if instr(email,"@")=0 then

response.Write "请您填写正确的邮箱格式!请请点击后退"

response.End

end if

if age<>"" then

  if isnumeric(age)=false then

  response.Write "请您填写正确的年龄!请请点击后退"

  response.End

  end if

dim sql

sql="update zjz set username='"&username&"',sex='"&sex&"',age="&age&",tel='"&tel&"',email='"&email&"',intro='"&intro&"'where id="&id

zjz.execute(sql)

response.Redirect "index.asp"

end if%>

(9)管理员页面

当管理员在gly.asp这个页面登陆后,就可以打开gly_cl.asp、glyindex.asp这两个文件修改和删除所有人的信息了。

五、网站实现的关键技术

(1)、数据库设计

      其中不只用到一个数据表,有管理员和普通用户两个表;

(2)、数据库的添加、更新、查询、删除

(3)、session对象的运用等;

六、网站功能说明

方便记录同学的信息,随时更新和查询。用户可以注册、登陆、修改个人信息。

七、附录或参考资料

    《网络程序设计—ASP》教材、通讯录网站


第二篇:网上书店 ASP.NET实训报告


目 录

实习目的 .................................................................................................. - 1 - 实习任务 .................................................................................................. - 1 - 网络书店系统项目设计书 ........................................................................ - 1 -

1.公共模块设计 ........................................................................................ - 1 -

1.1.文件夹及文件架构 ...........................................................................- 1 -

1.2.Web.Config文件配置 ......................................................................- 2 -

1.3.公共类设计 ......................................................................................- 3 - 数据操作类 ......................................................................................... - 4 - 用户操作类 ......................................................................................... - 6 - 产品操作类 ....................................................................................... - 12 -

2.网站前台功能模块设计 ....................................................................... - 20 -

2.1.母版页设计 .................................................................................... - 20 -

2.2.用户注册及信息修改模块设计 ...................................................... - 22 - 页面设计 ........................................................................................... - 22 - 页面后台代码 ......................................................... 错误!未定义书签。

3.网站后台功能模块设计 ....................................................................... - 25 -

3.1.后台登录 ........................................................................................ - 28 -

3.2.产品管理模块设计 ............................................... 错误!未定义书签。

4.难点尚未解决问题..................................................... 错误!未定义书签。 实习总结 ................................................................................................ - 29 -

II

实习目的

加强ASP设计及操作方面的技能,体会面向对象的思想开发软件,使大家能够初步体验到在将来实际工作中,作为一个软件开发人员所应做的工作和应该掌握的基本技能。

实习任务

完成对于网络书店系统相关的设计,并从中进一步学习课程相关的内容,达到学以致用的效果。 网络书店项目设计书

1.公共模块设计

1.1.文件夹及文件架构

1.文件夹架构

说明:列出整个网络书店web项目的文件夹架构体系,如下图所示

网上书店ASPNET实训报告

2.程序文件架构

说明:列出网络书店项目文件构成的基本架构,如下图所示

- 1 -

1.2.所需Web.Config文件配置如下

<?xml version="1.0"?>

<!--

注意: 除了手动编辑此文件以外,您还可以使用

Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的

“网站”->“Asp.Net 配置”选项。

设置和注释的完整列表在

ments 中,该文件通常位于

\Windows\Microsoft.Net\Framework\v2.x\Config 中

-->

<configuration>

<appSettings>

<add key="ConnectionString" value="Data Source=LENOVO-92318959\SQLEXPRESS;Initial Catalog=DB-NetShops;Integrated Security=True"/>

</appSettings>

<connectionStrings>

<add name="DB-NetShopsConnectionString" connectionString="Data

Source=LENOVO-92318959\SQLEXPRESS;Initial Catalog=DB-NetShops;Integrated Security=True" providerName="System.Data.SqlClient" />

<add name="DB-NetShopsConnectionString2" connectionString="Data

Source=LENOVO-92318959\SQLEXPRESS;Initial Catalog=DB-NetShops;Integrated Security=True" providerName="System.Data.SqlClient" />

<add name="DB-NetShopsConnectionString3" connectionString="Data

网上书店ASPNET实训报告

- 2 -

Source=LENOVO-92318959\SQLEXPRESS;Initial Catalog=DB-NetShops;Integrated Security=True" providerName="System.Data.SqlClient" />

<add name="DB-NetShopsConnectionString4" connectionString="Data

Source=LENOVO-92318959\SQLEXPRESS;Initial Catalog=DB-NetShops;Integrated Security=True" providerName="System.Data.SqlClient" />

<add name="DB-NetShopsConnectionString5" connectionString="Data

Source=LENOVO-92318959\SQLEXPRESS;Initial Catalog=DB-NetShops;Integrated Security=True" providerName="System.Data.SqlClient" />

<add name="DB-NetShopsConnectionString6" connectionString="Data

Source=64F3F49861404AF;Initial Catalog=DB-NetShops;Integrated Security=True"

providerName="System.Data.SqlClient" />

</connectionStrings>

<system.web>

<!--

设置 compilation debug="true" 可将调试符号插入

已编译的页面中。但由于这会

影响性能,因此只在开发过程中将此值

设置为 true。

-->

<compilation debug="true"> </compilation> <!--

通过 <authentication> 节可以配置 ASP.NET 用来

识别进入用户的

安全身份验证模式。

-->

<authentication mode="Windows"/>

<!--

如果在执行请求的过程中出现未处理的错误,

则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,

开发人员通过该节可以配置

要显示的 html 错误页

以代替错误堆栈跟踪。

<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">

<error statusCode="403" redirect="NoAccess.htm" />

<error statusCode="404" redirect="FileNotFound.htm" />

</customErrors>

-->

</system.web>

</configuration>

1.3.公共类设计

说明:在网站开发项目中以类的形式来组织、封装一些常用的方法和事件,可以提高代码的重用率,方便代码的管理。以企业信息网站为例,设计了以下公共类,如

- 3 -

数据操作类

包含的方法:

? 打开数据库连接

- 4 -

网上书店ASPNET实训报告

? 关闭连接

? 释放数据库资源

? 传入参数并且转换为SqlParameter类型

? 执行参数命名文本(无数据库中数据返回)

? 将命令文本添加到SqlDataAdapter

? 将命令文本添加到SqlCommand

UML类

网上书店ASPNET实训报告

相关代码如下:

using System;

using System.Data;

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

/// <summary>

/// dataoperate 的摘要说明

/// </summary>

public class dataoperate

{

public dataoperate()

{ //

//TODO: 在此处添加构造函数逻辑

//

}

/// <summary>

/// 用来截取小数点后nleng位

/// </summary>

/// <param name="sString">sString原字符串。</param>

/// <param name="nLeng">nLeng长度。</param>

/// <returns>处理后的字符串。</returns>

public string VarStr(string sString, int nLeng)

{

- 5 -

int index = sString.IndexOf(".");

if (index == -1 || index + 2 >= sString.Length) return sString;

else

return sString.Substring(0, (index + nLeng + 1)); }

}

用户信息类

属性:

? 定义用户信息——数据结构(实体)

包含的方法:

? 添加用户信息

? 修改用户信息

? 查询用户信息

? 用户登录

UML

网上书店ASPNET实训报告

相关代码如下:

using System;

using System.Data;

- 6 -

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient;

/// <summary>

/// user 的摘要说明

/// </summary>

public class userinfo

{

DataBase data=new DataBase (); public userinfo()

{

//

// TODO: 在此处添加构造函数逻辑 //

}

#region 基本数据类型

private string memberID = "";

public string MemberID

{

get { return memberID; } set { memberID = value; } }

private string name = "";

public string Name

{

get { return name; }

set { name = value; }

}

private string sex = "";

public string Sex

{

get { return sex; }

set { sex = value; }

}

private string password = "";

public string Password

{

- 7 -

get { return password; } set { password = value; } }

private string phone = "";

public string Phone

{

get { return phone; } set { phone = value; } }

private string emails = "";

public string Emails

{

get { return emails; } set { emails = value; } }

private string city = "";

public string City

{

get { return city; } set { city = value; } }

private string address = "";

public string Address

{

get { return address; } set { address = value; } }

private string post = "";

public string Post

{

get { return post; } set { post = value; } }

private string tconsumption = "";

public string TConsumption {

get { return tconsumption; } set { tconsumption = value; } }

- 8 -

private string marker = "用户";

public string Marker

{

get { return marker; }

set { marker = value; }

}

#endregion

#region 用户登录

/// <summary>

/// 用户登录

/// </summary>

/// <returns></returns>

public DataSet UserLogin()

{

SqlParameter[] prams = {

data.MakeInParam("@name", SqlDbType.VarChar, 100,Name),

data.MakeInParam("@pwd", SqlDbType.VarChar, 50, Password),

};

return (data.RunProcReturn("SELECT * FROM tb_Member WHERE (Name = @name) AND (Password = @pwd) AND (Marker='用户')", prams, "tb_Member"));

}

/// <summary>

/// 管理员登录

/// </summary>

/// <returns></returns>

public DataSet AdminLogin()

{

SqlParameter[] prams = {

data.MakeInParam("@name", SqlDbType.VarChar, 100,Name),

data.MakeInParam("@pwd", SqlDbType.VarChar, 50, Password ),

};

return (data.RunProcReturn("SELECT * FROM tb_user WHERE (Name = @name) AND (Pwd = @pwd) AND (Marker='管理员')", prams, "tb_User"));

}

#endregion

#region 添加--用户信息

/// <summary>

/// 添加--用户--信息

/// </summary>

/// <returns></returns>

public int AddUser()

{

SqlParameter[] prams = {

data.MakeInParam("@Name", SqlDbType.VarChar,

- 9 -

100,Name ),

data.MakeInParam("@Password", SqlDbType.VarChar, 50,Password),

data.MakeInParam("@Sex", SqlDbType.Char, 4, Sex ), data.MakeInParam("@Phone", SqlDbType.VarChar, 20, Phone ),

data.MakeInParam("@Post", SqlDbType.VarChar, 20, Post ),

data.MakeInParam("@Emails", SqlDbType.VarChar,50, Emails),

data.MakeInParam("@City", SqlDbType.VarChar,50, City ),

data.MakeInParam("@Address", SqlDbType.VarChar, 100, Address ),

};

return (data.RunProc("INSERT INTO tb_Member

(Name,Sex,Password,Phone,Emails,City,Address,Post)"

+ " VALUES (@Name,@Sex,@Password,@Phone,@City,@Emails,@Address,@Post)", prams)); }

#endregion

#region 查询--用户信息

/// <summary>

/// 根据--姓名--得到用户信息

/// </summary>

/// <param name="tbName"></param>

/// <returns></returns>

public DataSet FindUserByName(string tbName)

{

SqlParameter[] prams = {

//data.MakeInParam("@marker", SqlDbType.Char,10, Marker ),

data.MakeInParam("@name", SqlDbType.VarChar, 100,Name+"%"),

};

//return (data.RunProcReturn("select * from tb_User where Name like @name AND (Marker=@marker)", prams, tbName));

return (data.RunProcReturn("select * from tb_Member where Name like @name", prams, tbName));

}

public DataSet FindUserByMarker(string tbName)

{

SqlParameter[] prams = {

data.MakeInParam("@marker", SqlDbType.Char,10,

- 10 -

Marker ),

};

return (data.RunProcReturn("select * from tb_Member where Marker=@marker", prams, tbName));

}

/// <summary>

/// 得到所有--用户信息

/// </summary>

/// <param name="tbName"></param>

/// <returns></returns>

public DataSet GetAllUser(string tbName)

{

return (data.RunProcReturn("select * from tb_Member ORDER BY MemberID", tbName)); }

#endregion

#region 修改--用户--信息

/// <summary>

/// 修改--用户--信息

/// </summary>

/// <returns></returns>

public int UpdateUser()

{

SqlParameter[] prams = {

data.MakeInParam("@Name", SqlDbType.VarChar, 100,Name ),

data.MakeInParam("@Password", SqlDbType.VarChar, 50,Password),

data.MakeInParam("@Sex", SqlDbType.Char, 4, Sex ), data.MakeInParam("@Phone", SqlDbType.VarChar, 20, Phone ),

data.MakeInParam("@Post", SqlDbType.VarChar, 20, Post ),

data.MakeInParam("@Emails", SqlDbType.VarChar,50, Emails),

data.MakeInParam("@City", SqlDbType.VarChar,50, City ),

data.MakeInParam("@Address", SqlDbType.VarChar, 100, Address ),

};

return (data.RunProc("update tb_Member set

Password=@Password,Sex=@sex,Phone=@Phone,Post=@Post"

+ "City=@City,Email=@emailAddress=@Address where Name=@name", prams));

}

- 11 -

#endregion

#region 获取会员信息

/// <summary>

/// 获取会员信息

/// </summary>

/// <param name="P_Str_Name">会员登录名</param>

/// <param name="P_Str_Password">会员登录密码</param>

/// <param name="P_Str_srcTable">查询表信息</param>

/// <returns></returns>

public DataSet ReturnUIDs(string P_Str_srcTable)

{

SqlParameter[] prams = {

//data.MakeInParam("@Name", SqlDbType.VarChar, 50,P_Str_Name),

//data.MakeInParam("@Password", SqlDbType.VarChar, 50,P_Str_Password),

data.MakeInParam("@Name", SqlDbType.VarChar, 50,Name),

data.MakeInParam("@Password", SqlDbType.VarChar, 50,Password),

};

return (data.RunProcReturn("Proc_GetUserInfo", prams, P_Str_srcTable));

}

#endregion

}

商品信息类

? 定义产品信息——数据结构(实体)

包含的方法:

? 添加产品信息

? 修改产品信息

? 删除产品信息

? 查询产品信息

UML类图

- 12 -

相关代码如下:

using System;

using System.Data;

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls;

/// <summary>

/// book 的摘要说明

/// </summary>

public class GoodsInfoClass

{

public GoodsInfoClass()

{

//

// TODO: 在此处添加构造函数逻辑 //

}

DataBase data = new DataBase();

private int booksID; //商品编号

public int BooksID

{

get { return booksID; }

- 13 -

网上书店ASPNET实训报告

set { booksID = value; }

}

private float memberPrice;//会员价格

public float MemberPrice

{

get { return memberPrice; }

set { memberPrice = value; } }

private float marketPrice;//会员价格

public float MarketPrice

{

get { return marketPrice; }

set { marketPrice = value; } }

private int num;//商品数量

public int Num

{

get { return num; }

set { num = value; }

}

private float sumPrice;//小计

public float SumPrice

{

get { return sumPrice; }

set { sumPrice = value; }

}

}

购物车信息类

·定义产品信息——数据结构(实体)

包含的方法:

·想购物车中添加信息

·显示购物车中的信息

·删除购物车中的信息

··返回合计总数的DS

·删除指定购物车中的信息

·当购物车中商品数量改变时,修改购物车中的信息

网上书店ASPNET实训报告

- 14 -

using System;

using System.Data;

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient;

/// <summary>

/// shopcart 的摘要说明

/// </summary>

public class ShopCartClass

{

public ShopCartClass()

{

//

// TODO: 在此处添加构造函数逻辑 //

}

DataBase data = new DataBase();

private int booksID; //商品编号

public int BoodsID

{

get { return booksID; }

set { booksID = value; } }

private int bookName; //商品编号

- 15 -

网上书店ASPNET实训报告

public int BookName

{

get { return bookName; }

set { bookName = value; }

}

private float memberPrice;//会员价格

public float MemberPrice

{

get { return memberPrice; }

set { memberPrice = value; }

}

private float marketPrice;//会员价格

public float MarketPrice

{

get { return marketPrice; }

set { marketPrice = value; }

}

private int num;//商品数量

public int Num

{

get { return num; }

set { num = value; }

}

private float sumPrice;//小计

public float SumPrice

{

get { return sumPrice; }

set { sumPrice = value; }

}

#region 向购物车中添加信息

/// <summary>

/// 向购物车中添加信息

/// </summary>

/// <param name="P_Int_GoodsID">商品编号</param>

/// <param name="P_Flt_MemberPrice">会员价格</param>

/// <param name="P_Int_MemberID">会员编号</param>

public int AddShopCart(int P_Int_BooksID,float P_Flt_MarketPrice,float P_Flt_MemberPrice, int P_Int_MemberID,String P_Int_BookName)

{

int P_Int_num = 1;

SqlParameter[] prams = {

- 16 -

8,P_Int_BooksID), data.MakeInParam("@BooksID", SqlDbType.BigInt,

data.MakeInParam("@BookName", SqlDbType.NVarChar , 50,P_Int_BookName),

8,P_Flt_MemberPrice), data.MakeInParam("@MemberPrice", SqlDbType.Float,

data.MakeInParam("@MarketPrice", SqlDbType.Float, 8,P_Flt_MarketPrice),

data.MakeInParam("@MemberID", SqlDbType.BigInt, 8,P_Int_MemberID),

data.MakeInParam("@num", SqlDbType.Int, 8,P_Int_num),

};

return (data.RunProc("INSERT tb_ShopCart

(BooksID,MarketPrice,MemberPrice,MemberID,BookName,Num)"

+ " VALUES (@BooksID,@MemberPrice,

@MarketPrice,@MemberID,@BookName,@num)",prams));

}

#endregion

#region 显示购物车中的信息

/// <summary>

/// 显示购物车中的信息

/// </summary>

/// <param name="P_Str_srcTable">信息表名</param>

/// <param name="gvName">控件名</param>

/// <param name="P_Int_MemberID">会员编号</param>

public void SCIBind(string P_Str_srcTable, GridView gvName, int P_Int_MemberID) {

SqlParameter[] prams = {

data.MakeInParam("@MemberID",

SqlDbType.BigInt,8,P_Int_MemberID),

};

DataSet ds = data.RunProcReturn("select * from tb_ShopCart where MemberID=@MemberID", prams, P_Str_srcTable);

gvName.DataSource = ds.Tables[P_Str_srcTable].DefaultView;

gvName.DataBind();

}

#endregion

- 17 -

#region 返回合计总数的Ds

/// <summary>

/// 返回合计总数的Ds

/// </summary>

/// <param name="P_Str_srcTable">信息表名</param>

/// <param name="P_Int_MemberID">员工编号</param>

/// <returns>返回合计总数的Ds</returns>

public DataSet ReturnTotalDs(int P_Int_MemberID, string P_Str_srcTable)

{

SqlParameter[] prams = {

data.MakeInParam("@MemberID",

SqlDbType.BigInt,8,P_Int_MemberID),

};

return (data.RunProcReturn("select sum(Num),sum(MemberPrice*Num) from tb_ShopCart where MemberID=@MemberID", prams, P_Str_srcTable));

}

#endregion

#region 删除购物车中的信息

/// <summary>

/// 删除购物车中的信息

/// </summary>

/// <param name="P_Int_MemberID">会员编号</param>

public int DeleteShopCart(int P_Int_MemberID)

{

SqlParameter[] prams = {

8,P_Int_MemberID),

};

return (data.RunProc("delete from tb_ShopCart where MemberID=@MemberID", prams)); }

#endregion

#region 删除指定购物车中的信息

/// <summary>

/// 删除指定购物车中的信息

/// </summary>

- 18 - data.MakeInParam("@MemberID", SqlDbType.BigInt,

/// <param name="P_Int_MemberID">会员编号</param>

/// <param name="P_Int_CartID">商品编号</param>

public int DeleteShopCartByID(int P_Int_MemberID, int P_Int_CarID)

{

SqlParameter[] prams = {

data.MakeInParam("@MemberID", SqlDbType.BigInt, 8,P_Int_MemberID),

data.MakeInParam("@CarID", SqlDbType.BigInt, 8,P_Int_CarID),

};

return (data.RunProc("delete from tb_ShopCart where CarID=@CarID", prams)); }

#endregion

#region 当购物车中商品数量改变时,修改购物车中的信息

/// <summary>

/// 当购物车中商品数量改变时,修改购物车中的信息

/// </summary>

/// <param name="P_Int_MemberID">会员ID号</param>

/// <param name="P_Int_CartID">商品编号</param>

/// <param name="P_Int_Num">商品数量</param>

public int UpdateSCI(int P_Int_MemberID, int P_Int_CarID, int P_Int_Num)

{

SqlParameter[] prams = {

8,P_Int_MemberID), // data.MakeInParam("@MemberID", SqlDbType.BigInt,

data.MakeInParam("@CarID", SqlDbType.BigInt, 8,P_Int_CarID),

data.MakeInParam("@Num", SqlDbType.BigInt, 8,P_Int_Num),

};

return (data.RunProc("update tb_ShopCart set Num=@Num where CarID=@CarID", prams)); }

#endregion

}

- 19 -

2.网站前台功能模块设计

2.1.主页面设计

通过主页面得的设计可以让用户在登录以后清晰地观察到各模块的相关功能

页面设计如下:

修按

改查作

个看搜者

人购索

图按修改个人信息

信物出

息 车 书 版

查看购物车 搜索图书

- 20 - 按类别 按作者 按出版社按书名

作者:

出版社:

类别:

市场价格:

会员价格:

人气度:

简洁:

作者:

出版社:

类别:

市场价格:

会员价格:

人气度:

简洁:

主页面的设计可以在user文件夹设计main.aspx页面来实现:

- 21 -

网上书店ASPNET实训报告

网上书店ASPNET实训报告

2.2.用户注册及信息修改模块设计

页面设计

说明:列出页面设计图及该页面用到的主要控件(目的:规范控件命名),如用户注册页面Register.aspx设计效果图如下图,主要控件如下表格

用户名

密码:

确认密码

电话

家庭地址:

邮编

城市

邮箱:

性别:

两次输入的密码不正确 无效的邮箱 无效的邮编

网上书店ASPNET实训报告

- 22 -

相应的注册代码实现如下: using System;

using System.Data;

using System.Configuration; using System.Collections; using System.Web;

using System.Web.Security; using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

public partial class common_register : System.Web.UI.Page {

userinfo us = new userinfo();

protected void Page_Load(object sender, EventArgs e) {

if (!IsPostBack) {

if (Request["mark"] == null)//首先会判断改页面是为注册用户的注册操作,还是已登录用户的修改操作(已注册用户会从登录页面传值过来作为判断条件),从而控制注册和修改按钮是否可用 {

Button1.Enabled = true;

Button2.Visible = false; }

if (Convert.ToInt32(Request["mark"]) == 1)//如果是需要修改用户信息,则会显示用户信息

{

txtName.Visible = false;

- 23 -

网上书店ASPNET实训报告

Label1.Text = Session["Name"].ToString();

Button1.Visible = false;

Button2.Enabled = true;

txtName.ReadOnly = true;

DataSet ds = null;

us.Name = Session["Name"].ToString();//从Session中获取用户名

ds = us.FindUserByName("tb_Member");//获取用户信息

txtName.Text = Session["Name"].ToString();

txtSex.Text = ds.Tables[0].Rows[0][2].ToString();

txtPassword.Text = ds.Tables[0].Rows[0][3].ToString();

txtPhone.Text = ds.Tables[0].Rows[0][4].ToString();

txtEmail.Text = ds.Tables[0].Rows[0][6].ToString();

txtCity.Text = ds.Tables[0].Rows[0][5].ToString();

txtAddress.Text = ds.Tables[0].Rows[0][7].ToString();

txtPost.Text = ds.Tables[0].Rows[0][8].ToString ();

}

}

}

protected void Button1_Click(object sender, EventArgs e)

{

if (txtName.Text == string.Empty || txtPassword.Text == string.Empty ||

txtPassword2.Text == string.Empty || txtCity.Text == string.Empty || txtPhone.Text ==

string.Empty || txtAddress.Text == string.Empty || txtPost.Text == string.Empty || txtSex.Text == string.Empty || txtEmail.Text == string.Empty)

{

Response.Write("<script>alert('用户名不能为空!')</script>");

txtName.Focus();

}

else

{

us.Name = txtName.Text;

DataSet ds = us.FindUserByName("tb_User");//获取用户信息

if (ds.Tables[0].Rows.Count > 0)//判断返回的datatable中的行数是否为0

{

Response.Write("<script>alert('该用户已经存在!')</script>");

txtName.Text = string.Empty;

txtName.Focus();

}

else

{

ds = null;

- 24 -

ds = us.GetAllUser("tb_User");

us.Name = txtName.Text;

us.Password = txtPassword.Text;

us.Sex = txtSex.Text;

us.Phone = txtPhone.Text;

us.Post = txtPost.Text;

us.City = txtCity.Text;

us.Emails = txtEmail.Text;

us.Address = txtAddress.Text;

us.AddUser();//调用添加用户信息的方法

Response.Write("<script>alert('用户注册成功!')</script>");

}

}

}

protected void Button2_Click(object sender, EventArgs e)

{

us.Password = txtPassword.Text;

us.Sex = txtSex.Text;

us.Phone = txtPhone.Text;

us.Post = txtPost.Text;

us.City = txtCity.Text;

us.Emails = txtEmail.Text;

us.Address = txtAddress.Text;

us.UpdateUser();//调用修改用户信息的方法

Response.Write("<script>alert('用户信息修改成功!')</script>");

}

}

2.3 购物车设计模块(包括购物车页面设计及代码设计)

2.4 用户查询设计模块

3.网站后台功能模块设计

说明:同上面的网站前台设计它包括管理员对图书的操作、多用户的操作、以及对订购信息的增删改等操作。具体设计界面几台吗如下:

管理员对图书的操作界面及后台代码

网上书店ASPNET实训报告

所有图书信息:

编BooksBooksNamID 1 e Author Publisher ClaMarketPrMemberPPopularIsDiscoBerifIntrodBooksUss ice 30.04

- 25 - rice 28.9 ity 0.1 unt 否 uce rl VisualBasi李永平 希望电计计算机专cover01

辑 删除 编辑 删除

c6.0

子出版算社 机 业书籍偏.gif

向技术的图书

清华大计

2

Asp.NET

李永平 学出版算25

社 机

22.4

0.3

cover04.gif

3 删除 编辑

8 删除 编辑

13 删除

Thanking in Java

人民教计

JodnSm

育出版算50

ith

社 机

48 0.5 否

cover05

.gif

科学教

雪山飞狐 金庸 育出版40

网上书店ASPNET实训报告

科学教

38 0.4 否

cover02.gif

连城诀

金庸 育出版40

38 0.4 否

cover03.gif

插入最新图书信息: BooksID BooksName Author Publisher Class MarketPrice MemberPrice Popularity 插入 取消

管理员对用户的操作

所有用户信息记录:

- 26 -

网上书店ASPNET实训报告

网上书店ASPNET实训报告

添加新用户信息:

原订购信息登记:

PaReceiReceiReceReceivReceiIsCIsPaIsConIsPigyT dembokuerDodspFalPpTyverNverPhiverPerAddverEonfymsigneonyprID erID sID m ate Fee ee rice pe ame one ost ress mails irm ent ment holee OrMeBonOrdGoShiTotShi

2 2 删

2008-12-5 57.77.1 2 20 1 0:08 8 0:00 东岳1234123413341 taian 大街@126是 是 是 2424 3 13号 .com 是

最新订购信息更新:

OrderID

MemberID

BooksID

num

OrderDate

GoodsFee

ShipFee

TotalPrice

ShipType

PayType 2 2 1 2 2008-12-5 0:00:00 57.8 20 77.8 1 1

ReceiverName taian

- 27 -

网上书店ASPNET实训报告

ReceiverPhone 12342424

ReceiverPost 13343

网上书店ASPNET实训报告

ReceiverAddress

网上书店ASPNET实训报告

东岳大街13号

ReceiverEmails 1234@126.com

IsConfirm

IsPayment 是 是

IsConsignment 是

IsPigeonhole

新建

3.1.后台登录

通过登录界面的设计连接数据库来显示用户登录信息:

界面如下

会员名

密码

设计代吗实现如下:

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

public partial class common_login : System.Web.UI.Page {

userinfo userbj = new userinfo();

protected void Page_Load(object sender, EventArgs e) {

}

protected void Button1_Click(object sender, EventArgs e)

- 28 -

{

Session["Name"] = null;

Session["Password"] = null;

if (txtName.Text.Trim() == "" || txtPassword.Text.Trim() == "")

{

Response.Write("<script>alert('登录名或密码不能为空!');</script>");

}

else

{

DataSet ds = null;

userbj.Name = txtName.Text;

userbj.Password = txtPassword.Text;

ds = userbj.UserLogin();

if (ds.Tables[0].Rows.Count > 0)

{

Session["MemberID"] = ds.Tables[0].Rows[0][0].ToString();

Session["Name"] = txtName.Text;

Response.Redirect("main.aspx");

}

else

{

Response.Write("<script>alert('您的登录有误,请核对后再登录');</script>"); }

}

}

protected void Button2_Click(object sender, EventArgs e)

{

Response.Redirect("register.aspx");

}

}

实习总结

通过这次实习我熟料掌握了ASP的基本操作,包括具体个界面的设计、类代码的设计、数据库与ASP.NET相连接方面的技能,体会面向对象的思想开发软件,使我初步体验到在将来实际工作中,作为一个软件开发人员所应做的工作和应该掌握的基本技能。同时我感到好的代码可以做到易读(见名知意),可以尽量少的使用注释,对于必要的注释,要遵循以下格式:

注释文字要和“ // ”空一个格。

要这样:// 注释内容

不要这样://注释内容

- 29 -

模块或类文件的注释,采用如下格式:

/// <summary>

/// Module Name:<模块名称>

/// Description:<对此类的描述,可以引用系统设计中的描述> /// Author:<作者>

/// Create Date:<模块创建日期,格式:YYYY-MM-DD>

/// </summary>

方法的注释加到方法定义的前面,采用如下格式:

/// <summary>

/// <对该方法的说明>

/// </summary>

/// <param name="<参数名称>"><参数说明></param>

/// <returns>

/// <对方法返回值的说明,该说明必须明确说明返回的值代表什么含义> /// </returns>

/// Author:作者中文名

/// Create Date:<方法创建日期,格式:YYYY-MM-DD

- 30 -

更多相关推荐:
cad实习报告范文

cad实习报告范文cadgt实习报告gt范文一画了几天的图纸真是感慨颇多要画好一份图纸不要急于画首先要好好的观察它观察它的布局由哪几类线构成的观察好就可以开工啦一般来说开始画时要建立几个图层一定要按照图纸上给的...

cad实训心得1500字

cad实训心得1500字cad实训心得1500字一CAD实训总结为期一周的AutoCAD终于完了好呛啊每天不用上课起来就去机房画图回到宿舍还是画图可以说这个星期除了吃喝拉撒其他时间都在干同一件事画图不夸张的说连...

Cad实训报告

Cad实训报告为期一周的AutoCAD终于完了好呛啊每天不用上课起来就去机房画图回到宿舍还是画图可以说这个星期除了吃喝拉撒其他时间都在干同一件事画图不夸张的说连做梦都梦到在画图不过效果是显而易见实训的目的是让我...

cad实训报告

河南理工大学高等职业学院建筑CAD技能训练报告系别建筑工程专业建筑工程技术班级建筑11-1班姓名20##年11月日建筑CAD技能训练任务书一、训练目的通过本次技能训练,使学生进一步熟悉建筑制图国家标准的有关规定…

cad实习报告

CAD实习报告经过这学期的理论和上机学习,使我们对有了基本掌握,对于CAD这个课程学习也有了一个系统的学习和掌握。我学到的东西很多。首先对于电脑绘图不熟悉的我有很大的帮助,现在的我用AutoCAD绘图的速度快了…

cad实训心得体会

cad实训心得体会20xx年下学期第十六周,在杨志勤老师的指导下,我们班进行了为期一周的CAD制图集中实训,主要是针对轴类、箱体类和叉架类等几种常见零件的绘制,通过实训,进一步掌握CAD的应用,增强动手cao作…

建筑cad软件应用实训报告

建筑cad软件应用实训报告一、实训目的AutoCAD是一种实用性很强的绘图软件,它可以快速,准确,方便的绘制和编辑出个各种工程图样,是工程专业的技术人员必备的基本技能。通过本次实训,要求学生熟练的掌握各种绘图命…

cad实习报告

前沿图形图像制作专业第二学期开的机械制图专业两周的实习课程是为巩固一学期的学习成果和熟练掌握并灵活运用所学知识绘制出正规的电气电路图,从而为以后绘制复杂的图形打下坚实的基础。两周的实习过程中除了要灵活运用最基本…

cad实习报告

20xx20xx学年第二学期实习名称cad实习专业学号姓名实习地点计算机实践中心实习时间实习成绩指导教师签字西南交通大学峨眉校区20xx年7月12日注后附纸若干内容包括实习目的和要求实习内容实习方式和安排实习完...

cad实习报告

cad实习报告cadgt实习报告一时间地点根据学校政策我们建筑装饰班在本学期第18周CAD上机实习主要是老师组织学生在学校阅览室内画建筑图纸二实行情况我们班由我们的AutoCAD认课老师卢燕卢老师指导学生们都在...

cad实习报告

20xx20xx学年第2学期实习名称AutoCAD绘图软件实习专业学号姓名实习地点网络中心四楼实习时间七月九日七月十一二日实习成绩指导教师签字西南交通大学峨眉校区二一三年七月十一二日一实习目的1巩固和进一步加学...

西南交大cad实习报告

20xx20xx学年第2学期实习名称AUTOCAD实习专业学号姓名实习地点网络中心三楼机房实习时间实习成绩指导教师签字西南交通大学峨眉校区20xx年7月12日AUTOCAD实习情况汇总一实习目的AUTOCAD是...

cad实训报告范文(2篇)