电子商务信息发布与查询平台_第1页
电子商务信息发布与查询平台_第2页
电子商务信息发布与查询平台_第3页
电子商务信息发布与查询平台_第4页
电子商务信息发布与查询平台_第5页
已阅读5页,还剩113页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于.NET2005的电子商务信息发布与查询平台摘要今天,网络已经成为了生活的主角。在网络这个大家庭中,电子商务则是一个热点。事实上,电子商务的出现,带来了消费观念的重大变化,消费者可以足不出户就买到自己需要的商品。利用最新的ASP.NET框架技术和ADO.NET数据库技术开发电子商务网站是当前IT界的一个重要的系统开发方式。本文使用ASP.NET技术和SQLServer技术,设计和开发了一个网上售书系统。分析了网上购物系统的管理流程和基于ASP的数据库存储技术,设计了具有用户注册、登录、浏览商品、网上购物等功能的网上购物系统方案。采用了页面模块化的方法,研究了数据库的连接以及访问途径,并重点解决了系统实现中各个模块的实现的技术问题。该系统具有操作简单、界面友好、可移植性好和维护简单等优点,具有很好的实用价值。关键词:电子商务,网络书店,ASP.NET,数据库THEELECTRONICCOMMERCEPUBLISHINGANDSEARCHINGPLATFORMBASEDON.NET2005ABSTRACTToday,networkhasbecometheprotagonistinourlife.Innetworkfamily,theelectroniccommerceisahotspot.Actuallytheelectroniccommerce’scome,bringusthechangesfortheideainconsume.Theconsumercanbuythethingstheyneedwithoutgooff.UsingthenewframeworktechnologyandADO.NETdatabasetechnologytoestablishElectronicCommerceWebSystemisaverypopularmethodtoday.AnonlinebookshopsystemwasdesignedanddevelopedwithASP.NETandSQLServertechnology.ThemanagementprocessesofonlineshoppingsystemandASP-baseddatabaseaccesstechnologywereanalyzed.Theonlineshoppingsystemwasdesignedandthesystemhasfunctionssuchasuserregistration,loggingon,productsbrowsingandonlineshopping.Someideaofpagemodularization,studiesdatabaseconnectionandaccessapproacheswereusedandthetechnicalproblemsofallthemodulesweresolvedfinally.Thesystemispracticalandgoodatsimpleoperation,friendlyinterface,goodportabilityandsimplemaintenance.Keywords:ElectronicCommerce,online-bookshop,ASP.NET,database目录摘要 IABSTRACT II目录 III前言 11绪论 21.1引言 21.2电子商务信息平台的研究背景 21.3电子商务信息平台的研究现状 31.4课题研究内容 41.5论文结构安排 62基于.NET的电子商务网络书店的系统开发 72.1开发环境 7 72.1.2MicrosoftVisualStudio2005 102.1.3MicrosoftSQLServer2005 112.2系统总体功能 142.3小结 153基于.NET的电子商务网络书店的系统设计 163.1基于三层结构的系统架构设计 163.2系统功能模块划分 173.3系统数据库的设计 183.3.1数据表 183.3.2数据表间关系 203.4小结 214基于.NET的电子商务网络书店的系统实现 224.1系统框架的搭建 224.2存储过程和类文件的实现 244.2.1存储过程的实现 254.2.2类文件的实现 284.3各主要功能模块的实现 374.3.1母版页与登录系统 384.3.2首页商品展示 444.3.3查看商品详细 484.3.4购物车 504.3.5结账 534.3.6顾客注册和资料维护 544.3.7帮助和注销 554.3.8系统管理员后台维护 574.4系统部署与发布 584.5小结 595总结与展望 605.1总结 605.2展望 60参考文献 62致谢 64附录(主要程序) 65译文与原文 83前言随着Internet的发展和普及,电子商务已经逐渐开始流行起来。它的发展形成新的交换体制,产生新的市场规则,冲破时间与空间的限制,加快全球市场一体化的进程,电子商务还有力地推动信息和信息服务业的发展。电子商务网站是整个电子商务的一个组成部分,它与传统的商务相比具有降低成本、加快流通速度等优势。电子商务的开展已势在必行,并且国际电子商务的前景十分广阔,作用也越来越大。而网上购物系统是电子商务系统的一个重要部件。网上购物系统是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些不经常变动或更新的资源,如公司简介、管理规范和公司制度等;动态信息是指随时变化的信息,如商品报价、会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家与用户方便地传递信息,完成电子贸易或交易。这种全新的交易方式实现了公司间文档与资金的无纸化交换。鉴于以上所述,本文以构建一个网络书店为基础,论述了构建一个电子商务网站的技术手段和方法,并利用及相关技术实现了三层架构的网上购物系统。同时,实现了网上购物系统的前台浏览、后台管理的模式。用户在前台可以方便快捷地进行商品浏览、查询、购买等操作;管理员在后台主要完成服务器端的商品管理、订单管理及用户管理等操作。1绪论1.1引言电子商务(ElectronicCommerce),通常是指是在全球各地广泛的商业贸易活动中,在因特网开放的网络环境下,基于浏览器/服务器应用方式,买卖双方不用谋面地进行各种商贸活动,实现消费者的网上购物、商户之间的网上交易和在线电子支付以及各种商务活动、交易活动、金融活动和相关的综合服务活动的一种新型的商业运营模式。电子商务涵盖的范围很广,一般可分为企业对企业(Business-to-Business),或企业对消费者(Business-to-Consumer)两种。另外还有消费者对消费者(Consumer-to-Consumer)这种大步增长的模式。随着国内Internet使用人口之增加,利用Internet进行网络购物并以银行卡付款的消费方式已渐流行,市场份额也在快速增长,电子商务网站也层出不穷。在这其中又以B2C模式发展最为迅速,如当当网(dangdang)卓越网(joyo),已经成为了电子商务的新一波奇迹[1]。在Internet流行的今天,使用Web技术设计的数据库应用软件,是Internet市场的技术中坚,电子商务、网上购物等Web应用都采用了这种方式实现[2]。建立网上售书电子商务系统是当前书籍出版商和书籍经销商一个重要的销售途经,为吸引更多的客户,网站在要求书籍品种齐全的基础上,更要给提供一个清晰简明的环境,让访问者有一个良好的购物环境,从而大大提高的书店的工作效率和图书网络化的进程。1.2电子商务信息平台的研究背景人类进入信息化社会以来,随着Internet的不断发展与完善,其步伐在深度与广度各个方面都大大加快。信息网络给人类的好处不仅在于通过网络来获得信息,而且在于通过网络进行网上教育、网上医疗和各种商务活动。电子商务是在信息时代中产生与发展起来的新生事物,同时它也是信息技术与各国信息化建设的必然产物[3]。以计算机技术为核心的信息技术的应用导致了一次新的工业革命制造业信息化。计算机的应用几乎扩展到制造业生产经营活动的所有领域,使传统制造业从工业社会的专业化社会生产向信息社会的专业化、信息化社会生产发展。制造业信息化将涉及企业生产经营的产品信息、工艺信息、物料信息、生产信息、财务信息和市场营销信息等一切环节,可以使企业生产经营达到前所未有高节奏和高效益[4]。电子商务是商业和现代信息技术的结合,是利用现有的计算机硬件设备、软件和网络基础设施,在电子网络环境中进行商务活动的一种方式。目前,网络已经成为生活的主角。在网络大家族中,电子商务则是一个热点。事实上电子商务的出现,带来了消费观念的重大变化,消费者可以足不出户便可以买到自己需要的商品。电子商务平台的构建,使消费者在互连网上极易掌握丰富的信息,并且快速、低成本,这使得消费行为有充分的信息依据,消费质量大大提高;作为企业,在激烈的竞争下传统的经营销售模式束缚着企业的快速发展[5]。为了简化贸易流程,在Internet上开展电子商务业务不仅有利于企业树立自己的网上品牌,宣传企业形象,还可以使客户更方便,更快捷地购物、付款和交付,并且可以减少流通环节开支,增加企业员工的工作效率、减少管理费用[6]。网上购物系统是一种具有交互功能的商业信息系统。它将买家与卖家、厂商和合作伙伴紧密结合在一起,消除时间与空间带来的障碍,从而明显节约了交易成本,扩大了交易范围[7]。如今我国图书出版业在逐渐向世界开放,但相对于世界图书出版商巨头,我国的图书经营商的实力显得有些弱小,相对于较强竞争者,电子商务能够解决我们所面临的许多问题和困难。电子商务不受空间与时间制约的有点给我们提供了契机,通过构建自己的电子商务网站开辟更广的市场空间;另一方面,构建书店电子商务网站,可以促使公司业务重组,使商品流、物流、资金流等有机结合,加速公司内部的运作效率,并深刻地改变着企业的营销方式,向网络化转变,节省经营费用;同时,通过构建企业电子商务网站,不仅建立了公司的企业文化,而且能树立公司形象,建立起了企业的品牌效应[8]。本文正是建立在这样的一个背景环境下应运而生的,意在可以使更多的企业推广网络书城这个新概念,以此来更好的推动我国的电子商务发展。1.3电子商务信息平台的研究现状随着信息技术的发展,电子商务在日常生活的作用越来越大。企业之间邮件的发送,商务信息的交换,资金的支付等都涉及到电子商务。目前全球化经济的发展,使得企业与企业之间,企业与客户之间联系更加的紧密,同时使不少消费观念带来的重大变化。而网上购物的崭露头角,使人们看到了它强大的发展潜力。近年来,基于TCP/IP的Internet/Intranet技术,以非同寻常的速度被广泛应用于各级企业网站,其中一个很重要的手段就是建立Web站点发布和浏览信息。传统的静态网页技术已越来越不能满足用户的需求,因此各种动态网页技术应运而生。ASP就是目前比较流行的动态网页技术之一,而ASP.NET是微软的新一代动态网页技术[9]。目前,成熟的商务网站建设商大多采用微软的技术和C#语言作为开发工具,基于SQLSERVER等大型数据库,建立智能化的商务网站,实现“交钥匙工程”,使企业不必专注于复杂的网页技术,不必聘请专业的开发和设计人员,信息的更新采用模板自动生成,管理与维护均可能通过后台管理平台进行,采用远程传输与远程控制,易于管理、安全可靠,大大减轻了工作量,用最小的资金投入就能快捷地建成专业、有效的商务网站[10]。商务网站已经成为越来越多的企业的一种独立、成熟的营销渠道和服务方式。ASP.NET从现有的ASP结构体系上跨出了一大步,其整个构造体系使开发结构化的应用程序变为可能。Web表单设计带来了一种更加直接和易于使用的开发模式。服务器控件增加了提供公共功能的能力,从而使扩展和加强现有功能变得容易。数据捆绑使创建数据约束型应用程序变得十分简单。它不但具有许多很棒的新功能,而且还有一个用于开发Web应用程序的真正框架。使用ASP.NET的组件,可以轻松地实现对网页内容的动态控制,根据不同的浏览者,生成不同的页面内容[11]。在ADO.NET的支持下,ASP.NET与远程主机上的数据库的连接与操作变得非常简单。随着越来越多的开发者开始使用这种新技术,给Internet的发展带来了一次新的浪潮。1.4课题研究内容本文在对电子商务相关领域的基础理论和前沿文献进行研究的基础上,综合运用技术,在MicrosoftVisualStudio2005开发平台上,配合使用MicrosoftSQLServer2005数据库软件,在对当下比较流行的电子书城网站的各个功能模块的研究与分析的基础上,构架一个具有当前主流平台所具有的各个基本功能模块的三层体系结构的电子商务平台——电子商务网络书店。本文主要包括以下几个部分:(1)系统分析:对当前主流的网上售书电子商务系统,如当当网,卓越网进行研究与分析,为构架一个网上售书电子商务系统提供必要的理论基础,并确定所设计的网上售书电子商务系统各主要功能模块。本文所设计的电子商务网络书店拥有目前主流的网上商城的基本功能模块,包括顾客浏览、购买、查看订单以及注册和修改个人资料等。用户注册并登录后,可以浏览或搜索系统提供的各种商品,并将自己喜欢的商品放入购物车,购物结束后,系统提供结账功能,保存购物车中的订单;如果是系统管理员,还可以对商品、商品种类、顾客信息以及订单信息等内容进行维护。(2)系统设计:在总结大型网上售书电子商务系统,确定了所要设计的电子商务网络书店所拥有的各个功能模块之后,利用及相关技术实现三层架构的网上售书系统,即基于用户层、业务层和数据访问层的三层体系结构的电子商务网络书店。数据访问层从业务层接收请求,利用存储过程或其他方法从数据层获取数据传回业务层或向数据库写入数据;业务层位于用户层和数据访问之间,起到桥梁的作用;用户层是提供给用户操作的界面,用户可填写数据,发出请求以及查看需要的信息等。通过对系统各个功能模块的分析,设计系统所需要的数据库系统。(3)系统实现:通过在MicrosoftVisualStudio2005平台上对系统的各部分功能的编程设计,实现系统的各个主要功能模块。首先,通过之前对系统的各项前期准备与分析之后,进行系统整体框架的构架,建立系统所需要的目录层次,并按照之前系统设计方案设计数据库系统。其次,在完成系统框架之后,就要考虑用存储过程来完成所有对数据库的读写过程,同时还需要实现调用存储过程的方法,这时候就需要对系统的类文件进行实现了,系统设计了三个类文件,分别为Common.cs,用来实现一些公共方法和常量的定义。DataAccess.cs,封装所有对数据库的操作的方法;BusinessFacade.cs,对要写入数据的规则验证和读出数据的处理。最后,完成系统各个功能模块的设计,包括母版页与登录系统、首页商品展示、产看商品详细、购物车、结账、顾客注册、资料维护、帮助等界面的设计。(4)系统部署与发布:将已经设计好,并且在本地运行通过的网上售书电子商务系统发布到Internet上,供顾客查看使用。1.5论文结构安排第1章介绍研究背景,总结前人的研究成果,给出论文的研究内容和结构安排,说明课题的研究内容,介绍全文的体系结构。第2章通过介绍电子商务网络书店的开发环境,比较使用ASP.NET开发系统、VisualStudio2005为开发平台、SQLServer为数据库开发平台的优势。以及介绍本文所设计系统的各个主要功能模块。第3章详细叙述电子商务网络书店的系统设计,其中包括基于数据访问层、业务层与用户层三层体系结构的系统构架;功能模块的划分,分为顾客和管理员两大模块分别进行设计;数据库的设计,通过对系统的分析设计符合系统功能的数据库系统。第4章详细叙述电子商务网络书店的系统实现,其中包括通过存储过程完成数据库的读写过程,以及通过类文件完成调用存储过程的方法,其次,通过完成系统各功能的实现,设计出一个具有目前主流网络商城的各个主要功能模块的电子商务网络书店。最后,将已经设计好,并且在本地运行通过的网上售书电子商务系统发布到Internet上。第5章对全文进行总结和展望。2基于.NET的电子商务网络书店的系统开发电子商务可以减少交易成本,增加贸易机会,简化贸易流程,改善物流系统,是进行商务活动的新形势。随着电子商务的发展,网上购物商城迅猛发展,网上购物已经被越来越多的人所接受。有信息显示,现在已经有越来越多的人加入到网上购物的队伍中来[12]。在本章的开发环境里,主要介绍了目前主流,同时也是本文所使用的开发环境。其中包括及其它的发展历史、主要功能等;MicrosoftVisualStudio2005开发平台的介绍及其它是如何帮助软件开发人员改进开发流程的。最后还介绍了数据库开发软件MicrosoftSQLServer2005,因为在目前的网站开发中,与数据库打交道是不可避免的。因此,我们需要一个安全可靠和高效的数据库开发平台。在本章的总体功能介绍中,简要的概括了本文所设计的电子商务网络书店的主要功能模块,网上购物流程等,为下面各章的系统设计及实现提供理论保证。2.1开发环境2.1.1A的前身为ASP(ActiveServerPage),ASP的第一个正式版本是,该版本作为IIS(Internet信息服务)的附属产品免费赠送。ASP能够将代码直接嵌入HTML,使设计Web页面变得非常容易,而且可以通过内置组件实现各种复杂的功能。1998年,Microsoft公司又发布了。随后,Microsoft公司发布了Windows2000操作系统,这时操作系统内部的IIS升级为,同时,ASP也升级到了[13]。2002年3月,Microsoft公司正式在中国推出了中文版,伴随着.NET的出现,也诞生了。是.NET的一部分,在中,提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。允许开发者以一种非常灵活的方式创建Web应用程序,并把常用的代码封装到各种面向对象的控件中,这些控件可以由站点用户引发的事件来触发。同时,也提供了代码隐藏类(CodeBehind)的概念,把逻辑代码(.asp.cs)和表现页面(.aspx)分离出来,使Web开发者很容易用后台代码来控制页面的逻辑功能。2003年,Microsoft公司发布了VisualStudio.NET2003(简称VS.NET2003),提供了在Windows操作系统下开发各类基于框架的全新的应用程序开发平台。2005年底,Microsoft公司又发布了基于框架的VS2005开发平台,。也从版升到版,增加了很多新的控件和模型,例如,允许开发人员创建文件系统的网站等。是一个已编译的、基于.NET的Web应用程序开发环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JavaScript)创作Web应用程序。另外,任何应用程序都可以使用整个.NETFramework提供的技术,包括托管的公共语言运行库环境、类型安全、继承等。经过几年的发展,已成为网站设计与开发的主流技术。随着版本的不断更新,对的支持也越来越完善。的强大功能使得网站开发变得更加容易,它可以完成Web应用程序开发的所有功能。表2-1所示为的主要功能[14]。表2-1的主要功能功能描述设计Web窗体提供了可视化的Web页面设计,利用系统已有的Web控件可以快速地实现功能强大的网页样式表提供了样式表文件的编辑功能,可以通过样式生成器直接生成样式母版页提供了母版页功能,方便统一整个网站的设计风格,方便页面修改和维护数据库访问包括用于创建数据库应用程序的组件、可视化数据库工具以及一个可靠的类集,使用户可以方便地操作所有类型的数据续表2-1功能描述用户控件不仅提供了丰富的Web控件,同时允许开发用户控件,使用户开发的功能得到重用XMLWebService提供一个ASP.NETWebService模板,可以用来构成Web应用程序的基本结构。此时,Web应用程序的基本架构将构建在Web服务器和本地解决方案之上网站生成与发布提供了快速生成和发布网站的功能(3(a)支持多种脚本语言ASP曾在脚本引擎方面受到限制,特别是VBScript和JavaScript。而ASP.NET可以支持中的多种语言,例如等。这意味着可以摆脱VBScript的语言限制,代码将是编译后运行的而不是原来的解释执行[15]。(b)服务器处理在Internet上作为服务发布的软件是WebServices的核心。ASP.NET提供了一个WebServices的基础构造环境,从而使开发人员能够为这个服务模型创建服务[16]。WebServices的不同之处在于,它允许你暴露一个服务而不必暴露数据。当自动提供商业服务的同时,代码和数据都是安全的。(c)代码与内容的分离通常ASP代码是和内容混合在一起的,设计和编写代码同时进行会变得困难。如果页面需要升级,就会存在危险的潜在问题[17]。ASP.NET可通过两种方法来解决这个问题。第一种是代码内联模型,在该模型中代码仍然保存在ASP.NET页面中,但它并不和HTML混合在一起。第二种分离代码和内容的方法是代码后置模型,该模型中的代码被完全转移到一个单独的文件中[18]。(d)更好的代码控制对于COM对象不再需要再在服务器上注册这个功能,是非常受程序员喜爱的。但是通过这种过程简化,你再也不能够在你的服务器上运行另外一个DLL版本,并且代码相当保密。这意味着,如果没有正确的开发工具和源代码,很难改变代码。(e)更好的升级能力此系统建成,本身有着一定的特性,以改进多处理器环境中的性能。例如,sessionstate能够通过单独的处理器来维持,在一个单独的机器上,甚至在数据库中允许交叉的服务器会话。(4)本系统的开发语言环境C#语言是在C语言和C++语言(以下简称C#、C和C++)基础上重新构造的,语法与C++和JAVA语言都比较相似的,基于.NET框架支持的一种完全面向对象的、类型安全的编程语言,也是.NET的首选编程语言。从开发效率来讲,C#为应用程序开发人员提供了快速的开发手段,但又不牺牲C++的优点和特点。从继承性来讲,C#在更高层次上重新实现了C和C++。从语法形式和易用性来讲,C#几乎综合了目前流行的所有高级语言的优点,并提供了一种语法优雅、功能完善而又容易使用的外在表现形式[19]。因此,本文中的代码都是使用C#语言编写的。2.1.2MicrosoftVisualStudio2005MicrosoftVisualStudio2005(简称VS2005)开发系统是一套开发工具,旨在帮助软件开发人员,无论他们是新手还是经验丰富的专家,应对复杂的挑战并创建创新的解决方案。每天,软件开发人员都必须克服各种难题,创建改善人们生活的软件。VS2005旨在改进开发流程,帮助人们更轻松地实现突破、获得更令人满意的结果。VS2005通过以下4个方面改进开发流程:(1)提高工作效率:VS2005提供的工具不断提供更好的方法,帮助软件开发人员完成更多有意义的工作,避免将时间和精力浪费在重复和意义不大的工作上。从单一集成开发环境(IDE)中的高效代码编辑器、IntelliSense、向导和多种编码语言,到MicrosoftVisualStudioTeamSystem中的高端应用程序生命周期管理(ALM)产品。VS2005的新版本不断推出创新工具,帮助开发人员专注于解决问题,而不是将时间浪费在繁琐的细节上。(2)集成:使用VS2005,软件开发人员会受益于包含工具、服务器和服务的集成产品体验。VS2005的各产品不仅能够相互良好协作,而且可以很好地与其他Microsoft软件(如Microsoft服务器产品和MicrosoftOfficesystem)一起使用。(3)全面:VS2005提供的工具适用于软件开发的所有阶段(开发、测试、部署、集成和管理)和所有开发人员(从新手到经验丰富的专家)。VS2005的设计还支持各种类型设备上的开发,包括PC、服务器、Web和移动设备。(4)可靠:VS2005经过严格的设计和测试,能够提供良好的一致性、可靠性、安全性、互操作性和兼容性[20]。VS2005实现了安全功能、可伸缩性和互操作性的完美组合。VS2005不断推出前瞻性功能,但其设计也尽可能确保向后兼容性。2.1.3MicrosoftSQLServer2005企业今天面临着许多数据方面的挑战;如,需要根据数据做出更快、更多的决策,需要提高开发团队的生产力和灵活度,以及在减少总体信息技术(IT)预算的同时,扩展基础架构以满足更多要求的能力。SQLServer2005旨在帮助企业迎接这些挑战。这个下一代数据管理和分析解决方案将给企业数据和分析应用程序带来增强的安全性、可伸缩性和可用性,使得它们更易于创建、部署和管理。SQLServer2005基于SQLServer2000的强大功能之上,提供了一个完整的数据管理和分析解决方案,它将会给不同规模的组织带来帮助:构建、部署和管理企业应用程序,使其更加安全、伸缩性更强和更可靠[21]。降低开发和支持数据库应用程序的复杂性,实现了IT生产力的最大化。能够在多个平台、应用程序和设备之间共享数据,更易于连接内部和外部系统。在不牺牲性能、可用性、可伸缩性或安全性的前提下有效控制成本。SQLServer2005在以下三个重要方面改善数据基础架构[22]:企业数据管理、开发人员效率和商业智能(BI)。SQLServer是一个全面的、集成的、端到端的数据解决方案,它为用户提供了一个更安全可靠和更高效的平台用于企业数据和BI应用。SQLServer2005为IT专家和信息工作者带来了强大的、熟悉的工具,同时降低了在从移动设备到企业数据系统的多平台上创建、部署、管理和使用企业数据和分析应用程序的复杂性。通过全面的功能集、与现有系统的互操作性以及对日常任务的自动化管理能力,SQLServer2005为不同规模的企业提供了一个完整的数据解决方案[23]。图2-1显示了SQLServer2005数据平台的布局。图2-1SQLServer2005数据平台的布局SQLServer数据平台包括以下工具[24]:(1)关系型数据库(RelationalDatabase):一种更加安全可靠、可伸缩更强且具有高可用性的关系型数据库引擎,性能得到了提高且支持结构化和非结构化(XML)数据。(2)复制服务(ReplicationServices):数据复制可用于数据分发或移动数据处理应用程序、系统高可用性、企业报表解决方案的后备数据可伸缩并发性、与异构系统(包括已有的Oracle数据库)的集成等。(3)通知服务(NotificationServices):用于开发和部署可伸缩应用程序的先进的通知功能能够向不同的连接和移动设备发布个性化的、及时的信息更新。(4)集成服务(IntegrationServices)。用于数据仓库和企业范围内数据集成的数据提取、转换和加载(ETL)功能。(5)分析服务(AnalysisServices)。联机分析处理(OLAP)功能可用于对使用多维存储的大量和复杂的数据集进行快速高级分析。(6)报表服务(ReportingServices)。全面的报表解决方案,可创建、管理和发布传统的、可打印的报表和交互的、基于Web的报表。(7)管理工具(ManagementTools)。SQLServer包含的集成管理工具可用于高级数据库管理和优化,它也与其他工具,如MicrosoftOperationsManager(MOM)和MicrosoftSystemsManagementServer(SMS)紧密集成在一起。标准数据访问协议大大减少了SQLServer和现有系统间数据集成所花的时间。此外,构建于SQLServer内的本机Webservice支持确保了和其他应用程序及平台的互操作能力。(8)开发工具(DevelopmentTools)。SQLServer为数据库引擎、数据抽取、转换和装载(ETL)、数据挖掘[25]、OLAP和报表提供了和MicrosoftVisualStudio相集成的开发工具,以实现端到端的应用程序开发能力。SQLServer中每个主要的子系统都有自己的对象模型和应用程序接口(API)[26],能够将数据系统扩展到任何独特的商业环境中。SQLServer2005数据平台为各种规模的组织提供了以下好处:(1)充分利用数据资产[27]。除了为业务线和分析应用程序提供一个安全可靠的数据库之外,SQLServer2005也使用户能够通过嵌入的功能(如报表、分析和数据挖掘等)从他们的数据中得到更多的价值。可以充分利用其强大功能性和灵活性将数据传递到组织的每个角落,而成本仅为其他一些系统的一部分。(2)提高生产效率[28]。通过全面的BI功能以及熟悉的MicrosoftOffice系统之类的工具集成,SQLServer2005为组织内信息工作者提供关键的、及时的业务信息以满足他们特定的需要。SQLServer2005的目标是将BI扩展到组织内的所有用户,并且最终帮助组织内所有级别的用户能够基于他们最有价值的资产数据来做出更好的业务决策。(3)减少IT复杂性[29]。SQLServer2005简化了开发、部署和管理业务线和分析应用程序的复杂度,它为开发人员提供了一个灵活的开发环境,为数据库管理人员提供了集成的自动管理工具。(4)降低总体拥有成本(TCO)[30]。SQLServer2005中集成的方法和对产品易用性和部署上的关注提供了行业上最低的规划、实现和维护成本,使数据库投资能快速得到回报。SQLServer2005为您的组织提供值得信赖的技术和功能。SQLServer2005在企业数据管理、开发者效率和BI等主要领域取得了显著进步,表明向SQLServer2005升级或迁移具有显而易见的好处。2.2系统总体功能在本文的实例中,电子商务网络书店系统提供了网上购物的基本功能,主要包括顾客浏览、购买、查看订单以及注册和修改个人资料等。用户注册并登录后,可以浏览或搜索系统提供的各种商品,并将自己喜欢的商品放入购物车,购物结束后,系统提供结账功能,保存购物车中的订单;如果是系统管理员,还可以对商品、商品种类、顾客信息以及订单信息等内容进行维护。当用户访问网上书店时,首先能够查询、浏览所有商品信息;同时,用户能够随时选择自己感兴趣的商品放入购物车中(一般购物车是虚拟的,实际上是存储和管理预购商品名称、价格和数量的数据库);用户购物完毕,可以对购物车中的商品进行修改,比如数量的增加或减少,最后用户确定所选购的商品后进行提交,确定交付方式及送货地址,完成一次购物过程。为了保证数据库的安全性和商品交易的顺利进行,需要对用户进行管理,最简单的方法是需要用户先注册,以后在网站购物时必须登录后才能下订单。当然用户也可以随时更改自己的注册信息。网上购书的基本流程如图2-2所示。添加至购物车添加至购物车注册确定结账完成购买是否继续购物产品浏览是是否注册登录是否否图2-2网上购物流程图根据上述购书流程,将网站的总体功能分成四大模块。(1)用户管理模块:用户登录及登录信息验证;新用户注册管理;允许用户进行注册信息修改。(2)图书展示和查询模块:向用户显示各类商品的详细信息;允许用户对商品可以进行分类查找;允许用户对商品按照日期或关键字进行查询;显示商品的销售排行榜。(3)购物车和订单生成模块:允许用户在线购买商品;允许用户对购物车进行管理;用户购买商品后在收银台自动完成商品结算并自动生成订单。(4)后台管理模块:管理系统的商品信息,包括商品的添加、修改、删除;管理用户账号,包括用户注册的审核,用户的删除等;交易信息管理,对用户定单的有关信息进行确认。网上书店的系统功能模块结构如图2-3所示。系统功能模块系统功能模块用户管理图书展示查询购物车和订单生成后台管理登录及验证新用户注册用户信息修改图书分类显示图书详细信息图书查询销售排行榜订购商品购物车管理 订单生成商品管理用户账号管理交易信息管理图2-3网上书店的系统功能模块结构2.3小结本章简要的介绍了基于.NET的电子商务网络书店的系统概述,包括开发环境、MicrosoftVisualStudio2005开发平台、数据库开发软件MicrosoftSQLServer2005。阐述了电子商务网络书店系统提供的网上购物的基本功能,网上购物的流程及所设计系统的各功能模块。3基于.NET的电子商务网络书店的系统设计在软件设计阶段,需要为应用系统确定一个体系结构。在较为复杂的应用系统中,如果没有一个良好的体系结构,会使整个系统异常庞大而且杂乱无章,不利于日后的维护和扩展。本章就详细阐述了基于三层结构的电子商务网络书店的系统体系结构,而本网络书店的各个功能体系都是建立在此体系结构上的。同时,还阐述了系统功能的划分以及数据库的建立。3.1基于三层结构的系统架构设计虽然网上书店系统只实现了网上购物的基本功能,业务也并不复杂,但是,为了养成一个良好的编程习惯,本系统还是以分层的体系架构形式来实现,图3-1所示为系统的构架。用户层用户层数据访问层业务层图3-1系统架构图数据库在这个系统框架中,最底层为数据层,即数据库,用于存储系统中用到的数据,本系统使用SQLServer2005来存储数据。(1)数据访问层数据访问层从业务层接收请求,利用存储过程或其他方法从数据层获取数据传回业务层或向数据库写入数据。该层的实现代码全部封装到DataAccess类中,所有对数据库的操作都由它来完成。(2)业务层业务层位于用户层和数据访问之间,起到桥梁的作用,该层的实现代码全部封装到BusinessFacade类中,该层相应用户层的用户请求,检验用户数据的合法性,将请求发送到数据访问层,并将数据访问层返回的数据传送给用户层,从而把业务逻辑与用户界面分开。如果需要修改应用程序代码,只需要对中间业务层进行修改,使开发人员可以专注于系统核心业务逻辑的分析、设计和开发,简化了应用系统的开发、更新和升级工作。(3)用户层用户层是提供给用户操作的界面,用户可填写数据,发出请求以及查看需要的信息等。如果获取数据时不对数据库进行数据更新,用户层可以不经过业务层而直接访问数据层获取数据;如果需要对数据库进行更新,可以通过业务层来实现。3.2系统功能模块划分从大的方面来说,本系统分为顾客和管理员两大模块。顾客可以访问的页面有首页(图书展示页面)、商品详细信息页面、购物车页面、注册维护个人资料页面、使用帮助和注销等;管理员使用的页面包括图书类型维护、商品维护、顾客信息维护、订单处理等。系统功能页面结构图如图3-2所示。顾客注册/维护个人资料顾客注册/维护个人资料商品详细信息页面管理员登录购物车图书种类维护商品维护结账A顾客信息维护顾客订单管理图3-2主要功能页面结构图3.3系统数据库的设计3.3.1数据表网上书店商城的主要功能就是让顾客在网上买到自己希望购买的图书。系统的数据库首先要有商品表(tb_Goods),它用来存储图书相关信息。当图书过多的时候,不便于选择和查询,为了对商品进行分类管理,还需要一个图书类型表(tb_GoodsType)。顾客登录到网上书店商城购物后,系统需要知道所登陆客户的信息,因此就需要一个记录顾客信息的顾客表(tb_Cutomer)。顾客如果选择了某本自己喜欢的图书,确定购买时,就需要下订单,因此订单表(tb_Order)来记录顾客所确定的订单。订单的详细信息即顾客具体买了几种图书,以及每种图书的数量等,需要一个订单详细表(tb_OrderDetail)。除此之外,从系统维护和安全性的角度考虑,只有具有管理权限的用户才能进入系统进行维护和管理,因此,需要一个管理人员表(tb_Manager)记录管理员的信息。根据以上分析,制定每个表的结构信息如下。(1)图书类型表,用于记录图书类型的相关信息,如表3-1所示。表3-1图书类型表(tb_GoodsType)字段名称类型说明goodsTypeIDint图书种类的ID值,主键,自动加1goodsTypeNamenvarchar(50)图书种类的名称(2)商品表,用于记录图书的相关信息,如表3-2所示。表3-2商品表(tb_Goods)字段名称类型说明goodsIDint图书商品的ID值,主键,自动加1goodsNamenvarchar(50)图书商品的名称goodsTypeIDint图书种类的ID值,关联到tb_GoodsType表的goodstypeIDgoodsDescriptnvarchar(MAX)关于图书的一些介绍信息goodsUnitPricemoney图书商品的价格sellCountint图书商品销售的数量续表3-2goodsDatesmalldatetime图书商品添加到网上商城的时间goodsImageNamenvarchar(50)图书商品图片的名称,图片上传在服务器上指定路径下(3)顾客信息表,记录顾客的登录名、密码、以及顾客的联系方式等相关信息,如表3-3所示。表3-3顾客信息表(tb_Customer)字段名称类型说明customerNamenvarchar(20)顾客的登录名称,主键customerPassvarchar(20)顾客的登录密码customerTrueNamenvarchar(20)顾客的真实姓名customerAddressnvarchar(100)顾客的customerPostCodechar(6)顾客地址的邮政编码customerPhonevarchar(20)顾客的联系customerEmailvarchar(50)顾客的Email地址customerRegDatesmalldatetime顾客在上乘的注册日期,默认为当前日期(getdate())customerQuestionnvarchar(100)获取密码的问题customerAnswernvarchar(100)获取密码时回答问题的答案(4)订单表,用于记录顾客购物时所下的订单,如表3-4所示。表3-4订单表(tb_order)字段名称类型说明orderIDint订单的ID值,主键,自动加1customerNamennvarchar(20)顾客登录时用的名称totalMoneymoney订单的总金额orderDatesmalldatetime顾客下单时间,默认为当前时间(getdate())orderStatenchar(1)订单是否处理,0为未处理,1为已处理(5)订单详细表,用于记录顾客所下订单的详细信息,如表3-5所示。表3-5订单详细表(tb_OrderDetail)字段名称类型说明orderIDint订单ID值,主键,关联到tb_order中的orderIDgoodsIDint商品ID值,主键,关联到tb_Goods中的goodsID(6)管理人员信息表,用于记录网上书店商城的管理员的登录名和密码,如表3-6所示表3-6管理人员表(tb_Manage)字段名称类型说明managerNamenvarchar(20)系统管理员的登录名managerPWDvarchar(50)系统管理员的登录密码3.3.2数据表间关系在系统所建立的表之间,存在一定的关系,如图3-3所示。从图中可以看出,表tb_Goods通过goodsTypeID和表tb_GoodsType关联,表tb_Customer通过customerName和表tb_Order关联,表tb_Order通过orderID和表tb_OrderDetail关联,表tb_OrderDetail通过goodsID和表tb_Goods关联,tb_Manager和其他表都没有关联。图3-3数据表之间的关系图3.4小结本章主要介绍了基于.NET的电子商务网络书店的系统设计,详细阐述了建立在本电子商务网络书店的系统体系结构,通过对用户层、业务层和数据访问层的分析,使得本系统的体系构架显得清晰和明朗,方便日后的维护。其次,本章还详细介绍了本系统的功能模块的组成与模块划分,明确了系统的整体框架,确定了整个系统的目录层次。最后,根据系统功能设计的要求以及功能模块的划分,给出了网络书店的各个组成部分的数据库的设计,并介绍了各数据表的数据项、数据结构、简要的说明。对各数据表之间的关系也进行了详细的说明。对网络书店的系统设计是十分重要的阶段,就好比盖房子一样,一定要有一个好的基础,如果地基打的都不牢靠的话,那么基于地基之上的房子就会有倒掉的危险。因此,对系统初级的架构设计是马虎不得的,只有牢靠的系统架构和完善的数据库设计,日后才能设计出功能完善的电子商务网络书店平台。4基于.NET的电子商务网络书店的系统实现通过前面对系统的需求分析和架构设计,我们已经对本系统的大体情况有所掌握。本章就是在此基础上对电子商务网络书店的各个功能的实现。从而完成整个电子商务网络书店的全部设计工作。首先,先建立起这个系统的框架,用于存储系统图片的文件夹、用于存储商品图片的文件夹、母版页、样式、数据库等文件的创建,然后在这个框架的基础上不断的实现各个模块功能。其次,在建立好的数据库上,考虑数据库的存储过程的实现,通过存储过程完成所有对数据库的读写,这样就可以提高数据库的运行效率,同时还可以减少代码的编译量,提高整个系统的性能。再次,创建了存储过程之后,就需要类文件来实现调用它们的方法,由于系统采用的三层模型,这就需要在类文件中实现一些方法、常量的定义以及数据库的操作的方法等,这些都封装在类文件中,这样就可以在页面上来直接调用它们了。最后,也是本系统的关键的地方,就是系统各个功能模块的实现了。本系统广义上可以分为前台和后台两大块,前台主要是和顾客交互的界面,所有在版面的设计上尽量保留一些艺术性,使得顾客在浏览的过程中可以保持一个良好的心情;然后再此基础上来完成系统的各个模块的代码编写与调试。后台则为管理员对系统进行维护。4.1系统框架的搭建根据对系统的需求分析和架构设计,本小节将详细介绍系统框架的搭建。(1)运行VisualStudio2005,选择【新建项目】,在弹出的对话框中选择“ASP.NETAJAX-EnabledWebApplication”模板,输入项目名为“OnlineShop”,然后单击【确定】按钮。(2)用鼠标右键点击项目“OnlineShop”,在弹出的快捷菜单中选择【添加】→【新建项】命令,在弹出的对话框中选择“SQL数据库”模板,修改文件名称为“OnlineShop”,然后单击【确定】按钮。在弹出的提示对话框中单击【是】按钮,系统自动生成的数据库文件OnlineShop.mdf存放在App_Data文件夹下。(3)双击项目中的App_Data下的“”文件,打开【服务器管理器】。鼠标右键单击【表】结点,创建节中设计的数据表(4)在Web.config文件里设计数据库连接串如下:<connectionStrings><addname="OnlineShopConnectionString"connectionString="DataSource=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\OnlineShop.mdf;IntegratedSecurity=True;UserInstance=True"providerName=""/></connectionStrings>(5)建立系统所需要的目录层次。在项目中分别创建pages、images、goodsImage、siteClass文件夹,其中pages文件夹下面存放系统中的一些页面文件,images文件夹存放需要的图片,goodsImage文件夹下存放商品的图片,siteClass文件夹下存放系统添加的类文件。文件在系统中的组织方式如图4-1所示。(图4-1是系统完成后的截图)图4-1系统文件组织图(6)在siteClass文件夹下添加3个基本类文件:Common.cs、DataAccess.cs和BusinessFacade.cs。Common类用来定义系统常量和公共方法,DataAccess类是数据访问类,BusinessFacade类则是业务逻辑类。它们的具体实现将在节中详细介绍。(7)寻找需要的图片或用Photoshop自己制作系统需要的图片,如图4-2所示。图4-2系统网页设计所需图片至此为止,系统的框架就建立起来了。接下来要做的,就是各个功能模块具体的实现过程了。包括存储过程与类文件的实现,系统各个功能模块的实现了。4.2存储过程和类文件的实现在建立好系统的框架之后,接下来就是考虑数据库和类文件的实现了。系统的绝大多数功能都要访问数据,系统采用存储过程来完成所有对数据库的读写。这样不仅可以提高数据库的运行效率,而且还可以减少代码编译量,提高整个系统的性能。同样的,在创建存储过程之后,需要实现调用它们的方法。这时候就需要对系统类文件进行实现了。4.2.1存储过程的实现存储过程是存储在服务器上的一组预编译的SQL语句。存储过程有着较快的执行速度,能够减少网络流量,信息处理极为迅速。使用存储过程可以避免对命令的多次编译,在执行一次后其执行规划就驻留在高速缓存中,以后需要时只需直接调用缓存中的二进制代码即可。在电子商务网站的实现过程中,绝大多数的数据访问层的操作都由存储过程来实现的,并且尽量独立于ASP.NET程序,便于修改,最重要的是它可以减少数据库操作语句在网络中的传输,具有更强的适应性。该系统的存储过程主要包括对顾客表、商品表、图书类型和订单等的操作。下面以商品操作为例,详细说明存储过程创建的方法(1)新增商品(InsertGoods)该存储过程根据管理人员的输入增加一种图书商品,输入的信息包括图书商品名称、图书类型、商品描述、商品单价、商品的图片文件名称。其中图书类型是通过下拉列表进行选择,传入的值为图书类型的ID。创建该存储过程的SQL语句如下:--新增一种商品ALTERPROCEDURE[dbo].[InsertGoods]@strGoodsNamenvarchar(50),--商品名称@intGoodsTypeIDint,--图书类型的ID@strGoodsDescriptnvarchar(max),--商品描述@moneyGoodsUnitPricemoney,--商品单价@strGoodsImagenvarchar(50)--商品图片的文件名ASINSERTINTOtb_Goods(goodsName,goodsTypeID,goodsDescript,goodsUnitPrice,goodsImageName)VALUES(@strGoodsName,@intGoodsTypeID,@strGoodsDescript,@moneyGoodsUnitPrice,@strGoodsImage)RETURN(2)更新商品(UpdateGoods)该存储过程根据管理人员的输入修改已经存在的图书商品(intGoodsID)进行更新与修改,创建该存储过程的SQL语句如下:--更新一种图书商品ALTERPROCEDURE[dbo].[UpdateGoods] @intGoodsIDint,--商品ID @strGoodsNamenvarchar(50),--商品名称 @intGoodsTypeIDint,--图书种类ID @strGoodsDescriptnvarchar(max),--商品描述 @moneyGoodsUnitPricemoney,--商品单价 @strGoodsImagenvarchar(50)--商品图片名称ASUPDATEtb_GoodsSETgoodsName=@strGoodsName,goodsTypeID=@intGoodsTypeID,goodsDescript=@strGoodsDescript,goodsUnitPrice=@moneyGoodsUnitPrice,goodsImageName=@strGoodsImageWHEREgoodsID=@intGoodsIDRETURN(3)删除商品(DeleteGoods)该存储过程根据管理人员输入的由intGoodsID指定的图书商品从数据库中删除,创建该存储过程的SQL语句如下:--根据商品ID删除商品ALTERPROCEDURE[dbo].[DeleteGoods] @intGoodsIDint--商品IDAS DELETEFROMtb_Goods WHEREgoodsID=@intGoodsIDRETURN(4)获取商品(GetGoodsByNameAndType)该存储过程实现对商品的搜索,如果搜索条件为空则选出所有的图书商品信息,搜索条件包括商品名称关键字和图书种类。其中,对商品名称关键字搜索属于模糊查询。该存储过程为两个表的关联查询,从图书种类表中取出图书类型ID对应的类型名称。创建该存储过程的SQL语句如下:--按商品名称或者类型ID进行查询,不输入条件时获取全部ALTERPROCEDURE[dbo].[GetGoodsByNameAndType] @strGoodsNamenvarchar(50),--商品名称 @intGoodsTypeint--商品种类IDAS SELECTdsTypeID,A.goodsDescript,A.goodsUnitPrice,A.goodsImageName, FROMtb_GoodsASA INNERJOINtb_GoodsTypeASB ONA.goodsTypeID=B.goodsTypeID WHERE(A.goodsNamelike'%'+@strGoodsName+'%')AND(a.goodsTypeID=@intGoodsTypeOR@intGoodsType=-1)系统中其他的存储过程与以上几个类似,包括对数据库中数据的增加、删除、修改、查询等操作,具体代码见源程序中的数据库文件。系统完成后的存储过程则如图4-3所示。图4-3数据库存储过程完成图4.2.2类文件的实现创建存储过程之后,需要实现调用它们的方法。系统的架构采用多层模型,包括数据访问层和业务处理层。在图4-1中的siteClass文件夹下有三个类文件,分别为Common.cs,用来实现一些公共方法和常量的定义;DataAccess.cs,封装所有对数据库的操作的方法;BusinessFacade.cs,对要写入数据的规则验证和读出数据的处理。Common.cs中定义Common类,实现一些公用方法和常量的定义。如根据图片名字返回图片所在的路径、注册客户端脚本等。Common.cs的部分代码如下:///<summary>///根据图片名字返回图片所在的路径///</summary>///<paramname="fileName">图片名称</param>///<returns>图片所在的路径</returns>publicstaticstringGetImagesPath(stringfileName){if(fileName==""){return"../goodsimage/"+"defaultgoodsimag.jpg";}else{return"../goodsimage/"+fileName.ToString();}}///<summary>///注册客户端脚本///</summary>///<paramname="e">控件名</param>///<paramname="strscript">提示信息</param>publicstaticvoidRegScript(Controle,stringstrScript){ScriptManager.RegisterClientScriptBlock(e,e.GetType(),"",t('"+strScript+"');",true);}-ScriptBlock方法的封装,通过它注册客户端脚本块,在系统中用来向用户弹出提示信息。DataAccess.cs中的DataAccess类封装了所有对数据库进行操作的方法,例如获得数据库连接串、获得所有订单信息、根据订单编号获得订单信息、新增订单等。部分代码如下:usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;using.UI.HtmlControls;usingSystem.Data.SqlClient;namespace{publicclassDataAccess:IDisposable{//获得数据库连接串privateSqlConnectionconn=newSqlConnection(ConfigurationManager.ConnectionStrings["OnlineShopConnectionString"].ConnectionString);///<summary>///释放实例变量///</summary>publicvoidDispose(){Dispose(true);GC.SuppressFinalize(true);}///<summary>///释放实例变量///</summary>protectedvirtualvoidDispose(booldisposing){if(!disposing)return;}///<summary>///获得所有订单信息///</summary>///<returns>订单数据集</returns>publicDataSetGetAllOrder(){conn.Open();SqlCommandcomm=newSqlCommand("GetAllOrder",conn);commmandType=CommandType.StoredProcedure;SqlDataAdapteradapter=newSqlDataAdapter(comm);DataSetDBSet=newDataSet();adapter.Fill(DBSet);adapter.Dispose();comm.Dispose();conn.Close();returnDBSet;}///<summary>///新增订单,用事务处理///</summary>///<paramname="dtCart">订单详细表</param>///<paramname="strCustomerID">顾客登陆名</param>///<paramname="totalMoney">总金额</param>///<returns>是否成功</returns>publicboolInsertOrder(DataTabledtCart,stringstrCustomerID,doubletotalMoney){conn.Open();

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论