论文部分内容阅读
(阿坝师范高等专科学校四川成都611741)
摘要:随着Internet技术的迅速发展,网上商店已经受到人们的关注。该系统使用B/S模式,通过ASP和ADO相结合访问Microsoft Access数据库。实现客户的注册、登陆、商品的查询、订购和信息反馈等。
关键词:ASP网上商店 购物车 B/S模式
1引言
随着Internet技术的迅速发展,现在人们上网的目的已经不象原来那样只是简单的浏览网页,网上购物作为一种全新的购物方式已经渗透到人们生活中,而且网上消费已经被大众所接受。本文以网上商店为例,讨论了一种基于ASP技术的网上购物的总体设计方案。
系统采用B/S(Browse/Server)模式,其结构如图1所示:
服务器端使用ASP(Active Server Page)技术、运用Vbscript脚本语言、后台数据库选用Microsoft Access构成网上商店的应用服务系统。客户端通过Web浏览器实现商品的浏览、查询、销售、管理等功能,同时还对系统进行维护。
2系统功能介绍
2.1基本功能介绍
客户根据指定的IP地址或域名进入系统的首页。先注册成为合法用户后,再登陆。客户通过下拉菜单选择查询方式,有商品名、生产厂家和价格范围,点击“查询”按钮,系统显示满足条件的商品基本信息。客户点击对应的商品加入“购物车”即可把商品加入购物车,通过购物车向店主提供订单信息。店主定期对客户的订单信息进行处理,并及时把相应的信息反馈给客户。系统根据订单信息,统计商品的销售情况,在首页中显示商品的销售排行榜。
2.2 系统的功能模块
根据需求分析,该系统的功能模块如图2所示:
2.3 功能模块介绍
2.3.1 用户管理
用户有三种,普通用户、商家、店主。普通用户必须先注册,才能进行商品的查询、浏览、订购、信息反馈等操作。商家需要注册,并且要得到店主的审批和确认,只要是对商品的基本信息进行管理。店主是系统唯一的超级用户,不需要注册,对系统进行维护,同时还对普通用户和商家的基本信息进行管理。
2.3.2 商品管理
商品管理模块是由商家来操作,包括添加、删除和修改商品名称、价格、简介、数量等基本信息。
2.3.3 购物车管理
使用购物车的目的是用来存放用户订购商品的名称、数量和总价。当用户在商品显示的页面中,点击“加入购物车”超级连接时,系统会把“加入购物车”所对应的商品名、价格、数量等信息添加到购物车中,默认商品的数量为1件。在浏览购物车页面,用户可以对商品的数量进行修改,也可以删除购物车中的商品信息。系统根据用户购买商品的数量和价格,计算出总价。
2.3.4 订单管理
当用户确认购物车中的商品信息准确无误后,便可以点击“购买”按钮,将进入订单管理页面。订单管理主要实现以下功能:
(1) 自动调取用户的注册信息完成订单的初始化
(2) 由用户选择送货及付款方式
(3) 显示购物信息列表
(4) 显示能为用户提供的付款方式
(5) 用户确认订单信息后,系统将订单信息存入数据库,再由店主对订单的信息进行分析、处理
(6) 自动生成订单编号
商家通过对订单管理模块,定期对订单信息进行分析,对合法的订单,按照订单的信息执行相应的操作。对不合法的订单,则不予理会。
2.3.5 留言管理
对于系统的合法用户,均可在系统提供的留言板上留言。留言一旦提交,其删除和修改只能由店主来完成。
3部分功能的实现
3.1 购物车功能的实现
系统中的购物车是由Session对象及数组构建的。当用户初次使用购物车时,首先将购物信息存放到一个数组中,然后再将该数组中的数据保存到Session对象中并输出。当用户再次购物时,将重新建立一个数组,该数组在继承了远购物车的同时,也增加了新的购物信息,然后再将新数组中的数据保存到Session对象中并输出。
3.2 查询技术
查询商品模块的目的是为了帮助用户快速找到自己想要购买的商品。由于用户对商店中的商品情况不可能十分清楚。因此采用了模糊查询方法,只要用户输入了相关少量的信息就可以查询到相应的结果。模糊查询时,使用到了数据库系统的运算符like。其关键代码如下:
<%
Set conn=server.createObject(ADODB.Connection)
Coon.open.driver={Microsoft Access Driver (﹡.mdb)};dbq=&server.MapPath(“product”)
set rs=Server.CreateObject(“ADODB.Recordset”)
condition=request(“select”)
content=request(“textfield”)
if condition=1 then“按照商品名称排列”
rs.open“productinfo”,3,3
rs.filer=“productname like”,“& content”,“ &﹡”
else if condition=2 then“按照价格排列”
rs.open“productinfo”,3,3
rs.filer=“price like”
else if condition=3 then “按照数量查询”
rs.open“productinfo”
rs.filer=“count like”,“& content”,“ &﹡”
end if
end if
end if
if rs=recordcount=0 then
Response.product“没有符合条件的商品”
Response.product“返回系统首页”
else
“显示满足条件的结果”
%>
3.3 分页显示技术
对满足某一条件的商品,可能有几十或几百种或更多,系统使用了分页显示技术来显示。在ASP中,进行ADO存取数据库时的分页显示,其实就是对Recordset的记录进行操作。Recordset对象的属性和方法如下:
Bof属性:目前指标指到Recordset的第一条记录。
Eof属性:目前指标指到Recordset的最后一条记录。
Move方法:移动指标指到Recordset的某一条记录。
AbsolutePage属性:设定当前记录的位置是位于哪一页。
AbolutePosition属性:目前指标在Recordset中的位置。
PageCount属性:显示Recordset对象包括多少页的数据。
PageSize属性:显示Recordset对象每一页显示的记录数。
RecordCount属性:显示Recordset对象记录的总数。
分页显示技术实现的关键代码如下:
<%
no
dim no
if Request.Querystring(“no”)=“” then
no=1
else
no=Cint(Request.Querystring(“no”))
end if
%>
显示满足查询条件的商品
<%
if Not rs.Bof and Not rs.Eof then
rs.Pagesize=50
dim total
total=rs.PageCount“page_total”
rs.AbsolutePage=no
dim i
i=50
do while not rs.Eof and i>0
i=i-1
%>
输出页数信息:
<%
Response.price“<p>共有”& total &“页”
Response.price“当前是第”& no & “页”
dim pre,next
pre=no-1
next=no+1
Response.price “<a href=index.asp? no=1>第一页</a>”
if pre=0 then
Response.price“上一页”
else
Response.price“<a href=index.asp? no=”& pre &“>上一页</a>”
end if
if next>total then
Response.price“下一页”
else
Response.price” <a href=index.asp? no=”& next&”>下一页</a>”
end if
输出最后页的链接
Response.price“<a href=index.asp? no=”& total &”>最后一页</a>”
%>
4结论
经过测试,系统成功地完成了从用户注册、登陆、查询、购买、反馈信息等整个过程。实验结果说明,设计达到了预期的要求。
参考文献:
[1] 求是科技.ASP信息管理系统开发实例导航.北京:人民邮电出版社,2005.
[2] 王国辉,牛强等.ASP工程应用与项目实践.北京:机械工业出版社,2005.
作者简介:李志坚(1982—),男,汉族,四川南充人,助教,研究方向:计算机网络程序设计。
摘要:随着Internet技术的迅速发展,网上商店已经受到人们的关注。该系统使用B/S模式,通过ASP和ADO相结合访问Microsoft Access数据库。实现客户的注册、登陆、商品的查询、订购和信息反馈等。
关键词:ASP网上商店 购物车 B/S模式
1引言
随着Internet技术的迅速发展,现在人们上网的目的已经不象原来那样只是简单的浏览网页,网上购物作为一种全新的购物方式已经渗透到人们生活中,而且网上消费已经被大众所接受。本文以网上商店为例,讨论了一种基于ASP技术的网上购物的总体设计方案。
系统采用B/S(Browse/Server)模式,其结构如图1所示:
服务器端使用ASP(Active Server Page)技术、运用Vbscript脚本语言、后台数据库选用Microsoft Access构成网上商店的应用服务系统。客户端通过Web浏览器实现商品的浏览、查询、销售、管理等功能,同时还对系统进行维护。
2系统功能介绍
2.1基本功能介绍
客户根据指定的IP地址或域名进入系统的首页。先注册成为合法用户后,再登陆。客户通过下拉菜单选择查询方式,有商品名、生产厂家和价格范围,点击“查询”按钮,系统显示满足条件的商品基本信息。客户点击对应的商品加入“购物车”即可把商品加入购物车,通过购物车向店主提供订单信息。店主定期对客户的订单信息进行处理,并及时把相应的信息反馈给客户。系统根据订单信息,统计商品的销售情况,在首页中显示商品的销售排行榜。
2.2 系统的功能模块
根据需求分析,该系统的功能模块如图2所示:
2.3 功能模块介绍
2.3.1 用户管理
用户有三种,普通用户、商家、店主。普通用户必须先注册,才能进行商品的查询、浏览、订购、信息反馈等操作。商家需要注册,并且要得到店主的审批和确认,只要是对商品的基本信息进行管理。店主是系统唯一的超级用户,不需要注册,对系统进行维护,同时还对普通用户和商家的基本信息进行管理。
2.3.2 商品管理
商品管理模块是由商家来操作,包括添加、删除和修改商品名称、价格、简介、数量等基本信息。
2.3.3 购物车管理
使用购物车的目的是用来存放用户订购商品的名称、数量和总价。当用户在商品显示的页面中,点击“加入购物车”超级连接时,系统会把“加入购物车”所对应的商品名、价格、数量等信息添加到购物车中,默认商品的数量为1件。在浏览购物车页面,用户可以对商品的数量进行修改,也可以删除购物车中的商品信息。系统根据用户购买商品的数量和价格,计算出总价。
2.3.4 订单管理
当用户确认购物车中的商品信息准确无误后,便可以点击“购买”按钮,将进入订单管理页面。订单管理主要实现以下功能:
(1) 自动调取用户的注册信息完成订单的初始化
(2) 由用户选择送货及付款方式
(3) 显示购物信息列表
(4) 显示能为用户提供的付款方式
(5) 用户确认订单信息后,系统将订单信息存入数据库,再由店主对订单的信息进行分析、处理
(6) 自动生成订单编号
商家通过对订单管理模块,定期对订单信息进行分析,对合法的订单,按照订单的信息执行相应的操作。对不合法的订单,则不予理会。
2.3.5 留言管理
对于系统的合法用户,均可在系统提供的留言板上留言。留言一旦提交,其删除和修改只能由店主来完成。
3部分功能的实现
3.1 购物车功能的实现
系统中的购物车是由Session对象及数组构建的。当用户初次使用购物车时,首先将购物信息存放到一个数组中,然后再将该数组中的数据保存到Session对象中并输出。当用户再次购物时,将重新建立一个数组,该数组在继承了远购物车的同时,也增加了新的购物信息,然后再将新数组中的数据保存到Session对象中并输出。
3.2 查询技术
查询商品模块的目的是为了帮助用户快速找到自己想要购买的商品。由于用户对商店中的商品情况不可能十分清楚。因此采用了模糊查询方法,只要用户输入了相关少量的信息就可以查询到相应的结果。模糊查询时,使用到了数据库系统的运算符like。其关键代码如下:
<%
Set conn=server.createObject(ADODB.Connection)
Coon.open.driver={Microsoft Access Driver (﹡.mdb)};dbq=&server.MapPath(“product”)
set rs=Server.CreateObject(“ADODB.Recordset”)
condition=request(“select”)
content=request(“textfield”)
if condition=1 then“按照商品名称排列”
rs.open“productinfo”,3,3
rs.filer=“productname like”,“& content”,“ &﹡”
else if condition=2 then“按照价格排列”
rs.open“productinfo”,3,3
rs.filer=“price like”
else if condition=3 then “按照数量查询”
rs.open“productinfo”
rs.filer=“count like”,“& content”,“ &﹡”
end if
end if
end if
if rs=recordcount=0 then
Response.product“没有符合条件的商品”
Response.product“返回系统首页”
else
“显示满足条件的结果”
%>
3.3 分页显示技术
对满足某一条件的商品,可能有几十或几百种或更多,系统使用了分页显示技术来显示。在ASP中,进行ADO存取数据库时的分页显示,其实就是对Recordset的记录进行操作。Recordset对象的属性和方法如下:
Bof属性:目前指标指到Recordset的第一条记录。
Eof属性:目前指标指到Recordset的最后一条记录。
Move方法:移动指标指到Recordset的某一条记录。
AbsolutePage属性:设定当前记录的位置是位于哪一页。
AbolutePosition属性:目前指标在Recordset中的位置。
PageCount属性:显示Recordset对象包括多少页的数据。
PageSize属性:显示Recordset对象每一页显示的记录数。
RecordCount属性:显示Recordset对象记录的总数。
分页显示技术实现的关键代码如下:
<%
no
dim no
if Request.Querystring(“no”)=“” then
no=1
else
no=Cint(Request.Querystring(“no”))
end if
%>
显示满足查询条件的商品
<%
if Not rs.Bof and Not rs.Eof then
rs.Pagesize=50
dim total
total=rs.PageCount“page_total”
rs.AbsolutePage=no
dim i
i=50
do while not rs.Eof and i>0
i=i-1
%>
输出页数信息:
<%
Response.price“<p>共有”& total &“页”
Response.price“当前是第”& no & “页”
dim pre,next
pre=no-1
next=no+1
Response.price “<a href=index.asp? no=1>第一页</a>”
if pre=0 then
Response.price“上一页”
else
Response.price“<a href=index.asp? no=”& pre &“>上一页</a>”
end if
if next>total then
Response.price“下一页”
else
Response.price” <a href=index.asp? no=”& next&”>下一页</a>”
end if
输出最后页的链接
Response.price“<a href=index.asp? no=”& total &”>最后一页</a>”
%>
4结论
经过测试,系统成功地完成了从用户注册、登陆、查询、购买、反馈信息等整个过程。实验结果说明,设计达到了预期的要求。
参考文献:
[1] 求是科技.ASP信息管理系统开发实例导航.北京:人民邮电出版社,2005.
[2] 王国辉,牛强等.ASP工程应用与项目实践.北京:机械工业出版社,2005.
作者简介:李志坚(1982—),男,汉族,四川南充人,助教,研究方向:计算机网络程序设计。