网上购物系统论文

上传人:细水****9 文档编号:57388591 上传时间:2022-02-23 格式:DOC 页数:33 大小:834.50KB
返回 下载 相关 举报
网上购物系统论文_第1页
第1页 / 共33页
网上购物系统论文_第2页
第2页 / 共33页
网上购物系统论文_第3页
第3页 / 共33页
点击查看更多>>
资源描述
编号:河南大学2012届本科毕业设计网上购物系统的设计与实现 论文作者姓名: 朱宁博 作 者 学 号: 所 在 学 院: 人民武装学院 所 学 专 业:信息管理与信息系统 导师姓名职称: 李丰 教授 论文完成时间: 2012-2-24 二零一二年 二月二十四日网上购物系统的设计与实现信息管理与信息系统专业 朱宁博 学号:摘 要随着互联网技术的迅猛发展,现在Internet已从单纯的学术科研向综合性商业网络发展,人们对于互联网技术的要求已不单单是浏览一下网页、收发电子邮件等简单的网络应用。高速发展的互联网技术为网上购物系统的发展提供了强大的动力,同时,网上购物的环境已经逐步得到了改善。网上购物对网民的吸引力将会越来越大,网民对购物网站的看法也将必定会从不了解到了解,从拒绝到接受,从怀疑到信任,网上购物的观念将更加深入人心。在本网上购物系统中,顾客能够方便的进行用户注册,查看商品,并可以将满意的商品加入购物车。顾客购买完商品后,会得到系统自动分配的一个唯一的订单号,以方便顾客随时查询订单处理情况,了解现在货物的状态;而且管理员可以对商品的信息进行维护与管理,包括对现有商品信息的修改、新商品信息的加入、过时商品信息的删除等;管理员还可以查看历史订单的记录和现在订单的情况。本设计以Microsoft Visual Studio 2005为开发环境,采用当前比较流行的C#编程语言进行编码,数据库采用的是Microsoft SQL Server 2005。关键词: 网上购物;顾客;商品;订单;C# DESIGN AND IMPLEMENTATION OF ONLINE SHOPPING SYSTEMABSTRACTWith the development of internet technology, now the Internet is changed from scientific research to business application. What the peoples demand are not just the easy applications such as browsing the web sites, sending or receiving E-mails. Web Shopping systems are very powerful with the fast development of Internet, at the same time, the environment of shopping online has improved step by step. Shopping online will be more and more attractive to net citizens whose attitude to a shopping web site are changed from incomprehension to comprehension, from denial to acceptance, from suspicion to trust. The concept of shopping online will go deep into peoples mind gradually.This web shopping system is very convenient for customers to register, view all kinds of products and add what they like to shopping cart. After ones shopping, the system will create the only order number and distribute it to this customer. By this way, the customer can check the process of his/her order. The administrator of this system can maintain and manage all products information, including updating the information, adding new products to system and deleting unfashionable products from system. The administrator also can view all history orders and the situation of all new orders. This web shopping system is based on Microsoft Visual Studio 2005 by C# programming language and Microsoft SQL Server 2005 database.KEY WORDS: Shopping online;Customer;Product; Order; C#目 录摘 要IABSTRACT.II一、 绪论1(一) 系统开发背景1(二) 系统研究现状1(三) 系统研究意义1(四) 系统主要开发技术及解决问题1二、 理论基础2(一) ASP.NET技术21. ASP.NET简介22. ASP.NET优点23. ASP.NET 工作原理2(二) 数据库原理41. SQL语言简介42. Microsoft SQL Server 2005简介4三、 系统分析5(一) 系统可行性分析51. 市场前景可行性分析52. 技术可行性分析5(二) 系统需求分析51. 顾客对系统的需求分析52. 管理员对系统的需求分析6四、 系统总体设计6(一) 前台设计61. 系统首页模块设计62. 商品管理模块设计63. 购物车模块设计64. 订单管理模块设计75. 用户管理模块设计76. 用户控件模块设计7(二) 后台设计71. 商品管理模块设计72. 订单管理模块设计73. 用户管理模块设计7(三) 系统流程图设计8(四) 数据库设计方案81. 数据库表的定义82. 数据库表的设计9五、系统实现11(一)前台功能模块的具体实现111. 系统首页模块的具体实现112. 商品管理模块的具体实现133. 购物车模块的具体实现144. 订单管理模块的具体实现155. 用户管理模块的具体实现176. 用户控件模块的具体实现18(二) 后台功能模块的具体实现181. 商品管理模块的具体实现182. 订单管理模块的具体实现203. 用户管理模块的具体实现21六、 系统测试与测试结果分析22(一) 前台测试与分析22(二) 后台测试与分析23结 束 语25致 谢25参考文献26一、绪论(一)系统开发背景近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念。网上购物系统是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些不会经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如产品报价,产品更新等。网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子交易。在现实生活中,网上购物已经成为现代人的一种需求,它的方便快捷是传统购物方式无法比拟的。(二)系统研究现状在欧美发达国家,信息化程度远远高于我国,发展速度相当迅猛,世界500强中的大多数零售企业都纷纷挤身网络经销商的行列,广大网民在网上的购买额已经达到了相当巨大的数量,甚至有超过传统购物方式的趋势,而且这种趋势不可逆转。调查表明:在互联网技术的诞生之地美国,绝大部分家庭已越来越习惯于在家中从网上购物。在我国,第一次网上购物发生在1996年,当时北京燕莎友谊商场首次通过网上商城售出一个景泰蓝,虽然货款的支付不是在网上进行的,但这毕竟为我国零售业奏出了网上购物的先声。根据CNNIC(中国互联网信息中心)的统计结果,截止2007年1月在网民经常使用的网络服务/功能中网上购物所占的比例达到了23.6%,并且已经有相当多的人以网上购物作为其上网的主要目的,中国网民总人数达到了1.37亿,与去年同期相比,中国网民总人数一年增加了2600万人,增长率为23.4%,但是这1.37亿网民在中国13.1亿总人口中还仅占10.5%(去年同期为8.5%),这说明尽管中国的网民总数大,增长快,但互联网络的普及程度目前还很低,未来的发展空间仍然很大。因此在中国发展网上购物具有良好的群众基础,网上购物方式日趋被大家所接受。 (三)系统研究意义互联网的快速发展为网上购物系统的发展提供了强大的动力,同时,网上购物的环境也已经逐步得到了改善,表现在网民结构的大众化和网络生存的普及化,物流和银行结算的畅通,以及市场运作的规范和相应政策法规的完善。网上购物对网民的吸引力将会越来越大,网民对购物网站的看法也将必定会从不了解到了解,从拒绝到接受,从怀疑到信任,从否定到肯定,网上购物的观念将更加深入人心。 (四)系统主要开发技术及解决问题网上购物系统不同于其它性质的网站,由于涉及到交易,因此对于严谨性有很高的要求。每一个细小的环节都和重要。这样才能使得在网上电子交易时避免不必要错误发生。我将使用ASP.NET网络编程技术来编辑网页,以及SQL Server数据库技术来建立功能强大的的数据库,并运用ODBC技术把数据库和动态网页相关联。传统的静态管理信息系统获取信息的方法是由专业文字录入人员将信息输入到管理系统的数据库中,这种方法在数据量不大时有很多的应用场合。但是,当数据量比较大,并且有较强的专业性时,录入的费用和出错的可能性都相应上升。本设计在实际应用开发中解决方案是建立网站,以及自己的动态数据库,使得所有商品信息可以及时的保存、更新。可以使客户更好的及时了解商品买卖的情况,并进一步逐步解决网上购物系统在线商品信誉差,支付难,物流体系不健全,个人信息安全性差,服务方式单一等问题。二、理论基础(一)ASP.NET技术1.ASP.NET简介ASP.NET技术是Microsoft公司推出的新一代动态Web开发工具,是电子商务、电子政务、远程教育等Web应用开发的主流技术之一。ASP.NET不同于ASP,它是建立在.NET Framework之上,提供了更易于编写且结构更清晰的代码,它使用VB.NET和C#等模块化语言编写程序,提高了代码的再利用性和共享性。ASP.NET在结构上几乎完全基于组件和模块化的,Web应用程序的开发人员使用这个开发环境可以实现更加模块化的、功能更强大的应用程序。2.ASP.NET优点ASP.NET的优点主要体现在效率高、可重用性高、代码量少这三方面。在使用ASP进行程序设计的时候,由于ASP使用的是脚本语言,所有的代码都嵌入到HTML代码中,所以当编制功能复杂的网页时,就需要编写大量的代码,而且会导致程序代码的可读性差的问题。另外,由于所有的代码都是解释执行的,所以相对速度较慢,并且无法有效地利用机器硬件的各种性能。ASP.NET与ASP相比较效率更高,提供了很高的可重用性,对于实现同样功能的程序,ASP.NET使用的代码量比ASP要少得多。ASP.NET采用全新的编程环境,代表了技术发展的主流方向。3.ASP.NET工作原理要详细了解ASP.NET的工作原理,首先要了解什么是.NET,什么是.NET Framework,什么是公共中间语言。 3.1.NET对于.NET,微软自己也没有一个详细确切的定义。但是我们可以这样认为:.NET是微软公司要提供的一系列产品的总称。具体说来,.NET由下面的几个部分组成:.NET战略、.NET Framework、.NET企业服务器和.NET开发工具。.NET战略是指把所有的设备通过Internet连接在一起并把所有的软件作为这个网络所提供的服务的想法。.NET Framework是一个程序设计环境,它提供了具体的服务和技术,方便开发人员建立相应的应用程序。.NET企业服务器是指SQL Server 2000之类由.NET Framework应用程序使用的服务器端产品。它们虽然不是由.NET Framework编写成的,但是它们都支持.NET。为了能够在.NET Framework上进行程序开发,微软把Visual Studio进行升级,并把升级后的产品命名为Visual Studio.NET。这就是.NET开发工具。 3.2.NET Framework.NET Framework是.NET战略的核心。.NET Framework分为以下几个部分:MS中间语言、CLR、.NET Framework类库、.NET语言、ASP.NET和Web服务。MS中间语言是.NET的通用语言。无论使用哪一种.NET语言编写的程序代码,在执行之前,都会把它编译成为MS中间语言。CLR(Common Language Runtime,公共语言运行时刻库)用于执行MS中间语言。.NET Framework类库中包含了大量可以实现重要功能的代码库。用户在编写程序的时候可以很方便地把这些库调用到应用程序中,实现更加复杂的功能。由于这些类库的存在,使得编写功能强大的程序更加容易。.NET语言是指可以将使用其编写的代码编译成为MS中间语言的的编程语言。常见的语言有VB.NET和C#等。Web服务是指可以通过Web访问的组件。 3.3.公共中间语言在.NET Framework中使用高级语言(例如VB.NET、C#)编写的程序,需要在运行前将其编译成为中间语言(例如MS中间语言)。需要注意的是,中间语言并不是一种可以直接执行的机器代码。与高级语言编写的代码相比,它的可读性很差,但是进行了一系列的优化。为了执行中间语言,需要一个执行环境CLR。CLR在.NET Framework中的位置十分重要,可以说是.NET Framework的基础。CLR用JIT(Just-In-Time)编译器把中间语言代码编译成可以执行的代码,并对程序进行最后的、与机器相匹配的优化,使得程序可以在所在计算机上尽可能高效地运行。采用这种方式的原因是,早期的编译方式是把程序源代码直接编译成机器代码。这时编译好的程序虽然也进行了与机器相匹配的优化,但是这些优化都是针对编译源代码的机器进行的。如果把编译好的程序放到其他类型的机器上,那么所进行的优化就有可能没有任何意义,并且如果机器的硬件发生变化,那么还有编译后的程序无法执行的可能,因为新的机器可能没有原来机器所拥有的某种资源。而如果采用了公共中间语言的方式,就可以很好地解决这个问题。由于中间语言与机器无关,所以它可以在任何一个可以运行CLR的机器上运行。并且由于所有的关于机器的优化都是由CLR进行的,所以不存在早期编译所产生的由于机器不同而产生的不兼容的问题。ASP.NET的工作原理是:首先,有一个HTTP请求发送到Web服务器要求访问一个Web网页。Web服务器通过分析客户的HTTP请求来定位所请求网页的位置。如果所请求的网页的文件名的后缀是aspx,那么就把这个文件传送到aspnet_isapi.dll进行处理,由aspnet_isapi.dll把ASP.NET代码提交给CLR。如果以前没有执行过这个程序,那么就由CLR编译并执行,得到纯HTML结果;如果已经执行过这个程序,那么就直接执行编译好的程序并得到纯HTML结果。最后把这些纯HTML结果传回浏览器作为HTTP响应。浏览器收到这个响应之后,就可以显示Web网页。(二)数据库原理1.SQL语言简介SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle、Sybase、Microsoft SQL Server、Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select、Insert、Update、Delete、Create以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。在众多的SQL命令中,select语句应该算是使用最频繁的。select语句主要被用来对数据库进行查询并返回符合用户查询标准的结果数据。select语句中位于select关键词之后的列名用来决定哪些列将作为查询结果返回。用户可以按照自己的需要选择任意列,还可以使用通配符“*”来设定返回表格中的所有列。select语句中位于from关键词之后的表格名称用来决定将要进行查询操作的目标表格。除了上面所提到的运算符外,LIKE运算符在where条件从句中也非常重要。LIKE运算符的功能非常强大,通过使用LIKE运算符可以设定只选择与用户规定格式相同的记录。2.Microsoft SQL Server 2005简介SQL Server 2005 是建立在SQL Server 7.0 在可伸缩性、可用性、可管理性和数据仓库成功的基础上,并且引入了针对电子商务的重要新功能。在高性能和企业级可伸缩性领域,SQL Server 2005 设计成利用Windows2000 对更多处理器、更大的系统内存的支持,最终达到支持64 位硬件平台。在不断提升可用性的努力过程中,SQL Server 2005 采用Windows 2000 四路群集,提供了大大改进的群集支持。SQL Server 7.0 已经在可管理性和易用性方面在行业内领先,SQL Server 2005 通过与Windows 2000 活动目录紧密结合进一步改进了这些功能。而且,SQL Server 2005 还包含对现有管理工具和实用程序的重大改进,并引入更具自我调节和自我管理的引擎功能。SQL Server 2005 按照设计可以为部署和维护强大的、易于管理、支持商务活动的Web 站点提供最好的性能,这些站点可以从事商家和商家之间或商家与客户之间的交易。在寻求一个支持您的电子商务解决方案的数据库时,需要考虑的项目包括:可用性、性能、可管理性和价格三、系统分析(一)系统可行性分析1.市场前景可行性分析由1.2可知,当前网上购物市场是具大的,而且市场还在发展初期,其市场潜力不可估量,综上所述,系统的市场前景是可行的。2.技术可行性分析一个系统在技术上是否可行,往往从开发的风险,资源的有效性,相关技术的发展等方面来分析。开发风险的大小直接关系到系统的成败。本系统的实现从其所需要实现的功能上来说,现有的比较成熟的技术已基本上能满足其功能需求,而且有很多当前已成功开发并投入使用的网上购物系统可供借鉴。因此,从系统的开发风险来分析,本系统的开发是可行的。在本系统的开发过程中,主要用到开发工具有Visual Studio 2005、SQL Server 2005等。这些技术和开发工具都是完善,在实践中多次被运用的,是完全可行的,不会存在技术上的问题。所以从技术环节上来说不存在无法实现的情况发生。 (二) 系统需求分析1.顾客对系统的需求分析顾客在网上购物看重的是方便和快捷,因此系统要使顾客能够在大量的产品信息中迅速搜索到自己想要了解的产品信息。并且,由于顾客中可能存在有很多并不熟悉网上购物流程的人,系统操作流程应该简单、易用。首先顾客能在商城中查询各种商品的介绍、实物图片、价格等基本信息,以便顾客确定自己满意的商品。选好商品后,顾客可以将所选商品放入购物车,如果在结算前改变主意,依然可以不用购买。当顾客选定所要购买的商品后,能够向系统提交并由系统自动生成相应的定单号。同时,系统的安全性也是顾客关注的,就系统本身而言主要是用户验证、站点、服务器的安全,这些在后面的章节中将会有所分析。2.管理员对系统的需求分析系统管理员在此系统中扮演着非常重要的角色,管理员可以进行商品管理、定单管理、注册用户管理等需求。并且系统面对大量的信息应该做到条理清楚,管理员能够轻松的找到需要的管理类别。为了实现这些需求,管理中心应该做到功能齐全,模块划分明确。本系统中管理部分分为用户管理、定单管理、商品管理这三个模块。此外,和前台顾客一样管理中心同样有对系统的安全需求。四、系统总体设计(一)前台设计图1 网上购物系统前台功能模块图根据功能的要求,本网上购物系统的前台可划分为以下功能模块:1.系统首页模块设计提供用户登录、注册,管理员登录以及产品中心的接口,提供简单快捷的商品查询,并且能够显示当前最新的商品和当前销量最好的商品。2.商品管理模块设计允许顾客浏览商品列表,查看所有商品类别以及商品的详细信息。3.购物车模块设计在已注册ID的情况下,登录的顾客可以将自己满意的商品加入到购物车中,并且能够查看购物车的内容,在最终结算以前,允许顾客删除商品或更改购买数量,确认无误以后可以结算生成相应的定单。4.订单管理模块设计当顾客确定购买以后,系统会自动为此定单生成其唯一的定单号,并且支持顾客查看此定单的详细信息,包括所有购买商品的列表以及分别对应的单价和总额,并且登录的顾客可以查看其当前定单的状态以及在本网上购物系统中所有历史定单信息。5.用户管理模块设计本系统不支持匿名购买商品,顾客要购物的话必须注册相应的ID,因此主要功能为支持用户注册,同时也支持用户修改其基本信息,包括修改登录密码。6.用户控件模块设计显示本网上购物系统的顶端图片以及一些友情链接和版权信息,使本系统更加美观、更加符合当前网站主流样式。(二)后台设计 图2 网上购物系统后台功能模块图1.商品管理模块设计系统管理员可以通过管理中心向系统加入新商品以及其相关信息,删除过期商品,更新现有商品信息。2.订单管理模块设计当顾客确定购买以后,系统会自动为此定单生成其唯一的定单号,系统管理员可以查看当前未处理的定单的信息,对订单进行处理,并负责与顾客取得联系确认付款方式以及送货方式等。3.用户管理模块设计网络并不是纯洁的,有些人恶意注册ID以浪费系统资源,系统管理员可以对此类不合法用户的ID进行删除等操作,确保系统运行正常、有序。(三)系统流程图设计图3 系统流程图(四)数据库设计方案1.数据库表的定义根据网上购物系统的功能要求以及功能模块的划分,数据需要存储的信息如下: 1.1. 系统中所有注册用户的资料:用户ID,密码,地址,EMAIL地址,联系电话等 1.2. 商品的资料:商品名称,商品类别,商品单价,商品详细信息,商品图片等 1.3. 购物车的资料:购物车ID,购买的商品,购买商品的数量,总价等 1.4. 订单的资料:下订单的用户ID,下订单的时间,购买的商品,购买商品的单价,购买商品的数量,总价,订单状态等2.数据库表的设计分别建立以下的表以满足需要:2.1. 用户表,用来记录购物人员的相关注册信息。(shopper)2.2. 产品表,用来记录产品的相关信息。(product)2.3. 购物车表,用来记录用户添加产品到购物车的相关信息。(shoppingcart)2.4. 订单表,用来记录用户购物之后生成订单的相关信息。(orders)2.5. 产品种类表,用来记录产品种类的相关信息。(category)2.6. 地点表,用来记录省份和城市的相关信息。(place)表1 shopper 用户表字段名数据类型长度是否允许为空字段描述shopperIDchar10否用户ID(主键)pssswordchar10否密码familynamevarchar20否姓givennamevarchar20否名emailvarchar40否电子邮件地址addressvarchar50否通讯地址countrychar15否国家provincechar15否省份citychar15否城市postalcodechar10否邮政编码phonechar15否联系电话 表2 product 产品表 字段名数据类型长度是否允许为空字段描述productIDint4否产品ID(主键)productnamenvarchar50是产品名称productdescriptionnvarchar4000是产品描述originalpricemoney8否 市场价salepricemoney8否会员价categoryIDint4否产品种类IDproductnumberint4是产品数量photonvarchar50是图片publishyearvarchar4是发布年publishmonthvarchar2是发布月表3 shoppingcart 购物车表字段名数据类型长度是否允许为空字段描述cartIDint4否购物车ID(主键)productIDint4否产品ID(主键)productquantityint4否产品数量shoppingdatedatetime8否 购买时间表4 orders 订单表字段名数据类型长度是否允许为空字段描述orderNosmallint2否订单号(主键)orderdatedatetime8是订单时间cartIDnvarchar10否购物车IDshopperIDvarchar10否 用户IDshippingchargemoney8是运费ordrprocesschar1是订单状态totalcostmoney8是总价表5 category 产品种类表字段名数据类型长度是否允许为空字段描述categoryIDint4否产品种类ID (主键)categorynamenvarchar50否产品名称表6 place 地点表字段名数据类型长度是否允许为空字段描述citychar15否城市(主键)provincechar15否省份 五、系统实现(一)前台功能模块的具体实现1.系统首页模块的具体实现此功能模块由default.aspx来实现,并提供了本系统绝大多数功能的入口,例如:会员注册、登录,管理员登录,商品查询,最新商品,热销商品等。会员登录主要是将用户输入的用户名和密码与数据库中shopper表中的已有的信息进行比对,如果完全一样,则是合法用户,可以成功登录,如果不一样,则登录失败。查询功能是通过两个下拉列表来实现的,为了避免用户自己输入出现错误导致无法查询到自己要看到的内容,该查询功能就没有使用用户输入的方式来进行关键字查询,而是通过先选择第一个下拉列表来确定categoryID(产品种类ID),然后通过这个categoryID从数据库的product表中读出所有categoryID相同的产品型号显示在第二个下拉列表中,此时,用户就可以选择想要查看的具体产品的型号,再点击“查询”即可看到相应产品的详细信息。图4 网上购物系统首页在此页面上,最新商品和热销商品的所有信息都是通过DataList这个功能强大的的控件实现的,“最新商品”使用DataList1,通过在管理员添加新产品到系统中时所添加的产品的发布年、月来排序,代码如下:select top 6 product.originalprice,product.saleprice,product.photo,productID from product order by publishyear,publishmonth desc热销商品使用DataList2,通过计算shoppingcart表中购买的数量从而来确定产品的销售量的多少来进行排序,代码如下:select originalprice,saleprice,photo,productID from product where productID in (select top 6 productID from shoppingcart group by productID order by sum(productquantity) desc)2.商品管理模块的具体实现此功能模块由product.aspx,productList.aspx,productdetail.aspx来实现。当用户进入产品中心以后,通过DataList这个控件,显示出相应产品类别的产品图片及一些相关信息,其中包含产品名称,产品类别以及相应的价格信息等,整个页面的左边部分,分类列出了各类产品,每一类产品都有自己唯一对应的categoryID,同时,categoryID在product表里都有相对应的产品名,当点击某个产品种类时,所有对应该种类categoryID的产品都会从数据库中提取出来并且显示在页面上,这样起到了导航的作用,一目了然,方便用户能够比较迅速找到自己想要的产品,如下图:图5 产品中心所有产品的图片都是管理员在添加新产品到系统中时,上传到images这个目录下的图片的名字和产品的型号相同,通过下面的代码来获得: (Image)e.Item.FindControl(photo).ImageUrl = images + MyDataRowView.Row4.ToString();另外,通过点击“详细信息”就可查看该商品的具体资料,用户可以看到产品名称,产品价格,以及详细描述,是在product表中通过相应的productID(产品ID)读出其相关信息的,通过下面的语句实现:select productname,productdescription,cast(saleprice as nvarchar)as price from product where productID= + productID + , conn3.购物车模块的具体实现此功能模块由cart.aspx,shoppingcart.aspx来实现。当用户查看了相关商品的详细信息以后,如果愿意购买并且是在用户已经登录的情况下,可以在下拉列表中选择购买商品的数量并点击“添加到购物车”加入到购物车中,在这个过程中,系统将用户选择的商品所对应的productID和购买的数量都写入到数据库的shoppingcart这个表中,并生成唯一的cartID(购物车ID),一个cartID对应用户登录一次所有购买的商品,也就是说cartID和productID的对应关系既可以是一对一,也可以是一对多。最后顾客结束购物时,点击“查看我的购物车”,则在可以看到相关购物信息,这就是将shoppingcart表中生成的cartID所对应的productID和购买数量的信息读出并通过GridView这个控件显示出来,如下图:图6 查看购物车 用户可以在最终结算前放弃购买某样或多样已放在购物车中的商品,在此时点击“删除”,shoppingcart表中的当前cartID所对应的productID删除,从而达到放弃购买的作用。总计金额是通过计算GridView中第3列中的小计而得,最后通过一个Lable显示出来,具体实现的代码如下:double totalmoney = 0; double tempprice; for (int i = 0; i GridView1.Rows.Count; i+) tempprice= Convert.ToDouble(GridView1.Rowsi.Cells3.Text.ToString(); totalmoney += tempprice; Label1.Text = totalmoney.ToString();如果是未注册用户或未登录用户,则无法购买,系统会有相应提示,并自动转到主页。4.订单管理模块的具体实现此功能模块由order.aspx,orders.aspx来实现,分别实现生成和显示当前订单以及显示历史订单的功能,当用户购物完成以后,查看自己的购物车后,并确定购买的时候,点击“最终结算”可以生成相应的订单,当系统生成订单时,会将shoppingcart表中的cartID,shopperID,totalcost插入到orders表中,代码如下:protected void Button1_Click(object sender, EventArgs e) cartid = Request.CookiescartID.Value.ToString().Trim(); shopperid =Request.CookiesuserName.Value.ToString(); string sql = string.Format(insert into orders(cartID,shopperID,totalcost) values(0,1,convert(money,2),cartid ,+shopperid+ ,Label1 .Text ); databaseAccess.ExeSql(sql); Response.Cookies.Clear(); Response.Redirect(order.aspx); 此外,订单日期是获取当前系统时间并自动写入,而订单号也是在orders表中自动生成,每个唯一的订单号对应唯一的cartID,所以查看订单详情即是获取订单号与对应cartID,通过cartID在shoppingcart表中得到相应的信息,如下图:图7 查看当前订单此外,如果想查看自己所有的订单情况,就可以直接点击“所有订单”,这样通过Getorder2这个函数来获取所有的订单信息,将该用户在本系统中所有的购物订单显示出来,代码如下:public static DataSet Getorder2(string shopperid) SqlConnection conn = new SqlConnection(connection); SqlDataAdapter data = new SqlDataAdapter(select * from orders where shopperID= + shopperid + order by orderdate desc, conn); DataSet ds = new DataSet(); data.Fill(ds); conn.Close(); return ds; 5.用户管理模块的具体实现此功能模块由register.aspx,reviseinformation.aspx来实现,分别用来实现新用户注册和用户信息修改的功能。register.aspx实现用户注册功能,主要向shopper表中插入新用户信息,包括用户名、国家、省份、城市、联系地址、密码、姓、名、电子邮箱、邮政编码、联系电话,在本系统中用户名不允许重名,因此,系统通过checkUserExist这个函数进行判别,为了确保用户两次输入相同的密码,用一个if语句进行判别,如果两次输入的密码不相同,则有所相应提示,如果用户一切填写正确,当点击“确定”以后,会提示用户注册成功,此功能靠以下代码实现:Response.Write(alert(注册成功);reviseinformation.aspx实现用户修改注册信息的功能,除了ID不能修改,其他信息都能够修改,用户名是从数据库的shopper表中读出,并通过一个Lable显示出来,当用户更改了自己的注册信息后,需要向数据库中shopper表的相关信息进行更新,通过以下代码实现:update shopper set psssword=0,email=1,address=2,country=3,province=4,city=5,postalcode=6,phone=7 where shopperID=8, TextBox4.Text, TextBox5.Text, TextBox2.Text, TextBox1.Text, DropDownList1.SelectedItem.Value, DropDownList2.SelectedItem.Value, TextBox6.Text, TextBox7.Text, Label1.Text图8 修改用户信息6.用户控件模块的具体实现此功能模块由head.aspx来实现,主要用于显示整个页面的顶部的图片,起到美观的效果,代码如下:(二)后台功能模块的具体实现1.商品管理模块的具体实现此功能模块由productadd.aspx,productupdata.aspx,productdelete.aspx来实现。productadd.aspx主要实现将新商品的添加到数据库中,在此可以添加新产品的信息,包括产品种类,产品型号,市场价,会员价,发布年月,产品图片,产品描述,其中产品种类和发布年月采用下拉列表的方式来进行选择,使操作简便,在一定程度上减小了工作量,当管理员填写完成以后,系统通过下面的语句将产品信息添加到product表中。string sql = insert into product values( + TextBox1.Text.Trim() + , + TextBox4.Text.Trim() + ,cast( + TextBox2.Text.Trim() + as money),cast( + TextBox3.Text.Trim() + as money), + int.Parse(DropDownList1.SelectedValue) + , + filename + , + DropDownList2.SelectedValue + , + DropDownList3.SelectedValue + );this.File1.PostedFile.SaveAs(Server.MapPath(.images) + + filename);图9 添加新产品在这里需要注意的是,上传的产品图片的图片名一定要跟产品型号相同,这样,在产品中心中显示出来的图片才不会发生错误。productupdata.aspx主要实现商品相关信息的更新,当管理员在产品种类和产品型号这两个下拉列表中选取想要更新的产品后,系统会自动的将其已存在的信息从product表中读取并显示在相应位置,如果要修改哪一项,就点击相应的“修改”按钮,这时就会出现一个框用来填写新信息,当点击“确定”以后,则通过相应的语句将新信息重新插入到product表中,这样就实现了对产品信息的更新,而更新后的信息会显示在相应的位置。productdelete.aspx主要实现产品的删除操作,可以通过下拉列表直接选取产品种类和产品型号,并且可以查看选中产品的详细信息,如果确定要删除,直接点击“删除”即可。删除时,因为已经选定了产品种类和产品型号,所以也就知道了具体的productID,当点击“删除”时,就将product表中相应的productID所对应的所有产品信息删除,操作起来相当方便、快捷。 2.订单管理模块的具体实现此功能模块由orders.aspx,orderdetail.aspx来实现,后台的订单管理与前台的订单管理的区别在于,前台的订单管理针对的对象是注册用户,用户只能够查看自己订单的情况,而后台的订单管理针对的对象是系统管理员,管理员除了能查看订单的所有信息外还可以对订单进行操作,如果已经发货给用户,则可以将订单的状态改为“已发货”,反之,则订单默认的状态为“未发货”。 图10 后台订单管理模块orders.aspx主要实现显示订单的情况,代码如下: int index = Convert.ToInt16(e.CommandArgument); string orderID=GridView1.DataKeysindex.Value.ToString(); string name = e.CommandName.ToString(); if (name = cheak) Response.Redirect(orderdetail.aspx?orderID= + orderID);orderdetail.aspx主要显示定单的详细信息,并支持管理员对订单进行处理,代码如下:orderID = Request.QueryStringorderID.Trim();SqlDataReader order = databaseAccess.ExecSql(select orderNO,orderdate,cartID,orders.shopperID,address,totalcost from orders,shopper where orders.shopperID=shopper.shopperID and orderNO= + Convert.ToInt16(orderID); if (order.Read() Label2.Text = orderID; Label4.Text = order1.ToString(); Label6.Text = order3.ToString(); Label8.Text = order4.ToString(); Label10.Text = order5.ToString(); string cartID = order2.ToString(); DataSet ds = databaseAccess.Getcart(cartID); GridView1.DataSource = ds; GridView1.DataBind(); 3.用户管理模块的具体实现此功能模块由shoppermanage.aspx来实现,能够统计现在系统中注册用户的数量,通过如下代码实现:SqlDataReader data = databaseAccess.ExecSql(select count(*) from shopper);并且可以通过下拉列表选择想要查看用户的用户名,即可显示其注册的相关信息,如果管理员查看到哪个用户采用明显的虚假信息进行注册,认为哪个用户是非法用户的话,可以直接将其删掉,如下图所示:图11 用户管理六、系统测试与测试结果分析(一)前台测试与分析完成了系统主要模块的开发后,系统需要进行必要的运行测试,以检验系统的正确性,以下将按照用户购买商品的流程和管理员对主要信息的管理来测试系统。首先来到前台用户的登陆界面,先注册一个用户名为ningbo 的新用户,填写相关资料后,点击确定后,系统显示注册成功的页面,在测试中发现不同用户可以注册相同的ID,显然这在实际应用中是不现实的,因此在相关地方添加了用来判别的代码:if(databaseAccess.checkUserExist(TextBox1.Text)Response.Write(alert(该用户名已经存在,请重新输入);return; 然后用户进入产品中心以后可以查看各类商品信息,并将自己喜爱的商品添加到购物车中,在此时发现,如果没有购买商品,按理
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 其他分类 > 其它学术


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!