为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

网上购书系统

2017-10-01 50页 doc 144KB 51阅读

用户头像

is_624976

暂无简介

举报
网上购书系统网上购书系统 摘要 八年经验、专业指导毕业设计www.bysjzd.com 需要全套设计请联系:731767310 网上书店 摘 要 随着网络技术的发展,Internet已成为最具市场潜力的技术领域,使用Web技术设计的数据库应用软件,是目前Internet市场的技术中坚,各种Web应用如电子商务,网上购物等都采用这种方式实现。互联网的优势在于用户能同时从不同地点、不同数据库中存取数据。本文介绍了一个网上购书系统,该系统通过微软平台,采用ASP和ODBC技术,可以访问Access、SQL Server等多种数据库。...
网上购书系统
网上购书系统 摘要 八年经验、专业指导毕业www.bysjzd.com 需要全套设计请联系:731767310 网上书店 摘 要 随着网络技术的发展,Internet已成为最具市场潜力的技术领域,使用Web技术设计的数据库应用软件,是目前Internet市场的技术中坚,各种Web应用如电子商务,网上购物等都采用这种方式实现。互联网的优势在于用户能同时从不同地点、不同数据库中存取数据。本文介绍了一个网上购书系统,该系统通过微软平台,采用ASP和ODBC技术,可以访问Access、SQL Server等多种数据库。文中介绍了WWW体系结构中三层客户/服务器的工作模式,重点探讨了目前流行的几种Web数据库访问技术。该系统通用性强,经过简单的修改就可以应用于更广泛的网上购物系统,具有一定的推广价值。 关键词:网上书店 Web数据库 ASP技术 I The Book Shop on the Internet Abstract With development of the network technology, Internet has become an area which has the most potential market. In this area, Web Database application software dominate in the Internet technology. Many Web-based applications such as electronic commercial and shopping on net etc. have been realized by means of them. The great advantage of Internet is that the customer can store and fish data from different areas and Databases in Internet all over the world at the same time. This paper reports a net-bookshop system which can visit a number of the Databases including Access and SQL Server by employing ASP and ODBC techniques by use of Microsoft platform. The model of 3-tier architecture in the WWW system is described and the current techniques of visiting Web Date bases are discussed in detail. The system can be widely used in various net-shopping system by supply modification, and therefore, is of great applicability and dissemination. Keywords: net-bookshop; Web database; ASP technique II 摘要 目录 摘 要 ..................................................................................................................... I Abstract ............................................................................................................... II 第一章 绪论 .................................................................................................. 5 1.1 引言 .......................................................................................................................... 5 1.2 课目的和意义 .................................................................................................... 5 第二章 系统概述 ........................................................................................... 3 2.1系统构架 .................................................................................................................. 3 2.2系统功能模块设计 ................................................................................................ 3 2.2.1整体系统功能组织 ............................................................................................................. 4 2.3.1 网页开发利器 Macromedia Studio MX 2004 .......................................................... 5 2.3.2 Web应用程序开发技术Active Server Pages........................................................ 5 2.3.3数据库平台的的选择 Microsoft SQL Server 2000 ........................................... 7 第三章 系统分析和设计 .............................................................................. 8 3.1系统功能详细分析 ................................................................................................ 8 3.1.1前台详细功能描述 ............................................................................................................. 8 3.1.2 后台详细功能描述 ............................................................................................................ 8 3.2系统模块设计 ......................................................................................................... 9 3.2.1 系统前台模块组成 ............................................................................................................ 9 3.2.2 系统后台模块组成 ............................................................................................................ 9 3.2.3 用户类型设计 ..................................................................................................................... 9 3.3系统主要工作流程设计 ..................................................................................... 11 3.3.1前台管理员管理程序流程 ............................................................................................. 12 3.3.2 后台管理员管理程序流程 ............................................................................................ 14 3.3.3 后台管理员管理程序流程 ............................................................................................ 14 3.4数据库分析和设计 .............................................................................................. 16 3.4.1数据库需求分析................................................................................................................ 16 3.4.2数据库架构 ......................................................................................................................... 16 3.4.2 数据库表的详细设计 ..................................................................................................... 17 第四章 系统实现 ......................................................................................... 22 4.1程序主要页面 ....................................................................................................... 22 4.1.1系统首页 ............................................................................................................................. 22 4.1.2 各主要框架页面 .............................................................................................................. 22 4.1.3图书详细资料页面 ........................................................................................................... 22 4.1.4 用户登录购书页面 .......................................................................................................... 22 4.1.5 购物车页面 ....................................................................................................................... 22 4.1.6 下订单页面 ....................................................................................................................... 23 4.1.7 结账页面 ............................................................................................................................ 23 III 4.1.8 订单完成页面 ................................................................................................................... 23 4.1.9 我的订单 ............................................................................................................................ 23 4.1.10网上书店后台管理添加新书页面 ............................................................................. 23 4.2 IIS配置与SQL Server 数据库连接............................................................ 23 4.2.1 II配置 ............................................................................................................................... 23 4.2.2创建SQL Server数据库 ................................................................................................ 24 4.3 系统程序实现 ...................................................................................................... 24 4.3.1系统首页页面 .................................................................................................................... 24 4.3.2 购物车界面 ....................................................................................................................... 31 4.3.3 用户下订单页面 .............................................................................................................. 32 4.3.4 用户结账页面 ................................................................................................................... 33 4.3.5订单完成页面 .................................................................................................................... 35 4.3.6 我的订单页面 ................................................................................................................... 36 4.3.7 网上书店后台管理页面 ................................................................................................. 38 第五章 结束语 ................................................................................................ 41 致 谢 ........................................................................................................... 42 参考文献 ........................................................................................................... 43 IV 目录 第一章 绪论 1.1 引言 在当前充满竞争的社会中,信息技术深刻地改变着社会,人们对信息的需求越来越迫切,利用信息技术改变传统的产业结构,实施全面的自动化管理,提高劳动生产率,提高服务质量,提高对市场的应变能力,减少销售环节,提高产品竞争能力等方面,有巨大的潜力。信息技术的发展核心是World Wide Web,也叫Web或WWW,WWW之所以能够飞速发展的原因是用户能够从世界上任何地方访问信息和数据,并且越来越需要具备对驻留数据库和数据存储中大量信息的Web访问能力。尽管每个数据供应厂家都在开发新的Internet访问产品以缩小与Web数据库之间的距离,但仍没有一个统一的访问平台。在具体应用中,仍需要编写定制的数据库访问应用程序。 1.2 课题目的和意义 早期的Web数据库主要是指那些位于不同Web网站的大型HTML文档存储库,最近Web数据库又将传统的数据库管理系统(一般为关系型数据库管理系统)结合起来。但是,Web缺乏检索机制,特别是基于内容和基于结构的检索。由于缺乏数据库的功能,所以它不象数据库管理系统那样,易于对存储的数据进行管理和组织。 支持客户/服务器结构的数据库管理系统,如Oracle,Sybase,Informix,SQL Sever等,其技术已经相当成熟,并且广泛应用于各个领域。它们很适合于对大批数据进行有序,规则的组织于管理。当给出查询条件后,能够很快得到查询结果,许多高档数据库都具有分布式处理,联机事务处理的功能,并且能够使不同的操作系统,网络协议在同一环境下工作。但这些应用软件缺乏超文本连接的功能,得不到整个Web环境为背景的支持。 因此,在网络中,Web与数据库的互连是一个重点。在Internet中,信息一般集中存放在数据库中,而Web则用于信息的共存,交换和发布,如果Web和数据库结合起来,就能够最大限度地发挥数据库的组织数据的有效性和Web的发布数据的开放性,使得整个 V Internet系统具有数据库功能,网络功能,超文本功能和开放性,交互性,实时动态性,真正让数据库得到共享。 实现Web与数据库接口总体思路采用“中间件”将Web与数据库“粘”起来,常用的实现技术有:CGI(Common Gateway Interface,通用网关接口),Web服务器专用API(Application Program Interface,应用编程接口,如ISAPI,NSAPI),JDBC(Java Database Connectivity, Java数据库的连接),对象Web(Object Web),ASP等。它们分别采用不同的软件体系结构和实现机制,对于Web与数据库的通用接口系统,一般也采用这些技术实现。 另外,很多数据库厂家也推出了内置的商用Web数据库网关产品,它可以将Strctured Query Language(SQL结构化查询语言)命令直接输入HTML文件,供Web服务器处理,如Oracle的Oracle WebServer2.0中内置了一个高性能,安全性很高的本机数据库连接产品,运用这个平台,Web数据库开发人员可以用开发工具创建Web数据库应用程序,而不需要数据库网关产品与Web数据库环境连接起来。又如Informix 公司的IWUA(Informix Universal Web Architecture, Informix统一Web结构)。这种类型的解决与自己的数据库产品结合的最好,但无法通用。 另外,还有一些Web的数据库通用接口系统产生,如Web2DC,它采用虚拟CGI技术提供服务,支持对种数据库管理系统的访问,同时提供用户书写数据库驱动程序的接口,使开发者只需了解HTML,无须了解SQL和数据库内部的复杂细节,这种通用接口对于不熟悉程序设计和SQL的开发人员比较合适。 在集成的过程中,Web与数据库之间的交互接口是必须实现的关键环节。本题目实现的是一个网上购书系统,书店可根据图书量和访问量的大小选用各种类型数据库和操作系统。所编写的程序应能在不同的操作系统平台,不同类型的数据库中通用。文中通过分析网络的结构,Web数据库的访问过程,总结分析了目前流行的几种Web数据库访问技术,选择了一种有发展前途的、通用性强的便于二次开发的数据库访问技术,实现书店网上购书的功能。本题目的意义在于,该软件经过修改,就可以在单机和桌面数据库上实现网上购物,使更广泛的商业活动进入Internet,使之为更多的百姓服务。 2 第一章 绪论 第二章 系统概述 本题目目标是实现一个书店中的图书网上订购。题目中的书店是在册几百至几千的中小型书店,对于这样的规模和访问量,书店可选用不同档次的机型,采用不同的操作系统构成网上购书系统。如操作系统选择WIN98或者Windows NT,Windows 2000, Windows XP 等,数据库可选择的是SQL Server。 在网上书店中,书店管理员首先将图书目录建库入网。用户便可通过互联网进行图书查询、会员登记以及图书订购。查询可按分类进行,根据显示的书名和类别找到自己希望购买的图书,图书管理员可查询订购情况,将图书邮购到客户手中。 2.1系统构架 网上书店从本质上来说应该就是一个数据库支持的在线售书系统。因此,采用分层模式来设计,从数据层到应用层,最后到用户接口层进行设计。系统构架如图2.1所示 数据层 设计数据服务 配置系统信息 应用层 用户接口层 图2.1 系统总体框架图 2.2系统功能模块设计 系统的主要功能如下: 3 , 分权限发布多用户管理、书藉资料管理。 , 大类小类两级无限制软件分类、无限制添加书籍资料。 , 资料批量删除、批量分类转移等批量管理功能。 , 采用交互性的订单处理方式。 , 客户管理功能。 , 会员制度,分VIP会员和一般会员,并提供不同的优惠。 , 图书评论与管理功能。 , 完善而方便的书籍资料添加、编辑表单,无组件图片上传。 , 强大的搜索功能,可以按各个字段进行不同方式的高级搜索。 , 付款方式管理。 2.2.1整体系统功能组织 为更好的实现以上功能,将系统主要分为两大功能模块:系统前台模块和系统后台模 块。如图2.1所示 网上小书店 (eBook) 前台 用户信息管书籍信购物车 订单 理 息 后台 管理员信息 书籍信息管用户信息管销售管理 理 理 图2.1 2.3 开发工具的选择 网上书店是一个动态的网上售书系统,我们采用的是Macromedia Studio MX 2004, ASP,和Microsoft SQL Server 2000数据库作为开发工具。 针对网上书店界面设计的要求,我们采用Macromedia Studio MX 2004。 4 第二章 系统概述 而针对网上书店动态性的要求,采用ASP和SQL Server 2000,ASP内含于IIS,通过它,可以结合HTML网页、ASP指令和ActiveX无件建立动态、交互且高效的Web服务器应用程序; SQL Server 2000是目前相当流行的网络数据库,技术先进,支持超大规模数据库技术、并行查询、提供完备的数据库安全方案等,这些特点正是支撑网上书店的数据库所必须的。 2.3.1 网页开发利器 Macromedia Studio MX 2004 它是用于优化 Web 开发的集成工具集。它对 Web 开发的各个方面提供专业功能,全 Web 开部集成在一个软件包中。提供无缝集成和针对所有工具的通用用户界面,以便优化 发和应用程序工作流,从而提高效率、改善易用性。 2.3.2 Web应用程序开发技术Active Server Pages Active Server Pages(ASP)是微软公司推出的Web应用程序开发技术。微软把ASP描述为“一个服务器的脚本环境,在这里可以生成和运行动态的、交互式的、高性能的Web服务器应用程序”。可见,ASP即不是一种语言,也不是一种开发工具;而是一种技术框架,其主要功能是为生成动态的、交互式的Web服务器应用程序提供一种共呢感强大的方式或技术。 ASP属于ActiveX技术中的服务器端技术,因此与通常的在客户端实现的动态页面技术如Java Applet、ActiveX Control、VBScript、JavaScript等所不同的是,ASP的命令和脚本都在服务器中解释执行,送到浏览器的只是标准的HTML页面。从本质上讲,ASP实际上是将标准的HTML文件拓展了一些附加特征,像标准的HTML文件一样包含HTML对象并且在一个浏览器上解释并显示,任何可以放在HTML中的东西,如Java applets、闪烁字符串、客户端脚本、客户端Active控件等,都可以放在ASP中。ASP有如下四个重要特征使之具备很强的通用性和可扩展性。 1(ASP提供了六大类内置对象 Request(请求):从前端用户取得信息; Response(响应):将信息送给前端用户; Server(服务器):提供Web服务器工具; 5 Session(会话):储存在一次会话内的用户信息,仅被该用户访问; Application(应用):管理所有的会话信息,供所有用户共享; ObjectContext(对象上下文):配合Transaction服务器进行分布式事务处理(IIS4.0新增)。 利用这些ASP中提供的内置对象,可以使脚本程序更加强大;这些对象允许你从浏览器中接受和发送信息,甚至可以在授权范围内控制服务器端的文件管理系统。例如,利用request对象,可以接受客户在HTML Form中填写的信息,并在一个脚本中来响应它,然后再用Response对象的write方法输出到客户端浏览器。利用Session对象,你可以进行会话管理,也可以进行浏览器活动信息的跟踪。而利用最新的ObjectContext对象可以提交和终止处理。 2(ASP可以在服务器端包含脚本 ASP支持的脚本语言极其丰富,几乎所有的脚本语言如VBScript、JavaScript以及Perl等都可以作为ASP的脚本语言。这样,不但可以保证它有足够的能力来处理各种情况,而且能够方便开发者选择自己熟悉的语言开发。 3(ASP是ActiveX技术中的服务器端技术,Web服务器本身带有相当数量的标准服务器端ActiveX组件,这些组件允许你做诸如依据浏览器能力的不同进行不同显示,以及利用Ad Rotator组件来实现随机广告的处理工作。除了利用一些标准的ActiveX组件,ASP还允许创建自己的附加ActiveX 组件,这样,就可以不受限制地拓展ActiveX组件,增强ASP的能力。 4(ASP可以方便地链接数据库 ASP可以通过数据链接组件ADO和诸如SQL Server、Access等数据库进行链接。 ADO(ActiveX Data Object),又叫ActiveX数据对象,是一项容易使用并且可扩展的,链接数据库、操作数据库、查询数据库,并且可以将数据库访问结果添加到Web页面的技术。可以使用ADO去编写紧凑简明的脚本以便链接到Open DataBase Connectivity(ODBC) 兼容的数据库和OLE DB兼容的数据源。ADO链接数据库的功能非常强大,使用ActiveX数据对象(ADO),可以对来自许多种提供者的数据进行读取和写入操作。例如,可以使用ADO来访问Microsoft Access, Microsoft SQL和Oracle数据库中信息。 ActiveX数据对象(ADO),允许用户使用客户端的 SQL查询语句经过数据库的提供者或ODBC数据源中的数据库驱动程序,对服务器端的数据库数据进行查找和操作。与其他链接数据库和操作数据库的方法相比,ADO方法具有容易掌握、操作简单、使用灵活、占 6 第二章 系统概述 用内存和硬盘空间小等特 2.3.3数据库平台的的选择 Microsoft SQL Server 2000 Microsoft SQL Server 2000是微软公司近年来最具有里程碑性质的企业级数据库产品,它凝结了全世界的 Microsoft 研究团队的共同努力和创新。SQL Server 2000 在企业级支持、商业智能应用、管理开发效率等诸多方面,较以往的SQL Server有了质的飞跃,是极具前瞻性的下一代先进的数据管理与分析平台。 1.全面提升企业级应用系统的安全性、可靠性和性能 SQL Server 2000提供了一个更安全、可靠和高效的数据管理平台;提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。能够大幅降低企业级系统的运行和维护的风险及IT管理成本,增强企业客户的管理能力。其中系统冗灾恢复时间达到前所未有的秒级响应能力,大幅提高了系统的性能、扩展型和32位的运算能力,并加以更严格的安全控制,SQL Server 2000在支持现实中最苛刻的企业级系统的道路中迈出了一大步。 2.推动企业管理的全面信息化,满足商业智能应用的复杂业务需求 SQL Server 2000 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具向客户提供了企业级的数据管理。SQL Server 2000能够满足大型企业客户对TB级海量业务数据的实时统计分析、动态报表、集成和、监控预测、风险管理等多种复杂业务需求,帮助客户综合分析来自多结构和异类数据源的不同商业数据并将其转化为辅助企业决策的商业信息,推动企业信息化管理和业务管理。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。 3.拓展业务应用空间,大幅提升管理开发效率,降低IT成本 与 Microsoft Visual Studio、Microsoft Office System 、XML、Web Service以及新的开发工具包的紧密集成使 SQL Server 2000 与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,SQL Server 2000 都可以为您提供创新的解决方案,拓展您的应用空间,帮助您从数据中更多地获益,带来新的商业机遇。同时SQL Server 2000 可支持在多个平台、程序和设备之间共享数据,更易于与内外部系统协调互通,客户可以从降低总体拥有成本和更快的开发时间中受益。 7 第三章 系统分析和设计 网上书店的魅力主要表现在两个方面:一是品种丰富,读者选书的余地大。由于不受实物陈列空间的限制,网上书店向读者提供的选书品种往往能数十倍于实物书店,读者可能通过分类查找方式选择自己所需购买的图书。二是购买方便。读者在网上查找到自己所需的图书后,可立即发出购书信息,网上书店接到订购信息后即可确认,几天就可收到送达的所购图书。 对于图书的进货,完全由管理员来实现。主要是对图书信息的录入过程。对于图书的销售,包括客户下订单和管理员对核定订单配送。管理员可以修改订单的各种属性、状态、数量,也可以修改客户的相关信息,还可以对订单进查询、删除操作。 3.1系统功能详细分析 为更好的实现以上功能,将系统主要分为两大功能模块:系统前台模块和后台模块。 3.1.1前台详细功能描述 书籍信息模块:热门书籍浏览、新书籍浏览、书籍分类浏览、按书籍名称搜索、书籍详细信息。 购物车模块:添加书籍到购物车、购物车信息修改、结账。 用户信息管理模块:注册新用户、登录、用户修改密码、用户个人资料管理。 订单模块:查询个人订单列表、查询某笔订单的详细信息。 3.1.2 后台详细功能描述 管理员信息管理:登录;添加新管理员、删除管理员;修改密码;管理员日志。 书籍信息管理:添加、删除书籍类别;添加、修改、删除书籍信息。 用户信息管理:查询用户信息。修改账户金额 销售管理:查询某月的销售情况(包括每种书籍的售出数量、相关订单数、销售收入)。 8 第二章 系统概述 3.2系统模块设计 3.2.1 系统前台模块组成 包括用户浏览模块和用户管理模块。前者又分为新品图书、畅销图书、推荐图书、搜索图书、图书分类;后者分为用户登录、信息中心、个人资料、收货资料、修改密码、购物车、我的订单、积分查询、统计信息这些子孙模块。如图3.2.1所示。 3.2.2 系统后台模块组成 包括商品管理模块,分类管理模块和用户管理模块。商品管理模块分为添另新书、书籍管理、订单管理、评论管理;分类管理模块分为大类管理、小类管理、类别转移;最后用户管理模块分为客户管理、用户管理、送货/汇款设置。如图3.2.2所示。 3.2.3 用户类型设计 分为两类:普通用户和管理员用户。普通用户分为注册用户与非注册用户,这两种用户的权限区别在于能进行购物(提交订单),以及对个人资料的管理包括个人资料、购物车、积分查询等用户管理模块的全部功能。注册用户只能对自己的信息进行修改、浏览,但是不具有管理网上书店后台功能管理的权限,也不能对其他用户的信息进行管理。非注册用户只能够浏览图书的详细资料。管理员类用户在普通用户的权限上增加留言管理的权利。可以对网站后台图书,用户以及订单、评论等进行管理。 9 新品图书 畅销图书 推荐图书 用户浏览模块 搜索图书 图书分类 网 上用户登录 书 店 前信息中心 台 个人资料 用户管理模块 收货资料 修改资料 购物车 我的订单 积分查询 统计信息 图3.2.1 10 第三章 系统分析和设计 添加新书 书籍管理 商品管理模块 订单管理 评论管理 网大类管理 上 书分类管理模块 小类管理 店 后 类别转移 台 客户管理 用户管理模块 用户管理 送货/汇款设置 图 3.2.2 3.3系统主要工作流程设计 网上书店作为一个电子商务型网站来说,整个网上购物流程简单、合理是至关重要的。 11 3.3.1前台管理员管理程序流程 如图3.3.1所示 12 第三章 系统分析和设计 新品图书new .asp 网上书店首页 Index.asp 畅销图书hot.asp 推荐图书commend.asp 否 搜索图书search.asp 登录 用户浏览模块 图书分类class.asp 用户登录login.asp 信息中心muser.asp 是 个人资料userinfo.asp 收货资料recinfo.asp 修改密码changepws.asp 用户管理模块 购物车car.asp 我的订单myorder.asp 积分查询deposit.asp 统计信息statinfo.asp 图3.3.1 13 3.3.2 后台管理员管理程序流程 如图3.3.2所示 添加新书页面 addpro .asp 管理员登录页面 书籍管理页面mpro.asp login.asp 订单管理页面proder.asp 评论管理页面procomm.asp 管理员 大类管理页面class.asp 是 小类管理页面sub.asp 类别转移页面mclass.asp 客户管理页面quser.asp 用户管理页面huser.asp 送货/汇款设置delivery.asp 图3.3.2 3.3.3 后台管理员管理程序流程 如图3.3.3 14 第三章 系统分析和设计 网上书店首页index.asp 用户登录index.asp 挑选图书 单击图书旁的“购物 车”,调用页面icar.asp 购买图书 查看或修改购物车 car.asp 是 继续采购 否 下订单cart.asp 结算Check.asp 提交订单vorder.asp 图3.3.3 15 3.4数据库分析和设计 几乎所有的Web项目都是基于数据库的,这使得数据库的设计在整个项目中的地位举足轻重。相关研究表明,在数据库应用系统的开发中,项目成功50%靠数据库的设计。良好的数据库设计往往能够减少开发的负担。 3.4.1数据库需求分析 本次开发的数据库包括4个方面。 用户信息数据表:存储注册用户、管理员用户姓名、密码、身份证号、积分等有关数据。包括管理员基本信息数据表、注册用户基本信息数据表。 图书信息数据表:存储图书有关分类、评论及库存信息数据。包括图书大类分类数据表、图书小类分类数据表、库存图书数据表、读者评论数据表。 用户送货汇款方式数据表:存储用户送货汇款方式竺、价钱等有关数据。包括用户送货汇款方式信息数据表。 用户订单数据表:存储用户订单有关商品名称、数量等数据。包括用户订单信息数据表。 3.4.2数据库架构 本系统使用SQL Server 2000作为数据库管理系统。在企业管理器中建立一个数据库,将其命名为wsss.该数据库包含的数据表及其相应功能如表3.4.2所示。 表3.4.2wsss数据库包含的数据表及其功能 数据表 功能 admin 存放管理员基本信息 category 存放图书大类分类信息 delivery 存放用户送货汇款方式信息 orders 存放用户订单信息 product 存放库存图书信息 review 存放读者评价信息 sorts 存放图书小类分类信息 user 存放注册用户基本信息 16 第三章 系统分析和设计 3.4.2 数据库表的详细设计 1.管理员信息表admin 管理员信息表用于存放管理员的信息,包括管理员、管理员姓名、管理员密码、管理员权限共4个字段。如表3.4.2.1所示。 表3.4.2.1 admin 字段名 数据类型及长度 说明 备注 Id Int 管理员编号 主关键字 Admin Nvarchar(10) 管理员姓名 不能为空 Password Nvarchar(10) 管理员密码 不能为空 Rank Int 管理员权限 允许为空 2.图书大类分类信息表category 图书大类分类信息表存放图书主要大类分类具体信息。包括大类编号、大类名称、是否在首页显示、顺序共4个字段。如表3.4.2.2所示。 表3.4.2.2 category 字段名 数据类型及长度 说明 备注 Categoryid Int 大类编号 主关键字 category Nvarchar(50) 大类名称 允许为空 First Int 是否在首页显示 允许为空 Categoryorder Nvarchar(50) 顺序 允许为空 3.用户送货汇款方式信息表delivery 用户送货汇款方式信息表主要用于存放用户付款方式信息。包括编号、送货/汇款方式名称、价钱、送货/汇款方式选择、顺序共5个字段。如表3.4.2.3所示。 表3.4.2.3 delivery 字段名 数据类型及长度 说明 备注 Deliveryid Int 编号 主关键字 Subject Nvarchar(50) 送货/汇款方式名称 允许为空 Fee Int 价钱 允许为空 Methord Int 送货/汇款方式选择 允许为空 Deliveryidorder Int 顺序 允许为空 17 4(用户订单信息表order 用户订单信息表主要用于存储用户订单的基本信息。包括编辑编号、用户名称、日期、图书编号、产品订购数量、订单编号、状态、收货人、收货地址、邮编、留言、汇款方式编号、送货方式编号、性别、总金额、真实姓名、Email、电话、用户ID共19个字段。如表3.4.2.4所示。 表3.4.2.4 order 字段名 数据类型及长度 说明 备注 Actionid Int 编辑编号 主关键字 username Nvarchar(10) 用户名称 允许为空 Actiondate Smalldatetime 日期 允许为空 Id Int 图书编号 允许为空 Productnum Int 产品订购数量 允许为空 Goods Nvarchar(50) 订单编号 允许为空 State Int 状态 允许为空 Recepit Nvarchar(50) 收货人 允许为空 Address Nvarchar(100) 发货地址 允许为空 Postcode Nvarchar(6) 邮编 允许为空 Comments Nvarchar(500) 留言 允许为空 Paymethod Int 汇款方式编号 允许为空 Deliverymethord Int 送货方式编号 允许为空 Sex Int 性别 允许为空 Paid Int 总金额 允许为空 Realname Nvarchar(10) 真实姓名 允许为空 Usermail Nvarchar(50) Email 允许为空 Usertel Nvarchar(500 电话 允许为空 Userid Int 用户ID 允许为空 5(库存图书信息表product 库存图书信息表主要用于存储库存图书的基本信息。包括图书编号、书名、作者、装帧、出版日期、积分、详细介绍、目录、用户评级分数、市场价、会员价、推荐、订购次数、查看次数、折扣、小类id、大类id、缩略图、添加日期、评级次数、vip价格、出版社、ISBN、页数、开本、版次、简介共27个字段。如表3.4.2.5所示。 18 第三章 系统分析和设计 表3.4.2.5 product 字段名 数据类型及长度 说明 备注 id Int 图书编号 主关键字 Name Nvarchar(255) 书名 允许为空 author Nvarchar(50) 作者 允许为空 Intrduce Nvarchar(255) 装帧 允许为空 Productdate Smalldatetime 出版日期 允许为空 Socre Int 积分 允许为空 Detail Nvarchar(8000) 详细介绍 允许为空 Content Nvarchar(2000) 目录 允许为空 Rank Int 用户评级分数 允许为空 Price1 Int 市场价 允许为空 Price2 Int 会员价 允许为空 Recommend Int 推荐 允许为空 Solded Int 订购次数 允许为空 Viewnum Int 查看次数 允许为空 Discount Int 折扣 允许为空 Sortsid Int 小类id 允许为空 Categoryid Int 大类id 允许为空 Pic Nvarchar(255) 缩略图 允许为空 Adddate Smalldatetime 添加日期 允许为空 Ranknum Int 评级次数 允许为空 Vipprice Int Vip价格 允许为空 Mark Nvarchar(255) 出版社 允许为空 Type Nvarchar(255) ISBN 允许为空 Pagenum Int 页数 允许为空 Format Nvarchar(50) 开本 允许为空 Printed Int 版次 允许为空 Desc Nvarchar(255) 简介 允许为空 6(读者评价信息表review 读者评价信息表主要用于存储读者对图书的评价内容信息。包括评价编号、图书编号、 标题、日期时间、评论内容、是否通过审批共6个字段。如表3.4.2.6所示。 19 表3.4.2.6 review 字段名 数据类型及长度 说明 备注 Reviewed Int 评价编号 主关键字 Id Int 图书编号 允许为空 Title Nvarchar(255) 标题 允许为空 Reviewdtm Smalldatetime 日期时间 允许为空 Reviewcontent Ntext 评论内容 允许为空 Audit Int 是否通过审批 允许为空 7(图书小类分类信息表sorts 图书小类分类信息表主要用于存储图书小类分类具体信息。包括小类编号、小类名称、顺序、对应大类编号、是否在首页显示共5个字段。如表3.4.2.7所示。 表3.4.2.7 sorts 字段名 数据类型及长度 说明 备注 Sortsid Int 小类编号 主关键字 Sorts Nvarchar(50) 小类名称 允许为空 Sortsorder Int 顺序 允许为空 Categoryid Int 对应大类编号 允许为空 First Int 是否在首页显示 允许为空 8(注册用户基本信息表user 注册用户基本信息表主要用于存储用户基本内容信息。包括用户ID、用户名称、Email、用户密码、身份证号、手机、QQ、注册日期、密码提示、密码答案、登录次数、电话、送货方式编号、汇款方式编号、性别、真实姓名、是否为VIP用户、系统广播、用户积分共24个字段。如表3.4.2.8所示。 20 第三章 系统分析和设计 表3.4.2.8 user 字段名 数据类型及长度 说明 备注 Userid Int 用户ID 主关键字 Username Nvarchar(10) 用户名称 允许为空 Usermail Nvarchar(50) Email 允许为空 Password Nvarchar(10) 用户密码 允许为空 Identify Nvarchar(50) 身份证号 允许为空 Mobile Nvarchar(50) 手机 允许为空 Userqq Nvarchar(50) QQ 允许为空 Adddate Smalldatetime 注册日期 允许为空 Quesion Nvarchar(50) 密码提示 允许为空 answer Nvarchar(50) 密码答案 允许为空 Loginnum Int 登录次数 允许为空 Lastvst Smalldatetime 最后一次登录时间 允许为空 Recepit Nvarchar(50) 收货人姓名 允许为空 City Nvarchar(50) 城市 允许为空 Address Nvarchar(100) 地址 允许为空 Postcode Nvarchar(6) 邮编 允许为空 Usertel Nvarchar(50) 电话 允许为空 Deliverymethod Int 送货方式编号 允许为空 Paymethod Int 汇款方式编号 允许为空 Sex Int 性别 允许为空 Realname Nvarchar(50) 真实姓名 允许为空 Vip Bit 是否为VIP用户 允许为空 Book Nvarchar(255) 系统广播 允许为空 Score Int 用户积分 允许为空 21 第四章 系统实现 系统实现是在对系统进行过详细设计之后,在物理上将相关功能在计算机上得以实现,包括程序代码的书写,各窗体的调用,对底层数据库的操作等等,它是系统开发进入尾声的阶段。 4.1程序主要页面 4.1.1系统首页 用户可以在页面上浏览到最新上架图书、推荐书籍。 4.1.2 各主要框架页面 单击页面顶部导航栏可以进入新品图书、畅销图书、推荐图书、图书分类等页面,进行浏览。以畅销图书页面例。 4.1.3图书详细资料页面 单击页面内书籍图标进图书详细资料显示页面,显示包括图书作者、出版日期、目录等在内的详细资料及会员评论内容。 4.1.4 用户登录购书页面 单击导航条中“登录”链接,或者单击左侧我的购物车内“请先登录”链接,进入页面登录。登录的用户可以进行图书购买。单击“购物车”链接,则登录用户购物车内添加选择的图书,左侧的购物车中显示购买书籍的信息。 4.1.5 购物车页面 单击左侧“购物车/结账”,进入购物车页面。 22 第四章 系统实现 4.1.6 下订单页面 在购物车页面,回到当用户满意所有选购图书时,可单击“去下订单”按钮,进入订单页面。统计购书金额及数量,并对购书数量进行最后的确认及修改。用户修改数量完毕后,单击“修改”按钮,系统自动计算购物车内所有书籍价格的总和。 4.1.7 结账页面 单击“下一步”按钮,发出订单,进入结账页面,确定收货人姓名、地址及送货、支付方式等送货信息。 4.1.8 订单完成页面 单击“提交订单”按钮,进入订单完成页面,显示购书订单的详细信息。 4.1.9 我的订单 单击左侧菜单栏内“我的订单”栏,可以获得自己的所有订单处理的状态。 4.1.10网上书店后台管理添加新书页面 网上书店管理功能页面也可以说是系统后台功能页面,主要包括3个大类10个功能对网上书店进行综合管理,左侧菜单显示后台程序所有管理功能。单击左侧菜单,页面右侧显示相应功能。以添加新书页面为例,输入新书信息,单击“添加”按钮,在数据库内录入新书信息。 4.2 IIS配置与SQL Server 数据库连接 4.2.1 II配置 IIS是Internet Information Server 的缩写,是微软提供的Internet服务器软件,包括Web、FTP、Mail等服务器。它是Windows操作系统自带的组件。 23 以下对系统进行新建虚拟目录操作: (1) 打开“控制面板”窗口,双击“管理工具”图标,进入“管理工具”窗口。 (2) 双击“Internet服务器管理器”图标,进入“Internet信息服务”窗口。 (3) 单击“操作”目录,选择下拉菜单“新建”|“虚拟目录”命令。 (4) 弹出“欢迎”窗口,单击“下一步”按钮。 (5) 在“别名”文本框中输入映射后的名字,如wsss,单击“下一步”按钮。 (6) 在“目录”文本框中输入要映射的目录,如d:\soft\wsss,单击“下一步“, 进入设置访问权限窗口。 (7) 在这里选择正确的访问权限,再单击“下一步“按钮,即完成设置。 4.2.2创建SQL Server数据库 打开Microsoft SQL Server的“企业管理器”窗口。右击“数据库”分支,弹出右键目录。选择“新建数据库”命令,弹出“数据库属性”窗口。在“名称”文本框内输入wsss,单击“确定”按钮完成创建。 按照要求建数据库后,需要建立网站页面与后台服务器的链接,页面名称为conn.asp。以后当需要对程序中的数据库进行操作时,只需要用 命令就可以直接调用该程序打开数据库,提高程序可读性,同时也提高程序便捷性。代码如下: <% '打开数据库连接 dim conn,connstr Set conn = Server.CreateObject("ADODB.Connection")'创建一个数据库链接对象conn,方便后面调用 connstr="Provider=SQLOLEDB;Data Source=(local);Initial Catalog=wsss;User ID=sa;Password=yanyan;" '创建一个数据库的recordset对象,方便以后调用 conn.Open connstr'打开数据库 %> 4.3 系统程序实现 4.3.1系统首页页面 系统首页主要分为3个部分:顶部为导航栏(head.htm),中间为首页主页面(index.asp),底部为联系页面(foot.asp),左侧为购物菜单导航栏页面(left.asp)。界面内主要显示当前登录用户个人购物信息,网上书店上架图书及推荐图书。 24 第四章 系统实现 1(顶部导航栏页面 为了使界面标准和美观,同时为了调用方便、避免重复和节约代码。将顶部头文件制作成为顶部导航栏页面(head.htm),以后通过命令直接调用。导航栏页面如图4.3.1.1所示。 图4.3.1.1 这是一个静态页面,调用不同功能页面。包含一个动态时间显示过程,页面左上角显示当前系统日期时间。采用JavaScript脚本语言实现,代码如下: 2(底部联系页面 同样为他使界面标准和美观,将底部文件制作成为底部联系页面(foot.htm),以后通过命令直接调用,页面如图4.3.1.2所示。 25 图4.3.1.2 3(系统过程页面 系统有很多页面都要调用系统过程,先将主要过程放入系统过程页面(config.asp),方便以后调用。代码如下: <% '***********定义环境变量*********** dim cookieName,sessionLife '前台用户登陆后的cookie群组名 cookieName="Cwj" '后台登陆Session生命期 sessionLife=40 '***************************子程序********************************* '************************ '子程序名:信息提示窗口 '功能:信息提示,并作返回或者转向 '参数: 'str 提示字符串 'stype 处理类型:Back 返回 GoUrl 转向 Close 关闭 'url 转向方向 '************************ Sub MsgBox(str,stype,url) response.write "" End Sub '************************ '子程序名:格式化输入字符串 '功能:消除HTML标记 '参数: 'fString 要处理的字符串 '************************ function HTMLEncode2(fString) fString = Replace(fString, CHR(13), "") fString = Replace(fString, CHR(10) & CHR(10), "

") fString = Replace(fString, CHR(10), "
") 'fString = Replace(fString, CHR(32), " ") 26 第四章 系统实现 HTMLEncode2 = fString end function function HTMLDecode(fString) fString = Replace(fString, "",CHR(13)) fString = Replace(fString, "

",CHR(10) & CHR(10)) fString = Replace(fString, "
",CHR(10)) 'fString = Replace(fString, " "," ") HTMLDecode = fString end function '************************ '子程序名:测试字符串长度 '功能:返回字符串长度 '参数: 'str 要测试的字符串 '************************ function strlen(str) dim p_len,xx p_len=0 strlen=0 if trim(str)<>"" then p_len=len(trim(str)) for xx=1 to p_len if asc(mid(str,xx,1))<0 then strlen=int(strlen) + 2 else strlen=int(strlen) + 1 end if next end if end function function strvalue(str,lennum) dim p_num,x,i if strlen(str)<=lennum then strvalue=str else p_num=0 x=0 do while not p_num > lennum-2 x=x+1 if asc(mid(str,x,1))<0 then p_num=int(p_num) + 2 else p_num=int(p_num) + 1 end if strvalue=left(trim(str),x)&"..." loop end if end function %> 4(系统首页主页面 首页主页面(index.asp)显示上架新书、推荐图书。同时提供图书搜索功能。首页 主页面上控件及其功能如表4.3.1所示。 27 表4.3.1 首页主页面上控件及其功能 对 象 功 能 表格 用户控制页面显示位置 图片 显示书籍封面图片 表单 提交表单,名称为form1 按钮 单击“快速搜索”按钮提交表单 单击“高级搜索”按钮进入搜索页面serarch.asp 文本框 输入待查询图书的名称 下拉框 选择系统图书种类,内容由系统初始化查询表category得到 页面代码分析如下: <%?调用过程页面config.asp%> <%?调用过程conn.asp页面打开数据库%> <% dim i „定义变量i set rs=server.CreateObject("adodb.recordset") „定义一个recordset对象rs %> ..... <%?调用过程head..htm页面,显示系统导航栏%> ..... <%?调用left..htm页面,显示购物菜单导航栏%> ..... , 图书高级搜索及快速搜索 创建表单提供搜索入口及下拉菜单,供用户选择搜索使用,单击“搜索”按钮实现搜索功能。代码如下:


书名: <%?按钮属性设置 %> 28 第四章 系统实现 ..... , 推荐图书信息显示 搜索数据库内最新推荐图书信息,在页面上显示图书名称、图片、简介、定价等信息。推荐图书检索、显示代码与新书上架代码基本相同,只是在查询图书信息表product推荐书籍,且按照添加日期降序排序的前6本书籍。代码如下: ..... <%„ 查询图书信息表product条件为推荐字段recommend等于1,且按照添加日期字段adddate降序排列的前6本书籍 rs.open "select top 6 id,detail,remark,discount,vipprice,author,price1,price2,name,pic,mark from product where recommend=1 order by adddate desc",conn,1,1 „如果记录为空,则输出提示:否则循环插入推荐图书信息 if rs.eof and rs.bof then response.write " 对不起,暂时还没有商品~" 'response.End end if i=0 do while not rs.eof ..... <%?页在结束 %> ..... <%?调用页面foot.htm,显示联系信息 %> 5(购物菜单导航栏页面 购物菜单导航栏页面(left.asp),主要用于显示用户购物车信息、栏目导航信息、畅销排行榜信息,页面流程图如图4.3.1.5所示。 29 Config.asp页面,调用函数 Conn.asp页面,打开数据库 是 是否选购图 书 是 否 用户是否登录 提示 是 是 图书在购物车内 提示 否 添加至购物车中 登录用户计算应付款总额 图4.3.1.5 页面代码实现如下: <%?调用过程页面config.asp %> <%?调用conn.asp,打开数据库 %> <% Dim iaction ,iid „定义状态变量iacton,编号变量iid ‘变量iaction 等于提交状态变量action的值 Iaction=request.QueryString(“action”) Iid= request.QueryString(“id”) ‘变量iid 等于书名编号变量id的值 ..... <%?页在结束 %> 30 第四章 系统实现 4.3.2 购物车界面 )用户购物车功能主要由用户购物车页面(car.asp)、注册用户功能菜单页面(uleft两部分组成。 1. 用户购物车页面 用户购物车页面(car.asp)主要是用户存放挑选的书籍,并显示挑选书籍的市场价、会员价、折扣信息。可以对不满意的产品进行删除。页面控件及功能如表4.3.2所示。 表4.3.2 用户购物车页面控件及功能 对 象 功 能 表格 用户控制页面显示信息位置 图片 显示删除图片 表单 提交表单,名称为form1 按钮 单击“去下订单”按钮提交表单 单击“继续采购”按钮关闭窗口 复选框 选择操作书籍 页面代码实现如下: <%?调用过程页面config.asp %> <%?调用conn.asp,打开数据库 %> <%?调用chk..asp,检查用户是否登录%> 执行操作 根据提交变量,删除或者增加数据库内订单记录。代码如下: <% dim id,username,action action=request.QueryString("action") ‘状态变量action等于提交变量action的值 ‘用户姓名变量username等于提交变量username的值 username=trim(request.cookies(cookieName)("username")) id=request.QueryString("id") ‘图书编号变量id等于提交变量id的值 set rs=server.CreateObject("adodb.recordset") ‘定义一个recordset对象rs ‘如果状态变量action的值等于del,则删除用户订单orders选择的书籍。如果状态变量action的值等于add,则增加用户订单表order选择的书籍 select case action case "del" ‘删除用户订单表orders中编缉字段等于提交变量actionid的值 conn.execute "delete from orders where actionid="&request.QueryString("actionid") response.redirect "car.asp" ‘返回页面car.asp case "add" ‘查询表orders中当前登录用户购物车中的书籍记录 rs.open "select id,username from orders where username='"&username&"' and id="&id&" and state=6",conn,1,1 if not rs.eof and not rs.bof then ‘如果记录不为空,则输出提示 call MsgBox("对不起,此商品已存在于您的购物车中,不可以重复添加~","Close","None") response.end rs.close 31 else ‘记录不为空,则在数据表中添加选择书籍,并输出提示 rs.close rs.open "select id,username,state,paid from orders",conn,1,3 rs.addnew rs("id")=id rs("username")=username rs("state")=6 rs("paid")=0 rs.update rs.close set rs=nothing call MsgBox("商品成功添加到你的购物篮~","Close","None") response.end end if end select rs.open "select orders.actionid,orders.id,product.name,product.price1,product.price2,product.discount from product inner join orders on product.id=orders.id where orders.username='"&request.cookies(cookieName)("username")&"' and orders.state=6",conn,1,1 %>‘查询表product中当前登录用户购物车中的书籍信息 %> 用户确认页面(chk.asp) 页面调用用户确认页面(chk.asp)检查用户是否登录。如果登录用户名为空,则弹出提示,页面返回用户登录页面login.asp。代码如下: <% if request.cookies(cookieName)("username")="" then call MsgBox("对不起,您还没有登录~","GoUrl","login.asp") response.end end if %> 2. 注册用户功能菜单页面 注册用户功能菜单页面(uleft.asp)是一张静态页面,比简单。主要用于功能页面的调用。源码附后,在此不再详述。 4.3.3 用户下订单页面 用户下订单页面(cart.asp)主要显示用户购买商品价格、数量以及购买书籍的总价格,也可以对商品数量进行修改。用户下订单页面控件及功能如表4.3.3所示。 32 第四章 系统实现 表4.3.3 用户下订单页面控件及功能 对 象 功 能 表格 用户控制页面显示信息位置 表单 提交表单,名称为form1 按钮 单击“下一步”按钮提交表单 单击“修改”按钮关闭窗口 文本框 修改购买图书数量 页面代码如下: <%?调用过程页面config.asp %> <%?调用conn.asp,打开数据库 %> <%?调用chk..asp,检查用户是否登录%> 1) 判断购物车内有无商品 判断购物车内有无商品,没有商品弹出警示。代码如下: <% Dim id ,i,iii,books ,bookcount,product Id=request(“id”) „变量id等于提交图书编号id的值 If id=”” then ‘如果id的值等于空,则弹出提示 Call msgbox(“你的购物车内没有商品~”,”Back”,”None”) response.end end if %> 4.3.4 用户结账页面 用户结账页面(checkout.asp),主要用户输入收货人、送货方式等信息,并提交数 据库。 用户结账页面控件及功能如表4.3.4所示。 表4.3.4 用户结账页面控件及功能 对 象 功 能 表格 用户控制页面显示信息位置 表单 提交表单,名称为form1 按钮 单击“提交订单”按钮提交表单 文本框 输入留言,由用户手工输入,名称为comments 下拉框 选择用户性别,名称sex 文本框 输入收货人信息,由用户手工输入 1. 查询登录用户信息 查询注册用户信息表user查询当前登录用户记录。代码如下: <% set rs=server.CreateObject("adodb.recordset") „定义一个recordset对象rs rs.open "select recepit,userid,sex,useremail,city,address,postcode,usertel,paymethord,deliverymethord,realname from [user] where username='"&request.cookies(cookieName)("username")&"'",conn,1,1 dim userid,id id=request("id") „变量id等于提交图书编号id的值 userid=rs("userid") „变量userid等于提交用户编号userid的值 33 %> 2. 页面html代码 页面html代码勾画页面。代码如下: ..... ..... <%„调用head.htm页面,显示导航栏%> ..... <%?调用过程页面uleft.asp ,显示用户菜单%> ..... <%?表单属性%> ..... 3. 表单内隐藏文本属性 表单内隐藏文本属性值等于图书编号。代码如下: <% dim rs2 set rs2=server.CreateObject("adodb.recordset") „定义一个recordset对象rs2 ‘查询表product中图书编号等于变量id的记录,并按照图书编号排列 rs2.open "select id from product where id in ("&id&") order by id",conn,1,1 do while not rs2.eof ‘如果记录不为空,则循环在隐藏文本框内输入图书编号 %> " type="hidden" value="<%=cint(request("shop"&rs2("id")))%>"> <% rs2.movenext ‘指针下移 loop rs2.close ‘rs关闭 set rs2=nothing ‘rs清空%> 4. 用户身份信息属性 表单内收货人姓名文本框、性别下拉框、隐藏真实姓名及用户编号文本框属性。代码如下: 收货人姓名: >   性 别: > > 5. 用户个信息属性 表单内收货人、邮编等文本框属性。代码如下: <%„发货人省/市%> > <%„详细地址%> > <%„邮编%> > <%„电话%> > <%„电子邮件%> > 6. 简单留言文本区 表单内简单留言文本区属性。代码如下: ..... 7. “提交订单”按钮 表单内“提交订单”按钮属性,代码如下: 8. 页面结束 代码如下: .....
..... 4.3.5订单完成页面 订单完成页面(vorder.asp)显示包括图书名称、价格、数量及收货人等在内的订单 全部信息。以下简述一下“查询当前登录用户”功能的代码实现,其他部分请参考源代码。 35 代码如下: <% Dim rsvip,stvip set rsvip=server.CreateObject("adodb.recordset") „定义一个recordset对象rs rsvip.open "select vip from [user] where username='"&request.cookies(cookieName)("username")&"'",conn,1,1 strvip=rsvip("vip") rsvip.close „rsvip关闭 set rsvip=nothing „rsvip清空 %> 4.3.6 我的订单页面 单击注册用户功能菜单内“我的订单”栏,页面显示我的订单页面(myvorder.asp),显示当前用户所有订单及订单状态,其部分关键代码及其分析如下: ..... <%set rs=server.CreateObject("adodb.recordset") „定义一个recordset对象rs dim state „state 变量state的值等于提交变量state的值 state=request.QueryString("state") „如果状态的值等于0,则查询orders表中,当前登录用户从”未作任何处理”到”用户已经收到货”的全部订单并按照日期降序排序。如果状态的值为1,则查询orders表中,当前登录用户从”未作任何处理”到”服务商已经发货”的全部订单并按照日期降序排序 if state=0 or state="" then select case state case "0" rs.open "select distinct(goods),realname,actiondate,recepit,deliverymethord,paymethord,state from orders where username='"&request.cookies(cookieName)("username")&"' and state<6 order by actiondate desc",conn,1,1 case "" rs.open "select distinct(goods),realname,actiondate,recepit,deliverymethord,paymethord,state from orders where username='"&request.cookies(cookieName)("username")&"' and state<5 order by actiondate desc",conn,1,1 end select else „如果状态的值为0不为空,则查询orders表中,当前登录用户等于提交的订单的全部订单,并按照日期降序排序 rs.open "select distinct(goods),realname,actiondate,recepit,deliverymethord,paymethord,state from orders where username='"&request.cookies(cookieName)("username")&"' and state="&state&" order by actiondate",conn,1,1 end if „如果订单记录不为空,则循环输出订单数据 do while not rs.eof %> "><%=trim(rs("goods"))%> <% dim shop,rs2 36 第四章 系统实现 set rs2=server.CreateObject("adodb.recordset") „定义一个recordset对象rs2 „查询送货/汇款方式表delivery中编号等于提交订单送货方式相等的数据记录 rs2.open "select * from delivery where deliveryid="&rs("deliverymethord"),conn,1,1 „定义一个recordset对象shop set shop=server.CreateObject("adodb.recordset") „查询订单作信息表orders中编号等于提交订单编号相等总金额的和 shop.open "select sum(paid) as paid from orders where goods='"&trim(rs("goods"))&"' ",conn,1,1 „输出订单总金额加上送货费用的和 response.write ""&round(shop("paid")+rs2("fee"),1)&"元" shop.close „shop关闭 set shop=nothing „shop清空 rs2.close „rs2关闭 set rs2=nothing „rs2 清空 %> <%=trim(rs("recepit"))%> <%=trim(rs("realname"))%> <%=trim(rs("actiondate"))%> <% „根据订单状态数字不同,输出相应的状态解释 select case rs("state") case "1" response.write "未作任何处理" case "2" response.write "用户已经划出款" case "3" response.write "服务商已经收到款" case "4" response.write "服务商已经发货" case "5" response.write "用户已经收到货" end select%> 付款方式: <%set rs2=server.CreateObject("adodb.recordset") „定义一个recordset对象rs2 „查询送货/汇款方式表delivery中编号等于查询订单支付方式相等的数据记录 rs2.open "select * from delivery where deliveryid="&rs("paymethord"),conn,1,1 response.Write trim(rs2("subject")) „输出支付方式名称 rs2.close „rs2关闭 set rs2=nothing „rs2清空%> 收货方式: <%set rs2=server.CreateObject("adodb.recordset") rs2.open "select * from delivery where deliveryid="&rs("deliverymethord"),conn,1,1 response.Write trim(rs2("subject")) „输出送货方式名称 rs2.close „rs2关闭 set rs2=nothing „rs2清空%> ..... <% rs.movenext „指针下移 loop rs.close „rs关闭 set rs=nothing „rs清空%> ..... 37 4.3.7 网上书店后台管理页面 管理员登录后进入后台管理页面。系统后台管理分为3个部分:商品和管理页面、分类管理页面和用户管理页面。 商品管理页面由添加新加页面(addpro.asp)、管理书籍页面(mpro.asp)、订单管理页面(porder.asp)和类别转移页面(mclass.asp)3部分组成。用户管理页面由客户管理页面(quser.asp)、用户管理页面(huser.asp)、送货/汇款方式(delivery.asp)和注销推出(logout.asp)5部分组成。现在仅以管理书籍页面为例。管理书籍页面(mpro.asp)主要对库存书籍进行修改和查看。可对所选书籍进行修改、删除、对书籍也具有查询功能。管理书籍页面控件及功能如表4.3.7所示。 表4.3.7管理书籍页面控件及功能 对 象 功 能 表格 用户控制页面显示信息位置 表单 删除表单form2,查询表彰form1、动态分页表单 按钮 单击“删除”按钮提交表单,删除选择书籍 单击“查询”按钮提交表单,按条件查询书籍 复选框 选择要删除的书籍 页面代码如下: , 删除图书信息 <% dim selectm,selectkey,selectid „查询关键字变量selectkey等于提交的”请输入关键字”文本框的值 selectkey=trim(request(trim("selectkey"))) „查询类型变量selectm等于提交的查询类型下拉的值 selectm=trim(request("selectm")) „如果变量selectkey的值为空,则selectkey 赋值提交变量selectkey的值 if selectkey="" then selectkey=request.QueryString("selectkey") end if „如果变量selectm的值为空,则selectm赋值提交变量selectm的值 if selectm="" then selectm=request.QueryString("selectm") end if „选择图书编号selectid等于提交选择删除的selectid的值 selectid=request("selectid") „选择删除的图书编号不为空,则判断用户权限是否大于1,如果大于1,则调用过程msgbox输出权限错误,否则删除图书信息表product中图书编号等于选中图书编号的数据记录 if selectid<>"" then if session("rank")>1 then call Msgbox("你的权限不够~","Back","None") response.End end if conn.execute "delete from product where id in ("&selectid&")" response.Redirect "mpro.asp" „返回mpro.asp页面 38 第四章 系统实现 response.End end if %> , 创建过程 页面用到两个用JavaScript语言编写的过程。创建检测过程text,用户确定是否确定删除所选择的图书。创建全选过程mm,全选择所有书籍。代码如下:
, 创建显示书籍记录过程 代码如下: sub showContent „创建过和showContent显示书籍记录 dim i i=0%>
..... <% „查询图书记录不为空,则循环插入图书名称、作者、出版社等图书信息 do while not rs.eof%>  > <% „如果图书名称小于20个字符,输出图书名称。长于20个字符则输出前18个字符,其余用”...”代替 if len(trim(rs("name")))>20 then response.write left(trim(rs("name")),18)&"..." else response.write trim(rs("name")) end if%> <%„如果图书名称小于20个字符,输出图书名称。长于20个字符则输出前18个字符,其余用”...”代替 if len(trim(rs("author")))>20 then response.write left(trim(rs("author")),18)&"..." 39 else response.write trim(rs("author")) end if%>   <%„如果图书名称大于30个字符,输出图书名称。长于30个字符则输出前28个字符,其余用”...”代替 if len(trim(rs("mark")))>30 then response.write left(trim(rs("mark")),28)&"..." else response.write trim(rs("mark")) end if%> <%=rs("adddate")%> "> <%i=i+1 „记录图书本数 if i>=MaxPerPage then Exit Do „如果记录完毕,则退出循环 rs.movenext „指针下移 loop rs.close set rs=nothing%> 全选   .....
End Sub ..... <%?调用页面foot.htm,显示联系信息% > 40 第四章 系统实现 第五章 结束语 经过对网上购书系统的研究和实现,可以看出,使用三层客户/服务器结构,是浏览器操作、中间件和数据库处理分离,他们之间使用标准接口,提高了软件开发的效率,并可以有效保护软件及硬件投资,增加了系统的可维护性。另外,论文所实现的网上购书系统可以稍加修改就可以实现中小型商店网上购物系统,具有一定的社会效益。 纵观当今网络技术的发展,Internet已成为最具市场潜力的技术。使用Web技术设计的数据库应用软件,可以通过Internet进行数据库访问,是目前Internet市场中的技术中坚,各种WEB应用,如电子商务、网上信息系统等,都使用这种方式实现,事实证明,这种技术不仅可行,而且由于它的二次开发简单,可以进行广泛的应用。 41 致 谢 感谢徐增春导师,在设计过程中,不断的给予我解释、分析、启发、引导等帮助,让我在实践中补充了理论知识,加强了实践经验。他在程序设计上的丰富经验让我深深的佩服,她对技术的不满足,仍然孜孜不倦的研究改进的精神很值得我学习;在她身上,我看到了科学家的影子,就是她这种精神,深深的影响了我,让我对于程序设计工作,有了一份更严谨态度,同时,有力地提高了此次毕业设计课题的性能。 最后,还十分感谢我的学校南京工业大学和我学校的其他老师,感谢她们培养了我,锻炼了我。以后,我仍然会很努力的学习,工作,争取有更出色的成绩,以此来报答我的母校,我的老师。 42 致谢 参考文献 [1]汪晓平,钟军. ASP网络开发技术(第二版).人民邮电出版社,2003. [2]万峰科技.ASP网站开发四“酷”全书:新闻、论坛、电子商城、博客.电子工业出版社,2005. [3](美)默瑟.ASP3.0编程起步.人民邮电出版社,2001. [4]求是科技.ASP信息管理系统开发.人民邮电出版社,2005. [5]金林樵.网络数据库技术及应用.机械工业出版社,2002. [6]艾斯伯斯图.构建WEB解决方案---应用ASP.NET和ADO.NET.清华大学出版社,2002. [7]申莉莉等.Access数据库应用教程.机械工业出版社,2005. [8]黄凯涛,吴华忠.Access 2000中文版学习教程.北京大学出版社,2001. [9]朱永春,尹显俊等.Access 2000中文版实例与疑难解答.电子工业出版社,2001. [10]萨师煊,王珊.数据库系统概论.高等教育出版社,2002. [11]李振华,季小武.DREAMWEAVER基础教程.清华大学出版社,2005. [12]肖金秀.ASP网络编程技术.清华大学出版社,2001. [13]北京东方人才科技有限公司等.DREAMWEAVER MX入门与提高.清华大学出版社,2002. [14]文渊阁工作室.FLASH MX网页.中国铁道出版社,2002. [15]周志忠.互联网数据库.中国财政经济出版社,2001. 43
/
本文档为【网上购书系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索