您的当前位置:首页正文

基于ASP技术的电子商务网站的设计

2022-11-15 来源:我们爱旅游


基于ASP技术的电子商务网站的设计

学生姓名:张 涛 指导教师:张志强

【摘要】 随着Internet技术的发展,人们的日常生活已经离不开网络。未来社会人们的生活和工作将越来越依赖于数字技术的发展,越来越数字化、网络化、电子化、虚拟化。电子商务也随着网络的发展日益和人们的生活贴近。本设计尝试用ASP在网络上架构一个动态的电子商务网站,以使每一位顾客不用出门在家里就能够通过上网来轻松购物。在本设计中,我主要完成了后台功能的实现,实现了登录功能,图书管理,图书分类管理,订单管理,用户管理等功能。 本文中所做的主要工作如下:

(1)简单介绍了电子商务,分析了电子商务的现状; (2)介绍了IIS+ASP系统的一般原理;

(3)阐述整个系统的系统结构及工作原理;分析了系统实现中的特殊性、难点和重点; (4)分析并解决实现中的若干技术问题; 【关键词】 Internet ASP 电子商务 网上书店

一、 选题背景

1.1电子商务简介:

电子商务是一种依托现代信息技术和网络技术,集金融电子化、管理信息化、商贸信息网络化为一体,旨在实现物流、资金流与信息流和谐统一的新型贸易方式。电子商务在互联网的基础上,突破传统的时空观念,缩小了生产、流通、分配、消费之间的距离,大大提高了物流、资金流和信息流的有效传输和处理,开辟了世界范围内更为公平、公正、广泛、竞争的大市场,为制造者、销售者和消费者提供了能更好地满足各自需求的极好的机会。

电子商务与传统商业方式相比,具有如下特点:

1)精减流通环节。电子商务不需要批发商,专卖店和商场,客户通过网络直接从厂家定购产品。 2)节省购物时间,增加客户选择余地。电子商务通过网络为各种消费需求提供广泛的选择余地,可以使客户足不出户便能购买到满意的商品。

3)加速资金流通。电子商务中的资金周转无须在银行以外的客户、批发商、商场等之间进行,而直接通过网络在银行内部帐户上进行,大大加快了资金周转速度,同时减少了商业纠纷。 4)增强客户和厂商的交流。客户可以通过网络说明自己的需求,定购自己喜欢的产品,厂商则可以很快地了解用户需求,避免生产上的浪费。

5)刺激企业间的联合和竞争。企业之间可以通过网络了解对手的产品性能与价格以及销售量等信息,从而促进企业改造技术,提高产品竞争力。

在我国,电子商务的发展速度很快,根据CNNIC的统计结果,截止2005年1月中国有互联网用户9800万人,而又有30.2%以上的网民在过去的一年里有过网上购物的经历,并且人数还在以8%左右的速度增长,预计到2006年中国网上购物用户将达到4000万人,这说明在中国发展网上购物具有良好的群众基础,网上购物方式日趋被大家所接受。 1.2电子商务的商业模式

1

获得业内一致认同的分类方法是把企业和消费者作为划分标准,分别划分出企业-企业(B2B)、企业对消费者(B2C)、消费者对企业(C2B)和消费者对消费者(C2C)等模式。

(1)B to B(商家对商家):主要是指企业与企业之间进行的电子商务活动,也成为批发电子商务。

(2)B to C(商家对个人消费者):指的是企业与消费者之间进行的电子商务活动,这类电子商务主要是借助于国际互联网所开展的在线销售活动。从技术角度看,企业上网面对广大的消费者,并不要求双方使用统一标准的单据传输,在线零售和支付行为通常只涉及到信用卡、电子货币或电子钱包。另外,Internet所提供的搜索浏览功能和多媒体界面,使消费者更容易查找适合自己需要的产品,并能够对产品有更深入的了解,因此,开展B to C的电子商务,障碍最少,应用潜力巨大。就目前发展看,这类电子商务仍将持续发展,是推动其它类型电子商务活动的主要动力之一。本次毕业设计就是一个B to C结构的网上书店系统。

(3)C to C(个人消费者对个人消费者):指的是消费者与消费者之间进行的电子商务活动,是美国eBay所采用的商业模式。结合国内电子商务尚未解决支付与货运的现状况,采用这种方式,可以让用户自己付费、运输和验货等问题。

(4)C to B(个人消费者对商家):这是目前在专业经营电子商务网站中较新的一种概念,也就是所谓的“倒转式的拍卖”。

另外还有消费者对行政机构的电子商务、商业机构对行政机构的电子商务等。 1.3目前网上购物的现状

以下是根据CNNIC(中国互联网络信息中心)公布的中国B2C电子商务发展报告来进一步分析目前的网上购物的现状。(主要引用其中的分析图表) 1.3.1 选择网上购物的原因

图1.1目前网上购物的现状

从上面的图可以看出网上购物选择节约时间和操作方便的分别占46.7%和44.2%,这说明随着生活节奏的加快,人们越来越希望拥有简单快捷的购物方式。 1.3.2用户实际购买过和希望网络提供的商品种类

2

图1.2用户实际购买过和希望网络提供的商品种类

与以往调查结果相类似,\"书刊\"仍然是用户在网上购买最多的商品,58.7%的用户过去一年内在网上购买过书刊;\"电脑的相关产品\"及\"音像器材及制品\"分别以35.5%和29.5%的被选率位居第二、三位;\"通讯类\"(18%)、\"礼品服务\"(13.8%)、\"教育学习服务\"(12.9%)和\"生活、家居类\"(11.8%)也是用户购买较多的商品。

当问及用户希望网络能更多的提供哪些种类的产品时,\"书刊\"(51.5%)、\"电脑的相关产品\"(46.4%)、\"教育学习服务\"(33.6%)是用户提及最多的;其他提及较多的依次是\"音像器材及制品\"(31.5%)、\"通讯类\"(29.1%)、\"礼品服务\"(27%)、\"生活、家居类\"(24.8%)和\"票务服务\"(23.2%)。

由用户实际购买和期待购买的商品种类可以看出,价格相对较低的商品如图书、音像、软件、鲜花礼品、通讯产品、生活家居品、教育学习服务及票务服务等对网民而言更具有吸引力,是网上消费的主要热点;而购买卷入度高的大型家电、电子产品以及伴随着休闲行为的服装产品则相对冷清。可以预见,图书、音像、软件、鲜花礼品、通讯产品、生活家居品、教育学习服务及票务服务等仍然是未来几年内网上消费的主要热点。由此可见,网上书店有着很大的市场。 1.4题目来源

21世纪是网络时代。网络技术的飞速发展,极大地影响了商业交易中传统的交易方式和流通方式。本地书店,随着业务的不断扩大,书店的规模也不断扩大,迫切需要建立相应的网上书店。利用电子商务的优势同现有销售模式和流通渠道相结合,扩大消费市场,为书店的再发展带来新的商机,也为各地消费者提供便利,而且降低商业成本。 1.5销售可行性分析

提出开展电子商务地初步想法之后,接着是销售可行性分析,应为并不是任何产品和服务都是(1)目标市场情况。

用户一定是计算机用户。因此,针对计算机用户的产品容易获得成功。所以,建设一个以

3

和进行网上销售、建立网上商店。应该对市场情况及客户进行详细的分析。

销售计算机书籍为主的网上书店就非常符合这一点。最初使用网络的用户多为乐于接受新事物的人,对各种新观点、新变化持欢迎态度,所以介绍新事物的书籍也适合在网上销售。 (2)产品、服务与品牌。

如果产品与计算机有关,如在网上销售软件,则较容易成功。如果产品比较简单,用户教熟悉或易于理解、易于使用,则容易成功。书籍则很符合这一点。 (3)送货渠道。 (4)价格。

太便宜或太贵的产品都不易在网上成功。价格经常变动的商品易于及时在网上公布。电子商务所节省的成本越多越易于成功。

网上书店是针对上网用户,书籍产品的销售价格适中、易送达,通过上述分析可见计划是可行

二、 系统相关技术

2.1 Browser/Server体系

B/S结构的软件是相对传统的C/S结构而言的。C/S结构将程序分为两部分,一部分是由多个用户共享的信息与功能,这部分称为服务器端;另一部分是为每一个用户所专用,称为客户端。C/S结构应该具有这样的特征:客户端、服务器端都安装相应的软件,客户端、服务器端各完成相应的计算工作,服务器端保存数据库。而B/S结构应该具有如下特征:服务器端都安装相应的软件,客户端不安装任何软件(不需要维护)。客户端运行程序是靠浏览器软件(如IE ,Netscape等)登陆服务器进行的。客户端在浏览器里完成一定的计算任务。 2.2 Web数据库的访问方式

在Internet上服务器访问数据库的访问方式有多种、如公共网关接口CGI, Web服务器专用API, Java语言的数据库访问接口JDBC。CGI是一个用于定义Web服务器与外部程序之间通讯方式的标准。CGI的主要优点是能运行在各种平台上,可以用任何语言编程,主要缺点是当浏览器向CGI程序发出请求时,CGI执行的是另一种独立于Web服务器的系统进程,占用了CPU的资源,当大量用户向服务器请求文件时,会严重消耗服务器的系统资源。Web服务器专用API是各Web服务器生产厂家为扩展自己的Web服务器功能而设置的接口。由于它和Web服务器紧密结合,使得它的运行速度更快、效率更高,但它不具备跨平台性。本系统采用的是微软的Web服务器IIS(Internet Information Server),它的专用API是ISAPI 。JDBC是JAVA语言的数据库访问接口,将Java Applet嵌入在网页中,当客户浏览器向Web服务器发出请求时,Applet被下载到客户浏览器中运行,然后该Applet通过JDBC访问数据库。JDBC的数据库访问方式提供了高度的可扩充性和可移植性,但复杂的电子商务应用会导致Applet下载过大,从而影响了下载速度。 2.3 ASP技术

ASP技术的主要用途是制作动态的、交互的、高性能的Web应用程序,以前Web应用程序都是由(CGI公共网关界面来实现的),但由于CGI本身的一些缺点和限制(如较耗用系统资源、执行效率差等),人们都在寻找各种各样的替换方案,在这种情况下,Microsoft的ASP应运而生,再加上与Microsoft的IIS (Web服务器)和MTS(组件事务管理服务器)的组合,ASP已经成为Web应用程序开发的主要技术。Active Server Pages(动态服务器主页)简称ASP内含于Internet Information Server(IIS)中,它提供一个服务器端的脚本环境,可产生和执行动态、交互式、高效率网站服务器的应用程序。ASP既不是一种语言,也不是一种开发工具,而是一种技术框架,它能够把HTML、脚本语言、ActiveX组件等有机的组合在一起,形成一个能够在服务器上运行的应用程序,并把标准HTML页面送给客户

4

对于连锁经营,有全球的销售与服务渠道的企业,有利于网上销售成功。

的。

端浏览器。ASP内含六大内置对象,利用这些对象可以使ASP脚本功能更加强大,ASP具有强大的可扩展性,不仅可以使用ASP动态链接库和脚本运行期库自身提供的ActiveX组件,还可以从Internet上免费或有偿获得一些厂商开发的ActiveX组件,编程人员也可以自己开发内含商务逻辑的ActiveX组件。以下介绍ASP的工作原理和ASP的对象模型。 1. ASP的工作原理

基于ASP的页面以*.asp文件形式驻留在web服务器上。一个*.asp源文件是文本文件,可以包括以下成分:

文本 : 用于显示信息、页面标题等。 HTML标记 : 实现页面风格设计。 ASP脚本(Script Commands)

Web 服务

Windows NT 浏览器 标准HTML 页面 ADO HTTP请求 HS ASP引擎 *.asp 其他主件 脚本引擎 ODBC 数据库服务器

DBM数据库

图2.3 ASP的工作原理

图2.3显示了ASP的工作原理,当浏览器通过HTTP协议向web服务器申请一个由*.asp定义的页面时,web服务器响应HTTP请求,用ASP引擎解释被申请文件。当遇到ASP脚本命令时,ASP引擎调用相应的脚本引擎(脚本引擎以组件的形式驻留在web服务器上)进行处理。ASP提供两种脚本引擎,即VBScript引擎和VJScript引擎,若要使用其他脚本语言,需要在web服务器上另外安装相应的脚本引擎;当遇到基于COM标准的组件(组件本身是经过编译的可重用二进制码)时,ASP引擎启动相应的组件完成指定的功能。若ASP文件含有访问数据库的请求,ASP内置组件ADO(ActiveX Date Object) 通过ODBC与数据库连接,对数据库进行访问,并将访问结果返回web服务器。ASP引擎将脚本和组件的运行结果生成相应的HTML语法成分,与文件中原有的文本和HTML标记一起组成标准HTML页面送至客户端浏览器。 2. ASP对象模型

ASP具有强大的面向对象功能和可扩展性。ASP对象可分为以下三种类型:

(1)内置对象由ASP动态链接库提供的对象,有六个内置对象,是开发Web应用程序经常使用的对象。六个内置对象的主要功能如下:

Request对象:在HTTP请求期间,可利用Request对象获得客户端浏览器传递给服务器的值(包括查询字符串的变量值、Form表单中的元素值、Cookies的值等)。

5

Response对象:可以使用Response对象把变量值、函数返回值等输出到客户端浏览器;利用Response对象可将Cookies值写入客户端的计算机硬盘中等。

Application对象:浏览器和Web服务器的连接是无状态连接,即服务器处理完浏览器的HTTP请求后,立刻断开与浏览器的连接,忘记浏览器刚才请求的情况;服务器不能识别浏览器是第一次请求还是第一千次请求.这种无状态的连接方式使得Web服务器处理浏览器的请求可以更快、更有效,也不需要维护浏览器的信息,但它产生了一个Web应用程序如何实现变量共享的问题。ASP很好的解决了这一个问题,Application对象可以用来保存应用程序的所有用户的共享信息,可以在不同的用户之间实现Web应用程序变量的共享。

Session对象:Session对象主要用来保存属于一个用户的一个应用程序的信息,可让同一个用户在多个网页之间共享信息。

Objectcontext对象:主要用来处理与事务相关的问题,Objectcontext对象的使用与Microsoft Transaction Server(MTS)有着密切的联系。

ASPError对象:Web应用程序开发者运用该对象可以掌握因ASP所发生的错误。

(2)脚本对象:由ASP使用的脚本语言提供的对象,由脚本运行期库(scrrun.dll)提供。

(3)服务器组件;通常在其自己的DLL或可执行文件中实现。服务器组件可从Internet上无偿或有偿获得,一旦在服务器安装和注册这个DLL文件,那么其对象就可以在ASP所支持的任何脚本中使用,服务器组件充分体现了ASP的可扩展性。 2.4 SQL SERVER

SQL Server 2000是微软公司最新版的大型数据库服务器,其性能指标在各方面都有赶超Oracle数据库的趋势。在经历了SQL Server 6.5和7.0两个版本的尝试后,微软公司终于开始向大规模的业务领域进发了。它能使用户快捷地管理数据库和开发应用程序。SQL Server 2000使用了最先进的数据库结构,与Windows DNA紧密集成,具有强大的Web功能,它可以利用高端硬件平台以及最新网络和存储技术,为最大的Web站点和企业应用提供优良的扩展性和可靠性,使用户能够在Internet领域快速建立服务系统,为占领市场赢得宝贵的时间。同时,SQL Server 2000还为用户提供了重要的安全性能的增强,为用户的数据安全提供了可靠的保证。另外,SQL Server 2000在数据库服务器自动管理技术方面处于数据库领域的领先地位,它可以使用户免去繁琐复杂的工作量,从而有精力处理更重要的问题,使系统在商业战略上占得先机。

三、 系统的总体分析与设计

3.1需求分析

本网上书店系统是由用户使用的选购图书,生成订单。订单状态查询的程序和后台管理员使用的用户管理,图书管理,订单状态管理等组成的。 一个网上书店应该提供以下功能:

(1) 书籍分类的增加,查询和修改功能。所有的书籍都可以按照一定的方式实现分类。 (2) 各个分类中书籍的增加,修改,删除功能。每个分类中的图书都可以在这个系统中进行图

书的增加,修改或者删除。

(3) 图书展示功能。当管理员建好图书的分类和各个分类中的图书后,就可以使用图书展示程

序把图书按照一定的方式展示给用户。这部分程序分为5种:一种是最受欢迎的图书展示,即按照图书的购买次数进行排序展示;一种是根据图书的分类进行展示;一种是根据图书入库时间进行展示,即展示最新书籍;一种是展示推荐书目。另一种是根据用户的某种条件进行查询,例如:按照作者查询、按照出版社查询、按照书名关键字查询等,并对查询进行展示。用户可以通过这些功能进行书籍的挑选。

6

(4) 购物车功能。当用户选定一种图书后,就可以把这种图书放置到购物车中。需要注意的是,

在购物车中的图书并不是用户最终会得到的图书,只是一个购物的意向。

(5) 订单的生成、查询功能。当用户挑选好图书之后,可以把购物车中的图书形成一张订单提

交给系统。除了提交要购买的书籍外,还应该提交用户的电话和送货地点。用户提交订单后。可以通过订单查询程序来查询自己订单的处理情况。

(6) 订单处理功能。网上书店一般采用汇款和邮寄的方法进行交易,当管理员得到一个订单并

收到汇款后,可以开始处理订单。首先,管理员要看用户订购的图书是否有货,就可以把这个订单的实际交付数量修改为用户的订购数量,并把这个订单中该书的状态改为“已到款”(未经处理的书籍的状态为“未到款”)。如果不能够满足用户的要求,应该输入相关的原因。接下来是送货,送货多采用邮寄方式,当用户订购的图书邮寄出以后,就可以把订单的状态改为“已送货订单”;当确定图书已经到达客户手中后,交易就结束了,这时可以把订单状态改为“已经结束订单”。在交易结束后可以对已结束的订单进行删除。当然本系统简化了这一系列属于物流管理方面的操作过程,而直接由管理员统一进行这些状态的修改设置。

3.1.1网上书店各模块之间的关系:

图书分类 图书管理 订单管理 用户管理 管理员管理 后台

3.1.2后台管理流程分析图:(图见下页) 3.2系统开发环境

3.2.1系统的软硬件开发环境: (1)服务器的软硬件配置

服务器的硬件配置: CPU 奔腾4 2.0G,硬盘60G,内存256M 服务器的操作系统:Windows XP专业版

Web服务器软件:IIS 5.1(Internet Information Server) 数据库服务器软件:SQL Server 2000 (2)客户端的软硬件配置

客户端的硬件配置: CPU 赛阳800或以上,硬盘10G,内存64M 客户端操作系统:Windows 98以上

客户端浏览器软件:IE(Internet Explorer) 3.2.2系统的开发工具

由于系统的软件配置主要是基于Microsoft公司的软件,所以在系统的开发工具的选择上采用了Microsoft公司的软件开发工具,具体内容如下:

采用ASP技术、JavaScript脚本语言、VBScript脚本语言编写Web应用程序。

7

购物车 订单查询 数据库 图书查询 分类展示 前台

采用SQL Server 2000存储和管理数据。

开始 重试 用户登录 失败 成功 图书分类 图书管理 订单管理 用户管理 管理员管理 未到款订单 已到款订单 已发货订单 已结束订单

3.3数据库设计:

在信息世界中,信息从客观事物出发流经数据库,通过决策机构最后又回到客观世界,信息的这一循环经历了三个领域:信息世界,数据世界,现实世界。现实世界的事物反映到人的头脑中,人的大脑对它有个认识过程,经过分析(选择、命名、分类等)进入信息世界。这些信息再进一步加工、编码,然后进入数据世界,而软件系统的开发工作需要考虑这两个方面的问题,也就是要考虑系统开发所需要的数据,以及如何对这些数据进行操作。这两个问题贯穿了整个软件系统的开发过程,这也就是数据库的设计问题,软件设计的一个核心。

网上书店系统的主要对象是用户,所以必需建立用户表,包括用户的基本信息情况;用户的主要活动是对图书的购买,所以必需建立图书信息表;用户对图书的购买,选择所要的图书,首先得对图书进行搜索,所以我们把商品进行分类,建立图书类别表;最后用户提交订单,建立订单表;管理员是后台操作的用户,在此建立了管理员信息表。

经过分析,本系统的数据库中定义了5张表:图书类别表GoodType、图书信息表Goods、购物车表 Basket、用户表Users和管理员表Admin. 1. 图书类别表GoodType

图书类别表GoodType用来保存图书类别的信息。 编号 1 2 2. 图书信息表Goods

8

字段名称 Id Type 数据类型 int Varchar(50) 说明 分类编号 分类名称 图书信息表Goods用来保存图书的基本信息。 编号 字段名称 数据类型 说明 1 Id int 图书编号 2 TypeId int 图书类别 3 Name Varchar(50) 图书名称 4 ISBN Varchar(50) ISBN号 5 Producer Varchar(50) 出版社 6 Package bit 装祯 7 SalePrice float 售价 8 StorePrice float 进价 9 Content Varchar(1000) 图书简介 10 ReadCount int 阅读次数 11 BuyCount int 销售数量 12 ImageFile Varchar(50) 图片文件 13 Author Varchar(50) 作者 14 Format Varchar(50) 开本 15 Printed Varchar(50) 版次 16 Mdate Varchar(50) 出版日期 17 PageNum int 页数 18 HaveDisk bit 是否有光碟 19 BookNum Varchar(30) 库存数量 3. 购物车表 Basket

购物车表 Basket用来保存用户订购的图书信息。 编号 字段名称 数据类型 说明 1 Id int 编号 2 UserId Varchar(20) 用户名 3 GoodId int 图书编号 4 OrderTime datetime 订购时间 5 OrderCount smallint 订购数量 6 SalePrice float 销售价格 7 Userchecked tinyint 用户确认 8 OrderNumber Varchar(50) 订单号 9 PostTime datetime 提交时间 10 AdminChecked tinyint 管理员确认 4. 用户表Users

用户表Users用来保存注册用户的基本信息。 编号 字段名称 数据类型 说明 1 UserId Varchar(20) 用户名 2 Pwd Varchar(20) 密码 3 Username Varchar(50) 用户姓名 4 Sex bit 性别 9

5 6 7 8 9 10 5. 管理员表Admin

Address Email Telephone Mobile UserQQ PostCode Varchar(1000) Varchar(50) Varchar(100) Varchar(50) Varchar(50) Varchar(50) 地址 电子邮件 固定电话 移动电话 QQ 邮政编码 管理员表Admin用来存储系统管理员的基本信息。 编码 1 2 3

3.4系统详细设计以及关键代码分析

网上书店管理系统分为前台销售管理系统(网站)和后台管理系统。前台销售管理系统的用户是通过Internet访问网站的客户,后台管理系统的用户是通过Internet访问的后台管理员。 后台管理系统的设计与实现如下: 3.4.1登录设计

网站的管理界面只有管理员才能进入,在打开管理员界面前,首先将进入登录界面 当管理员提交数据后,将执行putsession.asp,把用户的信息保存在Session变量中,然后网页转向Login.asp,关键代码如下: <%

'根据录入的用户信息查询数据

AdminId = Trim(Session(\"admin_id\")) AdminPwd = Trim(Session(\"admin_pwd\")) If AdminId <> \"\" Then

sql=\"Select * From Admin Where AdminId= '\" & AdminId & \"' And Passwd='\" & AdminPwd & \"'\" Set rsa = Conn.Execute(sql)

'如果用户存在,则转向到GoodsType.asp If Not rsa.EOF Then

Response.Redirect(\"GoodsType.asp\") End If End If %>

管理员对后台管理的登录成功后的界面如图3.1所示。在此界面中,管理员可以查看已经处理后的订单,也可以处理用户新下的订单。还可以发布新书、添加书籍的类别(也可以在添加新书时添加类别),此外还有管理员管理和会员信息管理的功能。

字段名称 AdminId PassWd Name 数据类型 Varchar(20) Varchar(20) Varchar(50) 说明 用户名 密码 用户姓名 10

图 3.1 3.4.2图书分类管理设计

在图书分类管理中,主要实现了图书类别的添加、修改、删除。见图3.1。GoodType.asp是图书分类管理的主页面,每行显示一种类别,并在每行后面显示修改按钮和删除按钮,最下方为添加图书类别。处理添加、修改和删除操作的页面是GoodsTypeUP.asp,参数Oper的值为delete时,表示当前操作为删除图书类别,参数Oper的值为add时,表示当前操作为添加图书类别,参数Oper的值为edit时,表示当前操作为修改图书类别。 关键代码如下: <% Dim rs

Set rs = Server.CreateObject(\"ADODB.RecordSet\") '读取所有的图书类别数据到记录集rs中

sql = \"SELECT * FROM GoodsType ORDER BY Id\" rs.Open sql,conn,1,1 '处理添加、修改和删除操作 Dim Soperate

'读取参数oper,决定当前要进行的操作 Soperate = Request.QueryString(\"oper\") Operid = Request.QueryString(\"id\") '删除记录

If Soperate=\"delete\" Then

sqldelt = \"Delete From GoodsType Where id In(\"&Cstr(Operid)&\")\" Conn.Execute(sqldelt) '添加记录

ElseIf Soperate=\"add\" Then newTitle = Request(\"txttitle\") '判断数据库中是否存在此类别

sql = \"SELECT * FROM GoodsType WHERE Type='\" & newTitle & \"'\" Set rsInsert = Conn.execute(sql) '如果没有此类别名称,则创建新记录 If rsInsert.EOF Then

11

sql = \"Insert into GoodsType(type) values('\"&newTitle&\"')\" Conn.Execute(sql) End if '修改记录

ElseIf Soperate = \"edit\" Then newTitle = Request(\"txttitle\") orgTitle = Request(\"sOrgTitle\") '如果新类别名称和旧的不同则执行 If newTitle<>orgTitle Then '判断数据库中是否存在此类别

sql = \"Select * from GoodsType where Type='\"&newTitle&\"'\" Set rsInsert = Conn.Execute(sql) If rsInsert.EOF Then

Conn.Execute(\"Update GoodsType Set type='\"&newTitle&\"' Where id=\"&Cint(Operid)) End If End If End If

Response.Redirect\"GoodsType.asp\" %>

3.4.3 图书管理设计

GoodsList.asp页面是图书管理的主页,它的功能是按图书类别分页显示图书列表,并提供图书管理的界面。

界面如下:

在这个模块中,主要包括了以下功能: 1.添加图书 2.修改图书信息 3.删除图书

对于当前处理的图书类别,只显示类别名称,其他类别则需要显示超级链接,链接地址为GoodsList.asp,参数typeid表示要显示的图书类别编号,通过设置rs.pagesize和rs.pagecount,可以控制程序以分页的形式显示图书。

添加图书是在GoogsAdd.asp中运行的,这部分是通过表单实现。 界面如下:

12

编辑图书内容表单的代码如下:

表单名为myform.表单提交后,由GoodsSave.asp处理表单数据。在提交表单数据之前,程序将执行CHKField()函数,对用户输入数据的有效性进行检查,如书名、作者等不能为空。只有当CHKField()函数返回为真时,才执行提交的操作。同时GoodsSave.asp还执行图书的修改功能。

关键代码如下: <%

Function changechr(str)

changechr = Replace(str,\" \

changechr = Replace(changechr,Chr(13),\"
\") End Function Dim GName Dim StrAction

'得到动作参数,如果为add则表示添加新图书,如果为update则表示更改图书 StrAction = Request.QueryString(\"action\") '取得图书题目和内容和提交人用户名 GName = Trim(Request(\"name\")) GName = Replace(GName ,\"'\ AName = Trim(Request(\"author\")) AName = Replace(AName ,\"'\

rqtContent = changechr(Request(\"Content\")) '替换函数

rqtContent = Replace(rqtContent,\"'\ Set rs = Server.CreateObject(\"ADODB.RECORDSET\") If StrAction=\"add\" Then

'在数据库表Goods中插入新图书信息 sql=\"Select * from Goods\" rs.Open sql,Conn,1,3

rs.AddNew

rs(\"TypeId\") = CInt(Request.Form(\"TypeId\")) „ rs.Update

13

Else

'更改此图书信息

id = Request.QueryString(\"id\") sql = \"Update Goods Set

TypeId=\"&CInt(Request.Form(\"Typeid\"))&\Posttime='\"&now()&\"'\" &_

\,Mdate=\"&Request(\"mdate\")&\\ \ Conn.Execute(sql) End If

Set rs = Nothing %>

删除图书的操作定义在GoodsGelt.asp中,代码如下: <% Dim ids

ids = Request.QueryString(\"id\")

sql = \"Select * From Goods Where id In (\"&ids&\")\"

Set Rs = Conn.Execute(sql) Do While Not Rs.Eof '删除图片

filename = Server.MapPath(\"images\\\"&Rs(\"imageFile\"))

Set MyFileObject=Server.CreateObject(\"Scripting.FileSystemObject\") If (MyFileObject.FileExists(trim(filename))) Then MyFileObject.DeleteFile trim(filename) End If Rs.MoveNext() Loop

'删除图书记录

sql = \"Delete From Goods Where id In (\"&ids&\")\" Conn.Execute(sql) Set Rs = Nothing Conn.Close() %>

3.4.4 订单管理设计

在订单管理中主要实现了查看订单功能和处理订单的功能,在本系统中把订单分为了四个状态:未到款订单,已到款订单,未发货订单,已结束订单。订单管理页面为OrderDo.asp文件,根据flag确定显示页面,当flag=1时,显示未到款订单,当flag=2时,显示正在处理订单,当flag=3时,显示已经发货订单,当flag=4时,显示已经结束的订单。根据先前所作的需求分析,当用户的汇款到达书店时,管理员就可以把客户的订单该为已到款订单,以提示客户汇款已到,然后查看是否有货,如果有货就可以发货,此时,客户的订单改为已发货订单,当确定用户拿到书后,可将订单状态改

14

为已结束订单,至此交易已经完成,可删除已完成的订单。 界面如下:

订单处理是由ordermake.asp实现的,管理员每处理一次订单,图书的库存量会相应的减少。当用户订购的图书数量超过库存数量时,系统会提出库存不足的警告,此时管理员可暂停对订单的处理,当货源补充上时,可通过修改图书信息的界面修改图书的库存数量,然后在对订单进行处理。 关键代码如下:

<%'根据提交信息来源判断订单状态:

'表AdminChecked字段:1 – 未到款;2-已到款;3-已经发货;4-已经结束。 Dim iflag,num

num = Request.QueryString(\"OrderNum\") '更新状态值

iflag = Request.QueryString(\"flag\") '如果iflag=5,表示删除

Set rs = Server.CreateObject(\"ADODB.RECORDSET\")

sql = \"SELECT id,goodsid FROM Basket WHERE OrderNumber=\"&num rs.Open sql, Conn, 3, 3 Do While Not rs.Eof a=rs(\"id\") b=rs(\"goodsid\") If iflag=5 Then

sql1 = \"Delete From Basket Where id=\"&a elseif iflag=3 then

Set rs1 = Server.CreateObject(\"ADODB.RECORDSET\")

sql2 = \"SELECT g.booknum,b.ordercount FROM Basket b, Goods g WHERE b.id=\"&a rs1.Open sql2, Conn, 3, 3 If not rs1.EOF Then

c=cint(rs1(\"booknum\"))-cint(rs1(\"ordercount\")) if c<=0 then %>

<% else

sql3 = \"Update goods Set booknum=\"&c&\" Where id=\"&b Conn.Execute(sql3)

sql1 = \"Update Basket Set AdminChecked=\"&iflag&\" Where id=\"&a

Conn.Execute(sql1) end if end if Else

sql1 = \"Update Basket Set AdminChecked=\"&iflag&\" Where id=\"&a Conn.Execute(sql1) End If rs.MoveNext Loop rs.Close %>

3.4.5 用户管理模块

这个模块主要实现登录网站用户的管理,在此页面中可以查看用户的基本信息,修改删除非法用户,还可以查看用户的交易记录,订单状态。在订单状态中,管理员可以查看用户的订单信息、送货地址等信息,方便管理员管理订单和出入货的情况。 用户界面如下:

3.4.6 管理员信息模块设计

在这个模块中,设立了不同的权限,本系统只设立了一个主管理员,其密码是直接向数据库中加入的,用户名为:admin.密码为:admin.只有当住管理员登录时,才具有添加管理员和删除管理员的权限。其他管理员只能修改自己的密码和对图书进行修改,无权添加管理员和删除管理员。

主管理员界面如下:

16

其他管理员界面如下:

四、 结论与讨论 4.1 论文完成的工作

经过三个多月的设计和开发,网上书店系统基本开发完毕。系统具备了前台销售管理系统和后台管理系统的功能,购物车子系统将前台销售管理系统的各个子系统紧密联系在一起,完成客户从网上购物的整个过程,后台管理系统主要负责维护和管理数据库的图书信息、客户信息、订单信息,以及保证数据库中数据的一致性。 4.2 总结

在系统的设计开发过程中,注重了科学的软件设计思路。首先在总体设计上,采用了模块化和分层的设计思想,使整个系统流程清晰、逻辑合理,为系统的实现创造了良好的条件。其次,在各功能模块的实现上,采用了在技术上非常流行的B/S架构。作为一个简单的通用网上书店系统,具备的功能还很不完善,有很多可以扩展的地方。例如:可以加入公告功能、投诉功能等。在实际中,可以根据企业的具体要求进行扩展。有条件的话,还可以尝试在网上购物车子系统和后台权限控制中采用了分布式三层的B/S设计模型,通过COM组件技术来实现中间层商务逻辑的开发,这样可以进一步提高应用程序的性能。

由于本系统的设计是建立在设计基本要求的基础上的,还有很多需要完善的地方,总结出来有如下几点:

1.网上订单的安全:客户从网上正式提交订单后,就不能否认自己提交过订单,这可以采用数字签名的技术来实现

2.网上支付的安全:由于该系统目前没有和银行的网上支付业务本系统并没有实现网上支付(信用卡结账)。如果要实现网上支付,可以对客户信息的加密来保证客户信息的安全。

参考文献

1. 李永恒, 运用网络技术完善经营管理[M]. 内蒙古煤炭经济2004

17

2. 松岗研发中心林志强著,ASP电子商务设计实务[M].中国铁道出版社.2000

3. 李晓黎、 张巍 编著 ,ASP+SQL Server网络应用系统开发与应用[M] . 人民邮电出版社 4. 尚俊杰编著,网络程序设计——ASP[M].清华大学出版社

5. 汪晓平、钟军 编著,ASP网络开发技术(第二版)[M].人民邮电出版社 6. 萨师煊、王珊编著,数据库系统概论[M](第三版).高等教育出版社,2000.2

7. 刘韬, SQL Server 2000数据库系统开发实例导航 [M].人民邮电出版社 2004年5月 8. 赵松涛, SQL Server 2000 应用及实例集锦 [M].人民大学出版社,2002-1 9. 吴玉新, ASP后台解决方案[M].人民邮电出版社,2003. 10. 石磊,电子商务的网络技术[M].中国水利出版社

11. 刘文政等编,网页设计三合一综合教程(MX版) [M].科学出版社,2003. 12. 姚国章,中国企业电子商务发展战略[M].北京大学出版社,2001. 13. http://time.dufe.edu.cn/shujujk/cnnic06.htm [EB/OL]

(CNNIC公布中国B2C电子商务发展报告)

14. 陈英学,ASP深入编程[M] ,北京希望电子出版社 2001

15. Richard Anderson Chris Blexrud等著,刘富太等译.ASP 3高级编程[M].机械工业出版社 16. 郑人杰、殷人昆、陶永雷编著,实用软件工程[M],清华大学出版社。 1997年4月第2版

The design of the electronic commerce website based on ASP

Student: Zhang Tao Teacher:Zhang Zhiqiang

【Abstract】Summary Along with the development of Internet technology, daily life can not already do without the network. The life and work of the social people of future will depend on the development of digital technology more and more , Digitize more and more, the networking, electronization, virtual. E-commerce presses close to people's life day by day along with the development of network too.Development course and present application state and development trend of Internet, can believe network technology great change life and working way of us fully.This procedure tries to build up a dynamic e-commerce website in the network with ASP, So that every customer needn't go out and can do shopping easily through surfing the Net at home . This article introduces as follows:

(1) What is e-commerce, its features, business schema and its development in the future; (2) Introduced the the general theory of IIS+ ASP;

(3) Elaborate the whole system structure of system and the work principle;Analyzed the special within the system realization, difficult and point;

(4) Analyze and resolve some technique problem in the realization.

【Key words】Internet ASP e-commerce Network Bookstore

18

致 谢

在近三个月的毕业设计期间,我得到了张老师和同学们的指导以及帮助,使我能够顺利地完成该网站的设计和论文。张老师在技术上给予我的悉心指导,使我从对该项目相关知识的懵懂认识到现在的基本掌握,同时调动了我的积极性,他对我孜孜不倦的指导,大大的鼓舞了我。

在此,本人对他们给予的帮助表示十分感谢。

19

因篇幅问题不能全部显示,请点此查看更多更全内容