基于asp+access的网上图书销售系统设计与实现(毕业论文+程序源码)

大家好,今天给大家介绍基于asp+access的网上图书销售系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。

文章目录:

  • 基于asp+access的网上图书销售系统设计与实现(毕业论文+程序源码)
    • 1、项目简介
    • 2、资源详情
    • 3、关键词:
    • 4、毕设简介
    • 5、资源下载

1、项目简介

  1. 网上购物系统是一个为了适应社会发展,为广大网民提供服务的网站。在社会的经济发展越来越快的环境下,人们对信息的更新速度和完整性要求越来越高。因此对网站的要求也越来越高,本文简要介绍了网上购物系统的项目背景和意义,着重阐述了该网站的设计实现过程与该系统数据库的设计实现过程;从网站的数据库设计、数据库功能、网站的系统结构和工作原理、模块简介等等都作了详细的介绍。本人在设计这个网站的时候把ASP结合ACCESS数据库结合,并进行了较深的应用,尽量地把数据库的数据完善,以便用户在登陆期间能更加完善地利用到网站的英语资源。
  2. 本文通过分析国内外网上图书销售管理系统的发展现状,提出了一种利用asp技术开发网上图书销售系统的方案,以期达到功能强大,费用低廉,通用性强,适合我国国情的购物网站系统。论述了该系统的功能与实现、数据流程与存储、网上图书销售、后台管理等。并对关键的有关技术作了较详细的介绍。整个设计适用于Internet发布,后台为服务器端的MS Access数据库,前台使用ASP技术设计网页。系统的操作简单方便,界面美观。

2、资源详情

项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:20581个字55页
包含内容:整套源码+完整毕业论文


3、关键词:

网上图书销售, ASP,数据库,购物篮


4、毕设简介

提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。

前 言
省略

1.1问题的提出
对于基于Web平台的网上图书销售系统,存在着一个前台应用和后台管理的问题。而无论前台还是后台,都要对数据库进行调用和操作。因此如何创建网络数据库,以及客户端如何调用服务器端的数据库成为实现网上图书销售的一个关键性问题。

1.2问题的解决
在这里,我采用B/S模式来实现客户端对服务器端的调用,所谓B/S模式即浏览器/服务器模式,是一种从传统的二层C/S模式发展起来的新的网络结构模式。在B/S模式中,客户端运行浏览器软件。浏览器以超文本形式向Web服务器提出访问数据库的要求,Web服务器接受客户端请求后,将这个请求转化为SQL语法,并交给数据库服务器,数据库服务器得到请求后,验证其合法性,并进行数据处理,然后将处理后的结果返回给Web服务器,Web 服务器再一次将得到的所有结果进行转化,变成HTML文档形式,转发给客户端浏览器以友好的Web页面形式显示出来。

而对于网络数据库的创建,则是利用ASP技术来解决。ASP(Active Server Pages动态网页)是微软公司推出的一种用以取代CGI(Common Gateway Interface通用网关接口)的技术。目前,Internet上的许多基于Windows平台的Web站点已开始应用ASP来替换CGI。 简单地讲,ASP是一个位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式Web服务器应用程序,如交互式动态网页,包括使用HTML表单收集和处理信息,上传与下载等等。

在电子商务中,对用户而言,进行网上信息查询的目的是寻找自己需要的产品或服务,而对于商品或服务提供者来说,其目的则是向用户推销自己的产品或服务。因此,让用户通过浏览器查询服务器的后端数据库是许多Web服务提供者必需有的服务,ASP通过内置的ADODB组件来实现这一功能。可以使用ADO去编写紧凑简明的脚本以便连接到ODBC 兼容的数据库和 OLE DB 兼容的数据源。至于实现的细节,在后续部分的网络数据库章节中有详细介绍。

二.准备知识——ASP技术
2.1 ASP的简介
ASP(Active server pages)是一种类似HTML(Hypertext Markup Language超文本标识语言)、Script与CGI(Common GAteway Interface 通用网关接口)的结合体,但是其运行效率却比CGI更高、程序编制也比HTML更方便且更有灵活性,程序安全及保密性也比Script好。

HTML(Hypertext Markup Language)是一种超文本标识语言,文件通过这种格式可以在互连网上载送浏览,用户只要使用网页浏览器工具就可以浏览这些文件,目前比较常用的工具包括Microsoft Internet Explorer,Netscape Communicator等,由于HTML文件都是由标签(tag)所组成,因此它比较适合制作静态网页,再者,由于先天上的限制HTML是无法直接存取数据库的,所以存取数据库的工作大多是依靠CGI来处理。ASP不但可以包含HTML标签,也可以直接存取数据库及使用无限扩充的ActiveX控件,因此在程序编制上要比HTML方便而且更富有灵活性。ASP以HTML为基础,主体还是HTML代码,只是在需要ASP动态产生的地方加入ASP代码。ASP的最终显示结果也是HTML代码,可准确控制ASP的输出结果。

Script(脚本)是由一组可以在WEB服务器或客户端浏览器运行的命令组合而成,目前在网页编制上比较流行的脚本语言包括 VBScript,JavaScript。这些脚本大都是在客户端运行,因此,客户端可以很清楚的取得脚本的内容。所以,就安全性而言,这些客户端的脚本语言的确有危险。ASP虽然具有脚本语言的方便性,但由于他是在WEB服务器端运行,运行后再将运行结果以HTML格式传送至客户端的浏览器。因此ASP与一般的脚本语言相比,要安全的多。

2.2 ASP的特点
ASP可以和HTML或其它脚本语言(VBScript,JavaScript)相互嵌套
ASP是一种在WEB服务器端运行的脚本语言,程序代码安全保密
ASP以对象为基础,因此可以使用ActiveX控件继续扩充其功能
ASP内置ADO组件,因此可以轻松的存取各种数据库
ASP可以将运行结果以HTML的格式传送至客户端浏览器,因而可以适用与各种浏览器

2.3 ASP的工作原理
如果浏览器向IIS/PWS请求的是.HTM文件,那么IIS/PWS会直接把文件的内容传给浏览器.但如果浏览器向IIS/PWS请求的是.ASP文件,则IIS/PWS会首先解释文件.

IIS/PWS解释.ASP文件的过程中,遇到HTML标记或一般文字时会直接把读区的内容传给浏览器.但如果遇到<% %>的标记,则会把其中的内容视为程序,然后解释执行,但程序经过IIS/PWS解释执行后,其源程序代码不会传给浏览器,而只是把可显示的运行结果传给了浏览器
Active Server Page技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。ASP脚本是采用明文(plain text)方式来编写的。 ASP脚本是一系列按特定语法(目前支持vbscript和jscript两种脚本语言)编写的,与标准HTML页面混合在一起的脚本所构成的文本格式的文件。当客户端的最终用户用WEB浏览器通过INTERNET来访问基于ASP脚本的应用时,WEB浏览器将向WEB服务器发出HTTP请求。WEB服务器分析、判断出该请求是ASP脚本的应用后,自动通过ISAPI接口调用ASP脚本的解释运行引擎(ASP.DLL)。ASP.DLL将从文件系统或内部缓冲区获取指定的ASP脚本文件,接着就进行语法分析并解释执行。最终的处理结果将形成HTML格式的内容,通过WEB服务器"原路"返回给WEB浏览器,由WEB浏览器在客户端形成最终的结果呈现。这样就完成了一次完整的ASP脚本调用。若干个有机的ASP脚本调用就组成了一个完整的ASP脚本应用。

三.系统概述
3.1系统设计思想
整个系统是以ASP技术来开发,数据库的创建使用Microsoft Access ,对数据库的查询和调用是通过ASP内置的ADODB组件来实现的。

为了便于编程,前台的操作页面和后台的数据库管理页面的设计我是分别进行的。在整个程序编写完之后,在将后台的数据库管理页面通过管理员在前台的登录来调用,这样就把前台和后台有机的连接起来,使操作更加方便。当用户以会员身份登录调用执行的是前台的操作页面,而当以管理员身份登录时,则进入后台管理页面来对数据库进行操作。而对于前台购物操作中的核心部分——购物篮的实现,这将在后面的功能模块设计章节中做详细阐述。

3.2系统总体结构图

由图可以看出,系统是基于B/S模式开发的。

3.3系统功能模块图

四.系统网络数据库的建立
4.1系统数据源的设置
省略

4.2 表、关系模型和数据库的概述
省略

4.3 范式与建表的规范化
省略

4.4系统数据库的详细建立

建立数据库表(SuperMarket_Data.mdb)

4.4.1用户信息数据表(RegUser)
字段名 数据类型 字段大小 字段说明
UserID 文本 20 会员帐号
Name 文本 30 会员姓名
PassWD 文本 30 用户密码
WtPass 文本 30 密码提示问题
DaPass 文本 30 密码提示答案
Sex 文本 10 性别
Email 文本 30 电子信箱
Phone 文本 30 联系电话
Address 文本 50 联系地址
Zip 文本 20 邮编
RegTime 日期/时间 默认值Now() 注册时间

4.4.2管理员信息表(Manage_User)
字段名 数据类型 字段大小 字段说明
Id 自动编号 长整型 管理员编号
UserName 文本 20 管理员帐号
PassWord 文本 20 管理员密码

4.4.3商品大类表(Class_1)
字段名 数据类型 字段大小 字段说明
ID 长整型 自动 大类编号
Class_1_Name 文本 30 大类名称
Class_1_RegTime日期/时间 默认值Now() 添加时间

4.4.4商品小类表(Class_2)
字段名 数据类型 字段大小 字段说明
ID 长整型 自动 小类编号
Class_2_Name 文本 30 小类名称
Class_1_Name 文本 30 所属大类名称
Class_2_RegTime 日期/时间 默认值Now() 添加时间

4.4.5商品表(Product)
字段名 数据类型 字段大小 字段说明
Product_Id 长整型 10 商品编号
Product_Name 文本 30 商品名称
Class_1 文本 30 所属大类
Class_2 文本 30 所属小类
Product_Intro 文本 50 商品说明
Product_Show 文本 50 商品简介
P_NewPrice 货币 自动 会员价格
P_OldPrice 货币 自动 市场价格
P_Pic 文本 50 商品微缩图
P_Full_Pic 文本 50 商品全景图
RegTime 日期/时间 默认值Now() 商品录入时间
Look_Count 长整型 自动 商品浏览次数

4.4.6购物篮表(ShopList)
字段名 数据类型 字段大小 字段说明
Product_Id 长整型 10 商品编号
Form_Id 长整型 自动 所属订单号
Product_Name 文本 30 商品名称
Number 文本 255 购物数量
P_NewPrice 货币 自动 会员价格
RegTime 日期/时间 默认值Now() 购物时间

4.4.7订单表(OrderList)
字段名 数据类型 字段大小 字段说明
Form_ID 长整型 自动 订单号
User_ID 文本 20 会员帐户名
Name 文本 20 会员姓名
Zip 文本 20 邮编
Phone 文本 30 联系电话
Email 文本 30 电子信箱
Address 文本 50 联系地址
Pays 文本 20 付款方式
RegTime 日期/时间 默认值Now() 订货时间
Flag 文本 20 标记
Remark 文本 255 备注

说明:所建立的数据库文件(SuperMarket_Data.mdb)保存在文件夹market_database下,为防止别人随意篡改数据库,故将其后缀名改为.asp来调用。

五.系统功能模块设计
5.1客户端
5.1.1购物篮
在设计购物篮中,首先要考虑到的是购物篮中商品信息的存储,而且在整个的商品购买中没有改变,这里就要用到ASP中的内置Session组件,它是访问者从的到达某个特定主页到离开为止的那段时间,服务器端给他分配一个用来储存信息的全局变量的集合,这些变量可以自动生成,也可以是程序人员在服务器端脚本程序中定义的。

Session可以用来存储访问者的特定信息,创建访问者信息容器。我们使用它来作为虚拟购物篮,无论什么时候用户在我网站中选择了一种商品,那么这种商品就会进入购物篮,当用户准备离开时,就可以立即进行以上所有选择的商品的订购。这些购物信息可以保存在 Session中。用户在Web应用程序中访问同一页面时,Session变量始终存在,当用户在应用程序的页之间跳转时,存储在Session对象中的变量也不会清除。

在建立购物篮中,其实是对全局变量的操作。在这里我定义了一个全局变量:ProductList = Session(“ProductList”),将购物信息保存到此全局变量中。另外还定义了一个全局变量Products,通过函数PutToShopBag()将ProductList的值赋给Products,使用函数Split()将读取到的字符串进行分割,以得到购物信息:Products = Split(Request(“cpbm”), ", ")。

建立购物篮的详细代码/

ProductList = Session("ProductList")
Products = Split(Request("cpbm"), ", ")
For i=0 To UBound(Products)PutToShopBag Products(i), ProductList
Next
Session("ProductList") = ProductList/*函数PutToShopBag()代码*/
<%
Sub PutToShopBag( cpbm, ProductList )If Len(ProductList) = 0 ThenProductList = "'" & cpbm & "'"ElseIf InStr( ProductList, cpbm ) <= 0 ThenProductList = ProductList & ", '" & cpbm & "'"End If
End Sub
%>

购物篮界面如下图所示:

在我的购物篮中可操作的事件为:
◇ 确认更改:在数量项目文本框中可以更改数目,该事件是用以更新购物篮中的商品数量;
◇ 继续购物:该事件是关闭窗口;
◇ 订单取消:该事件清空购物篮;
◇ 去收银台:该事件是用来关闭窗口并重新打开新的窗口。

除了购物篮中的可视化操作外,还有就是商品购入事件(即在网上商店的点击购买的事件)。现在我们称这些事件是用来触发购物篮中的工作模式,在每次的触发模式时,都有一个传递的数值变量通过来判断触发的是哪个工作模块。下面详细介绍购物篮(check.asp)各工作模式的具体实现:

  1. Add模式(购买添加)
    用户点击他想购买的商品的“订购”链接时,通过调用函数OpenBag()来打开页面check.asp,“订购”链接把有关商品信息的资料字符传到check.asp,如下例:
function openbag(id) {window.open("check.asp?cpbm="+id,"","height=200,width=600,left=190,top=0,resizable=yes,scrollbars=yes,status=no,toolbar=no,menubar=no,location=no");}

在该触发事件触发时,执行check.asp,

对购物车执行了这次添加后,大部分其余的ASP代码就不再执行,因为它应用于其他的工作模式,模式的选择都是采用IF语句来实现的,而每次check.asp只会在一个模式下工作的。

  1. Record模式(更新数量)
    该模式用于顾客项购买多件货物时,自动重新计算所需的货物总价格。用户以用它马上看到改过的数量后的结果。
    如下面的语句:
Sum = 0While Not rs.EOFQuatity = CInt( Request( "Q_" & rs("Product_Id")) )If Quatity <= 0 Then Quatity = CInt( Session(rs("Product_Id")) )If Quatity <= 0 Then Quatity = 1 end ifEnd IfSession(rs("Product_Id")) = Quatity
Sum = Sum + ccur(rs("P_NewPrice")) * Quatity

在输入文本框中时,该程序将对其输入的值进行判断,是否是数字的字符,以避免存储出错,造成不必要的麻烦。其判断函数如下(采用Javascript脚本语言编写):

//功能介绍:检查是否为数字
//参数说明:要检查的数字
//返回值:1为是数字,0为不是数字
function fucCheckNUM(NUM)
{var i,j,strTemp;strTemp="0123456789";if ( NUM.length== 0)return 0for (i=0;i<NUM.length;i++){j=strTemp.indexOf(NUM.charAt(i));  if (j==-1){//说明有字符不是数字return 0;}}//说明是数字return 1;
}

这种预先判断的处理方式,很大的程度上解决了非法输入对后面的存储所带来的一系列问题。

  1. DelAll模式(清空购物篮)
    这个是对购物篮的商品进行清空的处理,其实就是对全局变量ProductList赋空值(Session(“ProductList”) = “”)。通过调用函数clean()来执行clear.asp.

  2. LinkTo模式(去收银台)
    οnclick=“window.opener.location.href=‘PayMent.asp’;window.close();”
    该模式通过点击触发事件onclick来调用并执行PayMent.asp,并关闭当前购物篮。该事件不能对所购买的商品数量的更改而更改,只能通过确认更改来实现。

  3. 继续购物
    该摸块也是调用Window对象中的window.close()函数,它回自动的关闭购物篮的窗口,该事件也不能对所购买的商品数量的更改而更改。

说明:在这里会出现一种情况,就是说如果未购买任何商品的话,则将返回一提示信息。

5.1.2会员注册
会员注册页面:

在会员注册中,首先是检查该顾客所申请的用户名是否以被人申请了,若已被人申请了该用户名,则系统将提示给用户“该用户名已存在”的信息。其方法还是使用对数据库的操作:

set rs=server.createobject("adodb.recordset")
sqltext="select * from RegUser where UserId='" & request.form("uid") & "'"
rs.open sqltext,conn,1,1

'查找数据库,检查用户名是否已经注册过

if rs.recordcount >= 1 then if rs("userid")=request.form("uid") thenResponse.Redirect "messagebox.asp?msg=此用户名已经注册过,请选用其他用户名!"response.endrs.closeend if
end if

之后进入用户详细资料登记的页面(Reg_User_OK.asp):

另外还将调用页面Reg_User_2.asp,它将使用大量的Javascript的语言开发的程序,用来检查用户填入字符的正确性。其主要的程序看后面源程序代码,详细的介绍各程序单元所完成的功能和作用。

在用户登记个人的详细资料时,仍然使用ASP中的Recordset的对象,对数据库进行添加的操作,其方法如下:

rs.addnew
rs("UserId")=request.form("uid")
rs("PassWD")=request.form("pwd")
rs("WtPass")=request.form("question")
rs("DaPass")=request.form("answer")
rs("Name")=request.form("Name")
rs("Sex")=request.form("Sex")
rs("Email")=request.form("Email")
rs("Phone")=request.form("usephone")
rs("Address")=request.form("haddr")
rs("Zip")=request.form("postcode")
rs.update
%>
<%
set rs_detail=server.createobject("adodb.recordset")
sqltext2="select * from RegUser where UserId='" & request.form("uid") & "'"
rs_detail.open sqltext2,conn,1,1

申请成功后进入提示界面,告诉用户已经申请成功。

5.1.3商品查询
首先在主页面default.asp中实现以商品大类方式的查询:

While Not rs_class_1.EOFset rs_class_2=server.createobject("adodb.recordset")sqltext3="select * from Class_2 where Class_1_Name='" & rs_class_1("Class_1_Name") & "'"rs_class_2.open sqltext3,conn,1,1

如果在文本输入框中输入了商品名称,则调用执行

ProductSearch.asp:
ProductClass_2=request("ProductClass_2")
set rs=server.createobject("adodb.recordset")
sqltext="select * from Product"
if request("Product_Name")<>"" thensqltext=sqltext &" where  Product_Name like '%"& request("Product_Name") &"%' "elsesqltext=sqltext &" where Product_Name like '%"& "" &"%' "end ifif request("Product_Class")<>"" thensqltext=sqltext &" and Class_1 like '%"& request("Product_Class") &"%' "end if
rs.open sqltext,conn,1,1

5.1.4订单查询

Form_ID = Request.form("Form_Id")
IF Session("LoginSuccess")="" Thenresponse.redirect "FindOrderLogin.asp"
Elseset Rs3 = Server.CreateObject("ADODB.recordset")sql3="select * from OrderList where Form_Id="&Form_Id&""rs3.open sql3,conn,1,1IF  rs3.RecordCount >=1  thenIF Session("LoginSuccess")=rs3("User_Id") Then

查询成功的页面:

在这里,如果查询的不是属于当前用户自己的订单,则返回出错信息:

response.redirect “messagebox.asp?msg=您不能查看不属于您的订单,请重新输入您自己的订单号!”

5.2后台管理端

后台管理的功能主要包括:商品的添加、商品的审查、订单的处理、发或的查询、会员的审查以及管理员的添加和审查。

5.2.1商品的添加
商品的添加功能是通过三个步骤来实现的:商品大类添加、商品小类的添加、商品的添加。
(1) 大类添加

    function FORM1_onsubmit()
{if(document.FORM1.class_name.value.length<1){alert("您必须输入商品大类名称!");document.FORM1.class_name.focus();return false;}
sqltext="select * from Class_1 where Class_1_name='" & request.form("class_name") & "'"
rs.open sqltext,conn,1,1'查找数据库,检查商品大类是否已经存在
if rs.recordcount >= 1 then if rs("Class_1_name")=request.form("class_name") thenResponse.Redirect "messagebox.asp?msg=此商品大类已经存在,请选用其它名称!"response.endrs.closeend if
end ifset rs=server.createobject("adodb.recordset")
sqltext="select * from Class_1"
rs.open sqltext,conn,3,3
'添加一个商品大类到数据库
rs.addnew
rs("Class_1_name")=request.form("class_name")
rs.update
<%
set rs_detail=server.createobject("adodb.recordset")
sqltext2="select * from Class_1 where Class_1_name='" & request.form("class_name") & "'"
rs_detail.open sqltext2,conn,1,1
%>

大类添加页面:

(2) 小类添加

function FORM1_onsubmit()
{if(document.FORM1.class_2_name.value.length<1){alert("您必须输入商品小类名称!");document.FORM1.class_2_name.focus();return false;}set rs=server.createobject("adodb.recordset")
sqltext="select * from Class_2 where Class_2_name='" & request.form("class_2_name") & "' and Class_1_name='" & request.form("class_1_name") & "'"
rs.open sqltext,conn,1,1'查找数据库,检查商品小类是否已经存在
if rs.recordcount >= 1 then if rs("Class_2_name")=request.form("class_2_name") thenResponse.Redirect "messagebox.asp?msg=此商品小类已经存在,请选用其它名称!"response.endrs.closeend if
end if
set rs=server.createobject("adodb.recordset")
sqltext="select * from Class_2"
rs.open sqltext,conn,3,3
'添加一个商品小类到数据库
rs.addnew
rs("Class_2_name")=request.form("class_2_name")
rs("Class_1_name")=request.form("class_1_name")
rs.updateset rs_detail=server.createobject("adodb.recordset")
sqltext2="select * from Class_2 where Class_2_name='" & request.form("class_2_name") & "' and Class_1_name='" & request.form("class_1_name") & "'"
rs_detail.open sqltext2,conn,1,1

小类添加页面:

(3) 商品的添加

//所属大类
<%
set rs=server.createobject("adodb.recordset")
sqltext2="select * from Class_1 "
rs.open sqltext2,conn,1,1
%>
//所属小类
<%
set rs=server.createobject("adodb.recordset")
sqltext2="select * from Class_2 where Class_1_name='" & request.form("class_1_name") & "'"
rs.open sqltext2,conn,1,1
%>
//函数名:fucCheckNUM
//功能介绍:检查是否为数字
//参数说明:要检查的数字
//返回值:1为是数字,0为不是数字
function fucCheckNUM(NUM)
{var i,j,strTemp;strTemp="0123456789.";if ( NUM.length== 0)return 0for (i=0;i<NUM.length;i++){j=strTemp.indexOf(NUM.charAt(i)); if (j==-1){//说明有字符不是数字return 0;}}//说明是数字return 1;
}set rs=server.createobject("adodb.recordset")
sqltext="select * from Product where Product_name='"& request.form("p_name") & "'"
rs.open sqltext,conn,1,1
'查找数据库,检查商品是否已经存在
if rs.recordcount >= 1 then if rs("Product_name")=request.form("p_name") thenResponse.Redirect "messagebox.asp?msg=此商品已经存在,请添加其他商品!"response.endrs.closeend if
end ifset rs=server.createobject("adodb.recordset")
sqltext="select * from Product"
rs.open sqltext,conn,3,3
'添加一个商品到数据库
rs.addnew
rs("Class_2")=request.form("class_2_name")
rs("Class_1")=request.form("class_1_name")
rs("Product_name")=request.form("p_name")
rs("Product_intro")=request.form("p_intro")
rs("Product_show")=request.form("p_show")
rs("P_newprice")=request.form("newprice")
rs("P_oldprice")=request.form("oldprice")
rs("P_pic")=request.form("p_pic")
rs("P_Full_pic")=request.form("p_full_pic")
rs.updateset rs_detail=server.createobject("adodb.recordset")
sqltext2="select * from Product where Product_name='"& request.form("p_name") & "'"
rs_detail.open sqltext2,conn,1,1

商品添加的页面:


5.2.2商品的审查

<%
set rs=server.createobject("adodb.recordset")
sqltext="select * from Product"
rs.open sqltext,conn,1,1dim MaxPerPage
MaxPerPage=20'假如没有数据时
If rs.eof and rs.bof then call showpagesresponse.write "<p align='center'><font color='#ff0000'>还没任何商品资料</font></p>"response.end
End if

商品审查页面:

商品审查包括对商品的编辑和对商品的删除操作。
(1)商品编辑:
编辑操作是调用Product_Modify.asp页面对商品信息进行编辑修改,然后调用Product_Modify_Ok.asp页面将修改后的信息添加到商品表(Product)中。

set rs=server.createobject("adodb.recordset")
sqltext="select * from Product where Product_no=" & request.form("product_no")
rs.open sqltext,conn,3,3'更新商品到数据库
rs("Class_2")=request.form("class_2_name")
rs("Class_1")=request.form("class_1_name")
rs("Product_name")=request.form("p_name")
rs("Product_intro")=request.form("p_intro")
rs("Product_show")=request.form("p_show")
rs("P_newprice")=request.form("newprice")
rs("P_oldprice")=request.form("oldprice")
rs("P_pic")=request.form("p_pic")
rs("P_full_pic")=request.form("p_full_pic")
rs.update
rs.close
conn.close
response.redirect "product_check.asp"

(2)商品删除:

调用页面Del_Product.asp来实现:
<%dim SQL, Rs, contentID,CurrentPageCurrentPage = request("Page")contentID=request("ID")set rs=server.createobject("adodb.recordset")sqltext="delete from Product where Product_No="& contentIDrs.open sqltext,conn,3,3set rs=nothingresponse.redirect "product_check.asp?page="&CurrentPage
%>

5.2.3订单的审查
订单审查的页面:

订单审查实现了两个功能:处理订单和删除订单。
(1) 处理订单:

set rs=server.createobject("adodb.recordset")
sqltext="select Flag from OrderList where Form_Id=" & request("Form_Id")
rs.open sqltext,conn,1,1
if rs("Flag")="已经发货" thenrs.closeResponse.Redirect "ordermessagebox.asp?msg=此订货单您已经做过了发货处理!"
Elseset rs=server.createobject("adodb.recordset")sqltext="update OrderList set Flag='"&djfc&"' where Form_Id=" & request("Form_Id")rs.open sqltext,conn,3,3response.redirect "ordermessagebox.asp?msg=订货单处理处理完毕,请按客户详细地址发货!"
end if

(2) 删除订单:
在这里,我使用了一个java脚本,定义了删除函数:

<script language="javascript">function confirmdel(id,page){if (confirm("真的要删除这个订单?")) window.location.href="del_orderlist.asp?id="+id+"&page="+page}
</script>

通过它来调用删除页面(Del_Orderlist.asp):

<%dim SQL, Rs, contentID,CurrentPageCurrentPage = request("Page")contentID=request("ID")set rs=server.createobject("adodb.recordset")sqltext="delete from OrderList where Form_Id="& contentIDrs.open sqltext,conn,3,3set rs=nothingset rs=server.createobject("adodb.recordset")sqltext="delete from ShopList where Form_Id="& contentIDrs.open sqltext,conn,3,3set rs=nothingresponse.redirect "orderlist_check.asp?page="&CurrentPage
%>

5.2.4会员的审查
会员审查的页面:

会员的审查实现了两个功能:会员资料的查看和会员帐号的删除。

(1) 会员资料的查看:
调用页面(User_Detail.asp)来实现

id=request("id")
page=request("page")
set rs=server.createobject("adodb.recordset")
sqltext="select * from RegUser where Id=" & id
rs.open sqltext,conn,1,1

(2) 会员的删除:
与订单的删除类似,我也定义了一个java脚本来调用页面(Del_User.asp)来实现删除操作:

<script language="javascript">function confirmdel(id,page){if (confirm("真的要删除这个用户?")) window.location.href="del_user.asp?id="+id+"&page="+page}
</script>im SQL, Rs, contentID,CurrentPageCurrentPage = request("Page")contentID=request("ID")set rs=server.createobject("adodb.recordset")sqltext="delete from RegUser where Id="& contentIDrs.open sqltext,conn,3,3set rs=nothingresponse.redirect "user_check.asp?page="&CurrentPage

5.2.5管理员添加

set rs=server.createobject("adodb.recordset")
sqltext="select * from Manage_User where UserName='" & request.form("uid") & "' and PassWord='" & request.form("pwd1") & "'"
rs.open sqltext,conn,1,1'查找数据库,检查此管理员是否已经存在
if rs.recordcount >= 1 then if rs("UserName")=request.form("uid") thenResponse.Redirect "messagebox.asp?msg=此管理员帐号已经存在,请选用其它名称!"response.endrs.closeend if
end if
set rs=server.createobject("adodb.recordset")
sqltext="select * from Manage_User"
rs.open sqltext,conn,3,3'添加一个管理员帐号到数据库
rs.addnew
rs("UserName")=request.form("uid")
rs("PassWord")=request.form("pwd1")
rs.update
Response.Redirect "manager_list.asp

管理员添加页面:

5.2.6管理员审查
管理员审查页面:

六.结束语
在历时将近三个月的时间里,我的毕业设计是从学习新的知识(ASP语言和HTML语言),到建立网上图书销售系统的网站。我遇到了若干的问题和解决了不少的问题,现在还有未知安全性和可靠性的未能发现和解决。

从建立自己的虚拟服务器,到网站服务,我对电子商务认识的无到有,有了具体详细的认识。在我们所建立的网上图书销售系统只是一个网上的购物的基本原理,里面要涉及到的方方面面的问题我们未曾遇到或现有的条件限制而未能实现。电子商务并不是我们想象的写程序那么简单,它包括了编写程序、数据库设计、网页制作、图象处理、版面设计、数据采集、文本编辑、服务器管理等等,要搞好一个好的,完善的网站需要一个详细的、合理的、可行性的规划设计。

省略

七.致 谢
省略

八.参考文献
1)《网页设计与Web数据库发布技术》 魏应彬 周星 编著 清华大学出版社

2)《ASP开发实例》 清汉计算机工作室编著 机械工业出版社

3)《ASP实例演练之组建商务网站》 洪传华 编著 中国电力出版社

4)《动态Web应用高级开发指南》康博创作室 余波 等编著 人民邮电出版社

5)《ASP动态网站之旅》 李福荣 曹庆臻 编著 人民交通出版社

6)《ASP数据库开发实例解析》李严 于亚芳 王国辉 编著 机械工业出版社

附录1 英文文献翻译
原文:
省略

中文翻译:
省略


5、资源下载

本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。

序号 毕业设计全套资源(点击下载)
本项目源码 基于asp+access的网上图书销售系统设计与实现(源码+文档)_asp_BS架构_网上图书销售系统.zip

asp毕业设计——基于asp+access的网上图书销售系统设计与实现设计与实现(毕业论文+程序源码)——网上图书销售系统相关推荐

  1. asp毕业设计——基于vb+VB.NET+SQL Server的网上图书预约系统设计与实现(毕业论文+程序源码)——图书预约系统

    基于vb+VB.NET+SQL Server的网上图书预约系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于vb+VB.NET+SQL Server的网上图书预约系统设计与实现,文章末尾 ...

  2. asp毕业设计——基于asp+access的新闻发布系统设计与实现(毕业论文+程序源码)——新闻发布系统

    基于asp+access的新闻发布系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的新闻发布系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下载开 ...

  3. asp毕业设计——基于asp+access的学生成绩查询系统设计与实现(毕业论文+程序源码)——成绩查询系统

    基于asp+access的学生成绩查询系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的学生成绩查询系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦. ...

  4. C#毕业设计——基于C#+asp.net+sqlserver的图书销售管理系统设计与实现(毕业论文+程序源码)——图书销售管理系统

    基于C#+asp.net+sqlserver的图书销售管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+sqlserver的图书销售管理系统设计与实现,文章末尾 ...

  5. C#毕业设计——基于C#+asp.net+sqlserver的网上鲜花销售系统设计与实现(毕业论文+程序源码)——鲜花销售系统

    基于C#+asp.net+sqlserver的网上鲜花销售系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+sqlserver的网上鲜花销售系统设计与实现,文章末尾 ...

  6. C#毕业设计——基于C#+asp.net+sqlserver的网上人才招聘系统设计与实现(毕业论文+程序源码)——人才招聘系统

    基于C#+asp.net+sqlserver的网上人才招聘系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+sqlserver的网上人才招聘系统设计与实现,文章末尾 ...

  7. asp毕业设计——基于asp+access的在线教育系统设计与实现(毕业论文+程序源码)——在线教育系统

    基于asp+access的在线教育系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的在线教育系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦. 文章目录 ...

  8. asp毕业设计——基于asp+access的网络办公系统设计与实现(毕业论文+程序源码)——网络办公系统

    基于asp+access的网络办公系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的网络办公系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下载开 ...

  9. asp毕业设计—— 基于asp+access的酒店房间预约系统设计与实现(毕业论文+程序源码)——酒店房间预约系统

    基于asp+access的酒店房间预约系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的酒店房间预约系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦. ...

  10. C#毕业设计——基于C#+asp.net+SQL Server的电子书城系统设计与实现(毕业论文+程序源码)——电子书城系统

    基于C#+asp.net+SQL Server的电子书城系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+SQL Server的电子书城系统设计与实现,文章末尾附有 ...

最新文章

  1. linux 新增swap分区
  2. ubuntu 终端常用命令
  3. java集群调度_Cuckoo-Schedule
  4. 计算机机房消防安全工作应急预案
  5. DataGrid内容的导出
  6. boot整合redis
  7. 你需要知道的那些 redis 数据结构(前篇)
  8. Confluence 6 配置 workbox 通知
  9. python 命令行 模块_深入浅析Python 命令行模块 Click
  10. Android——最全的系统对话框(AlertDialog)详解
  11. npm创建react项目
  12. 布隆过滤器实现原理及源码解析
  13. java中猜字母_Java有大神会写 猜字母游戏
  14. websockets_WebSockets简介
  15. 机器学习之分类算法--mnist手写体识别
  16. 精美的手机WEB网页欣赏
  17. 情报研判分析系统开发,可视化大数据研判平台建设
  18. 无线上网设备大集合,看看你的设备最适合哪种?
  19. vue导入导出excel组件封装
  20. 论文笔记:BPR-Bayesian Personalized Ranking from Implicit Feedback | 推荐系统BPR算法分析

热门文章

  1. css绝对定位的三种方法
  2. 学习安装libigl库
  3. 更改浮点型数据显示小数位数的方法
  4. 安卓内嵌浏览器打开不微信等外部app的问题
  5. 【图片新闻】美国海军新型核弹头W-76-2将于2019年底交付
  6. Day 12 狂神说Java基础笔记(JVM01-14)
  7. SSL和HTTPS两者有什么区分?
  8. 学习编程语言必须掌握哪些计算机基础知识?
  9. 轻松玩转树莓派Pico之六、pico-project-generator使用
  10. Android 双卡铃声设置