网上书店销售系统ASP_第1页
网上书店销售系统ASP_第2页
网上书店销售系统ASP_第3页
网上书店销售系统ASP_第4页
网上书店销售系统ASP_第5页
已阅读5页,还剩88页未读 继续免费阅读

下载本文档

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

文档简介

单位代码01学号100301065分类号TP393密级要源程序请加QQ:365924186毕业设计说明书网上书店销售系统的设计与实现院(系)名称信息工程学院专业名称计算机科学与技术学生姓名指导教师2012年5月12日网上书店销售系统的设计与实现摘要本文从需求分析、总体设计、详细设计、系统测试四个方面阐述了网络图书销售系统的设计过程,对课题的实际需求提出了合理的解决方案,经过论证得出该方案满足实际需求,针对课题特点在MicrosoftVisualStudio2008环境下使用C#作为开发工具,经过实际测试达到了我对软件功能的需求。此网络图书销售系统主要包括了库存管理、管理员管理、订单管理、用户管理、公告管理、及系统退出六大模块,该系统具有界面友好,使用方便的特点。从需求分析、系统概要设计、系统的详细设计和实现等几个方面来介绍系统的开发过程,最后对系统进行了运行和测试。关键词:图书销售,电子商务系统,C#TheDesignandImplementationoftheOnlineBookstoreSalesAuthor:Tutor:AbstractThisarticleexpatiatedBooksalese-commercesystemdesignprocessfromneedsanalysis,design,detaileddesignandsystemtestingfouraspects,subjecttotheactualdemandputforwardareasonablesolution,afterproofthattheprogrammetomeetactualdemand,featurestopicsfortheMicrosoftVisualStudio2008useC#asatooltoachievearealtestsoftwareneeds.ThedesignandimplementationoftheonlinebookstoresalesIdidhasmainlyincludedtheinventorymanagement、theadministratorsmanagement、theordersmanagement、theusersmanagement、thebulletinmanagementandtheuserslogout.thefunctionofthissystemiscomplete,thecontactsurfaceisfriendly,operateeasily.Thisarticlemainlystartedwiththedemandanalysis,systemoutlinedesign,systemdetailedandrealization.Itmainlyintroducesthedevelopmentofthissystem,finallywecarriedonthemovementandtesttothissystem.Keywords:Booksales,e-commercesystem,C#

目录TOC\o"1-3"\h\u131931绪论 页1绪论随着Internet的飞速发展,移动购物和网上购物越来越普及,B/S(Browser/Server)架构应运而生并在电子商务系统中得到广泛应用,网上购书的方式也越来越为广大的上网爱好者接受和喜爱。图书销售电子商务系统简单来说就是商业上的进销存管理系统,是为适应现代图书销售、管理而产生的。在各行各业竞争日益激烈的今天,加强工作管理,提高工作效率和工作质量是每一个企业必须面临并且必须解决的重大课题。图书销售业在面对图书进货、销售、存货,图书资料管理问题时,以前手工工作方式的管理已远不能够满足现今日益扩大的图书销售市场,企业只有采取信息化管理方式,才能够保证企业的最大赢利及可持续发展。图书销售系统的建成,将使得企业的管理工作跨上一个新的台阶,为商家的指挥决策提供更有价值、更具时效性的分析数据。系统还将以前单据所需的大量纸张文字信息转换成电子数据,简化了日后的查询步骤,工作人员不再用手工翻阅查找各种登记册和单据本,只需输入查询条件,计算机在很短的时间内就会查到所需记录,并将内容显示在屏幕上,大大加快了查询速度。提高生产数据统计的速度和准确性,减轻汇总统计人员的工作难度。同时图书销售电子商务系统通过数据统计,能够及时统计图书的种类和数量,对于拥有众多的分销点的大公司来说,这种统计不仅可以互相共享图书资源而且可以及时有效的方便顾客,争取更多的客源。针对该系统的特点,采用了MicrosoftVisualStudio2008和SQLServer2005设计并实现了基于Windows系统环境的图书销售电子商务系统。

2系统需求分析随着Internet的飞速发展,移动购物和网上购物越来越普及,此次课题的选题的初衷,其实主要是顺应时代潮流,用IT方面的科技成果来打造全新的购物方式改善现有的生活方式。具体来说更方便现代的网络用户查找购买适合自己的图书,从而弥补现实当中购书方式不够经济快捷的缺点。图书销售电子商务系统是目前Internet上广泛使用的电子商务系统之一。在1997年,国外网上书店达两百家以上。而在国内,自杭州新华书店创办第一家网上书店后,网上书店如雨后春笋般涌现出来。其中最为有名的莫过于1999年1月1日开通的上海书城网上书店和3月9日正式营业的北京图书大厦网上书店。现在,到底有多少中文图书的网上书店,恐怕很难统计完整。自从80年代中期以来,国际互联网(Internet)在美国得到迅猛发展并获得了巨大的成功,吸引了世界上许多国家和地区纷纷加入Internet的行列。Web是访问Internet的一种最容易、最流行的方式,利用Web作为工具访问Internet的人数占了绝大多数,因此,网上购物得到了极大的商业发展,基于网上购物非常广阔的前景。发展Web下的图书销售电子商务系统已成为了现在很多书城的基础建设项目。中国即将成为世界第一网络大国,网民数量已超过一亿,近9000万人已经在网络上买过东西,300万家商户在网络上营销和采购。可是,由于过去电子商务的成本太高,在网络上卖东西的人很少,这样的商业机会真是百年不遇。先行一步才能先富起来,抓紧时间把生意做到网络上去,这就是答案。电子商务(E-COMMERCE或E-BUSINESS)是信息时代商务模式的实质性变革,是未来贸易方式的发展方向。其实施牵涉到社会信用体系、法律环境、经济秩序诸方面,是一个与社会大环境息息相关并独具完整结构体系的系统工程。电子商务网站(网站商场)是整个电子商务的一个组成部分,它与传统商务相比具有五方面主要优势:(1)无需店铺租金等,能使营业成本大大低于传统商店;(2)采用“零库存”管理方式可大大缩短资金的周转周期;(3)互联网商务更有利于开拓全球市场;(4)实现24小时不间断营业,有利于提高营业额[1]。图书销售电子商务系统作为电子商务系统之一,从其主要功能和交易形式上来分主要算作B2C商务网站模式,是一种企业面向消费者的服务模式,但是如果在文化传媒领域大力推进这种商务模式,企业之间可以直接通过公共的文化传媒电子商务系统来实现产品的相互流通,从而扩展到B2B商务网站模式。同时随着将来互联网的飞速发展和电子商务系统的不断完善和技术创新,在基于B2B、B2C混合模式下的图书销售电子商务系统,可以继续创新扩展添加“二手图书市场”子系统模块,从而实现C2C的免费交易平台,这样不仅可以扩大用户量实现更多的资源共享,同时不失为一种有效的网站推广模式[2]。一个结构完善、发展成熟的图书销售电子商务系统,除了可以对传统的图书销售模式进行革新简化,同时可以复制推广到更多的文化传媒产品领域,这样不仅实现产品多元化,同时可以方便顾客购买,实现电子商务网站的综合销售模式。2.1功能需求2.1.1基本功能需求图书销售电子商务系统(后台设计)主要包含以下六大功能模块:库存管理、管理员管理、订单管理、用户管理、公告管理、及系统退出[3]。(1)库存管理:包括浏览现有书籍、浏览特价书籍、添加新书等;(2)管理员管理:包括添加管理员、删除管理员、管理员信息查看等;(3)订单管理:包括订单列表查看、订单详细信息处理(确定、发送、查收、删除及逆操作)等;(4)用户管理:用户(前台注册会员)列表查看、用户详细信息查看,用户删除等;(5)公告管理:公告列表浏览、公告详细信息查看、公告删除和公告添加;(6)系统退出:后台管理员退出系统。2.1.2界面的需求图书销售电子商务系统作为一个实用的电子商务交易平台,必须要求尽量满足大部分客户的操作习惯和使用要求,要本着明快简洁,方便合理,简单易用的网站要求来策划设计。从总体功能上来看,这个电子商务系统包括前台和后台两部分。在负责的后台部分要求能让公司的管理人员尽快且非常方便的进入系统,且进入系统后能很容易根据导航栏进行操作[4]。2.1.3系统维护需求(1)数据无论对于用户还是系统本身来说都是非常宝贵的资产。数据是存放在计算机上的,但是即使是最可靠的硬件和软件,也会出现系统故障和产品故障。所以,应该在单个发生之前做好充分的准备工作,以便在意外发生之后有相应的措施能快速的恢复数据库的运行,并使丢失的数据尽量减少到最小。对于该系统,有许多的账务数据,关系到双方的利益,所以,系统要能够备份数据和还原数据。(2)为了信息安全,在管理员使用完毕时候要安全退出系统,所以系统要设置退出功能,以便清空session中保存的信息[5]。2.2性能的需求2.2.1系统的灵活性电子商务系统能否顺利的使用和推广,其灵活性是一个重要指标。在开发系统前,要进行实际调查,确保尽量满足客户的需求。此系统后台的设计库存管理、管理员管理、订单管理、用户管理、公告管理等功能均可以对一些必要信息进行多次修改,确保信息的动态性,这样既方便用户记忆使用,同时可以删除一些不必要的信息节约存储空间。2.2.2系统的可扩展性电子商务系统的可扩展性是评价系统性能的一个重要指标。随着图书销售行业的不断发展和变化,图书销售电子商务系统的要求越来越多,因此新的功能需要不断的被加进系统,使该系统日益完善。如果一个系统不能被扩展,那么只有重新开发一个新的系统,这样会浪费许多的人力物力。因此为了避免这些不利因素,在设计的过程中尽量对需求分析细分细化,对数据库的设计尤为慎重,为以后扩展留有余地。2.2.3系统的安全性电子商务系统分为前台后台,前台为会员注册、登录、购物的平台,后台是系统管理员实现系统管理的平台,其中用户(前台注册会员)信息和管理员信息都是一个重要的信息参数,所以为了系统的安全性,这些敏感的数据都应该采用加密传输和加密存储。同时对不同的用户进入系统,也应该加以区别对待,所以要有进入此系统的权限控制,只有具有相应权限的人员才能够操作该系统的某些功能。没有权限的人员无论通过任何途径都无法查看和修改系统的原始数据。可以访问整个系统的人员应具有更高的权限,他负责系统的维护及运行。以上两点都是基于系统安全方面的考虑,但是由于技术的局限性和时间的限制,这里没有实现,介于将来系统的完善有必要在这里提到。2.3开发工具及相关技术2.3.1前端软件开发工具的选择开发这套图书销售电子商务系统,统一选择了MicrosoftVisualStudio2005作为前端系统开发工具,其中的Web应用程序基础结构ASP.NET提供Windows客户端开发的瘦客户端对应物。通过显著改善的性能、工作效率和安全性。VisualStudio2005和ASP.NET2.0带来了简化、高性能且强大的Web开发体验。ASP.NET2.0具有一组新的控件和基础结构,可简化基于Web的数据访问,并且将包含能够促进代码重用、可视化一致性以及增强美感的功能。首先,通过引入用于与数据交互的新控件来调整ASP.NET2.0数据访问。DataSource控件将以声明方式或编程方式在应用程序中使用,以便封装使用数据(来自数据库、XML文件、中间层业务对象和其他来源)所需的查询逻辑。DataSource公开一组公共接口,以便数据绑定控件可以轻松地使用不同类型的数据,而不必要求它支持的每个数据类型都具有唯一的API。ASP.NET2.0还提供用于显示和操作数据的新控件。GridView控件是ASP.NETDataGrid的后继控件,它添加了自动处理数据的分页、排序、编辑和删除的功能。DetailsView是一个数据绑定控件,它一次呈现其关联数据源中的一个记录。DetailsView提供分页按钮,以便在记录之间进行导航。开发人员可以在主控件-详细信息控件方案中使用DetailsView控件来更新和插入新记录,其中,主控件的选定记录确定DetailsView显示记录。上述控件和其他控件的附加功能大大简化了生成动态的、数据驱动Web站点和Web应用程序[6]。其次,ASP.NET2.0包含能够在Web站点中的页之间确保一致性和代码重用的功能。母版页的引入能够在多个页之间快速共享布局,方法是设计指定控件、菜单栏、页眉和页脚位置的模板。与Windows窗体中的可视化继承类似,母版页使Web站点中的其他页可从母版页继承从而自动获得外观。当要更改所有页的布局时,只需对母版页进行更新。其他的平台工作效率增强功能包括一组可以简化很多常见Web方案(如身份验证、站点导航、管理、个性化等)的框架服务。这些增强功能可减少代码膨胀,增加可维护性,并简化大多数常见Web应用程序开发任务的实现。第三,使用ASP.NET2.0的Web应用程序,能够利用SQL缓存无效化来提高其应用程序性能。通过缓存从SQLServer数据库中检索的数据(更新该数据之前),这种数据缓存方法将显著提高性能。通过当前可用版本的SQLServer,ASP.NET将按照指定的时间间隔轮询该数据库,以确定是否已经对该数据进行更新。然后,只有当有迹象显示对该数据进行了更新时,ASP.NET才会重新查询该数据库[7]。第四,通过使用VisualStudio2005IDE,Web应用程序可以在工作效率方面得到显著改善。在启用新的Web开发人员IDE配置文件后,VisualStudio2005将只公开与Web应用程序开发有关的功能,从而优化开发环境和用户体验。此外新的基于目录的项目模型将消除解决方案文件的系统开销,同时通过对直接IIS枚举、FTP和文件系统访问的支持,使Web开发人员能够享受传统的基于文件系统的项目范型。最后,对ASP.NET代码隐藏模型的增强消除了对由脆弱工具生成的代码的依赖,这些代码是传统意义上协调ASP.NET2.0Web页与其关联类文件所需的。使用不完全类,ASP.NET提供一个更为可靠的模型,以分隔表示标记与代码。不完全类还将使开发人员能够轻松地以内联方式编写代码,从而遵守很多Web开发人员所熟悉的模型。其他对Web开发的IDE工作效率增强功能包括:设计时验证引擎、内联CSS支持、更灵活的调试等。通过在控件集、可视化设计器和编码体验中计划的改进,ASP.NET2.0完成常见编码方案所需的代码量最多减少70%,从而大大简化了Web应用程序的开发。2.3.2后台数据库的选择MicrosoftSQLServer是Microsoft公司开发的一个基于结构化查询语言(SQL)和客户机/服务器模型的高性能的关系数据库管理系统,SQLServer2000的应用可以稳定运行在小到台式机、笔记本,大到具有8-16个处理器、若干个G字节的内存,若干个T字节的外部存储器的对称的多处理器服务器。由于今天Windows操作系统占领着主导地位,选择SQLServer一定会在兼容性方面取得一些优势。另外,SQLServer2000除了具有扩展性,可靠性以外,还具有可以迅速开发新的因特网系统的功能。尤其是它可以直接存贮XML数据,可以将搜索结果以XML格式输出等特点,有利于构建系统的互操作性,奠定了面向互联网的企业应用和服务的基石。MicrosoftSQLServer2000非常明显的改进就是增加了OLAP(联机分析处理)功能,这可以让很多中小企业用户也可以使用数据仓库的一些特性进行分析。OLAP可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。数据挖掘功能能够揭示出隐藏在大量数据中的倾向及趋势,它允许组织或机构最大限度的从数据中获取价值。通过对现有数据进行有效分析,这一功能可以对未来的趋势进行预测。MicrosoftSQLServer2000是在SQLServer7.0的基础上对性能、可靠性、质量以及易用性进行了扩展。SQLServer2000中包含许多新特性,这些特性使其成为针对电子商务、数据仓库和在线商务解决方案的卓越的数据库平台。其增强的特性包括对丰富的扩展标记语言(XML)的支持、综合分析服务以及便捷的数据库管理[8]。SQLServer2000是一种企业级的数据库管理系统,主要是被设计来支持大容量的事务处理,例如超级市场的销售系统,银行管理系统,网络中的数据库支持应用软件及其他方面的企业极的应用。因此选择了SQLServer2000作为自己的后台数据库。2.3.2软件开发平台的选择基于MicrosoftVisualStudio2005和SQLServer2000对运行环境的要求,并根据目前电子商务系统对计算机硬件设备的实际情况,选择了现在主流的MicrosoftWindowsXP作为系统开发、测试和运行的平台。2.3.4相关技术介绍ASP对象是ASP应用开发的强大工具,ASP共包含有7个对象,使用这7个对象可以完成大多数Web应用设计所需的功能。在ASP中,对象相当于一个已经被封装好的CGI程序,它向使用者提供的只是属性和方法,Web设计人员无需了解对象的工作原理和设计方法,只要直接调用对象的属性和方法就能完成Web应用程序的基本功能。ASP提供的7个对象为:Request:用于获取客户通过浏览器向服务器发送的信息。Response:用于将输出结果发送到浏览器。Session:用于在一个用户对话(Session)存储公用的信息。Application:用于在ASP应用的多个对象之间共享信息。Server:用于提供对服务器方法、属性的存取。Asperror:用于ASP应用的错误处理。Objectcontext:用于通过MicrosoftTransactionServer(MTS)来提交或终止一项交易。其中Asperror和Objectcontext是ASP3.0新增的对象。正确理解和掌握这些对象,是Web应用程序的前提条件[9]。

3总体设计图书销售电子商务系统(后台设计)其实是一个对数据库进行操作应用的系统,销售系统的所有图书信息、前台会员注册信息、新闻发布信息、管理员信息等都是保存在数据库里面。在这种数据库应用系统的开发过程中,在系统的总体设计中数据库结构的设计是一个非常重要的问题。数据库设计的好坏将直接对应用系统的效率以及实现的效果产生影响。好的数据库结构设计将会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度,数据库设计的好坏将直接对应用系统的效率以及实现的效果产生影响。好的数据库结构设计将会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度,简化基于此数据库的应用程序的实现等好处,所以数据库的设计在图书销售电子商务系统(后台设计)的总体设计中起着举足轻重的作用[10]。3.1系统功能结构设计本系统包括六大模块,他们之下又划分了多个子模块分别完成不同的功能,来维护整个系统的运转。具体如图3.1所示。图书销售电子商务系统图书销售电子商务系统管理员管理订单管理用户管理公告管理库存管理系统退出图3.1图书销售电子商务系统(后台设计)各大模块下的子模块如图3.2—图3.6所示。库存管理书籍览浏添库存管理书籍览浏添加书籍特价书籍图3.2库存管理图3.2显示的是库存的管理信息,其中包括浏览书籍、添加书籍、特价书籍三个功能。图3.3管理员管理图3.3是超级管理员的管理图示,其中包括添加管理员、管理员编辑、删除管理员等功能。好的数据库结构设计将会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度,数据库设计的好坏将直接对应用系统的效率以及实现的效果产生影响。好的数据库结构设计将会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度,简化基于此数据库的应用程序的实现等好处,所以数据库的设计在图书销售电子商务系统(后台设计)的总体设计中起着举足轻重的作用。数据库设计是建立数据库及其应用系统的核心和基础,它要求对于指定的应用环境。图3.4订单管理图3.4是订单管理功能的一个图示,其中包括订单确定、订单发送、订单查收、删除订单等功能。图3.5用户管理图3.5显示的是用户管理的功能,其中包括用户查看和用户删除两个功能。图3.6公告管理图3.6显示的是公告管理功能的模块,其中包括浏览公告、浏览添加和删除公告等三个功能。管理员可以在此界面对公告进行管理,管理员需要先验证登录,登录上之后在公告管理界面对公告进行添加、删除等操作。公告主要写的是该系统在某段时间更新信息的发布。3.2系统流程设计根据需求分析和模块设计设计出了系统的流程,这里主要是用户登录、起始页、前台收银、库存管理、经理查询、退出登录。只有有权限的用户才可以进入相关模块,而没有权限的用户不能进入相关模块。3.3数据库设计数据库设计是建立数据库及其应用系统的核心和基础,它要求对于指定的应用环境,构造出较优的数据库模式,建立起数据库应用系统,并使系统能有效地存储数据,满足用户的各种应用需求。3.3.1系统数据表书籍信息(书籍编号,书籍名称,书籍类型,书籍加入时间,内容简介,订购描述,价格,书籍点击率,书籍描述的图片,是否是特价书籍,折扣价格)。书籍类型(书籍编号,类型名称,类型的父类型号,是否有子类型,添加时间)。管理员信息(管理员编号,管理员用户名,管理员密码,真实姓名,Email地址,加入时间)。3.3.2数据库详细设计1、用户信息表(UserInfo)的设计表3.1用户信息表字段说明列名数据类长度主键允许空用户编号User_IDint4√-用户名User_Namevarchar50--用户密码User_Pswvarchar50--用户真实姓名User_RealNamevarchar50--用户电话User_Telvarchar50--用户Email地址User_Emailvarchar200--用户住址User_Addressvarchar200--邮编User_ZipCodevarchar20--2、管理员信息表(AdminInfo)的设计表3.2管理员信息表字段说明列名数据类型长度主键允许空管理员编号Admin_IDint4√管理员用户名Admin_Namevarchar50--管理员密码Admin_Pswvarchar50--真实姓名Admin_RealNamevarchar50--Email地址Admin_Emailvarchar200--加入时间Admin_AddDatedatetime8--3、公告信息表(BulletinInfo)的设计表3.3公告信息表字段说明列名数据类型长度主键允许空公告编号Bul_IDint4√-公告标题Bul_Titlevarchar100--公告内容Bul_contentvarchar4000--添加时间Bul_addDatedatetime8--添加人员Admin_IDint4--公告的浏览量Bul_pointint4--4、书籍信息表(GoodsInfo)的设计表3.4书籍信息表字段说明列名数据类型长度主键允许空书籍编号Goods_IDint4√-书籍名称Goods_Namevarchar50--书籍类型Goods_TypeIDint4--书籍加入时间Goods_AddDatedatetime8--内容简介Goods_Introducevarchar4000--订购描述Goods_OrderDescvarchar100--价格Goods_Pricevarchar50--5、书籍类型表(GoodsType)的设计表3.5书籍类型表字段说明列名数据类型长度主键允许空类型号Type_typeIDint4√类型名称Type_namevarchar50类型的父类型号Type_fidInt4是否有子类型Type_haveChildvarchar2添加时间Type_addDatedatetime86、订单信息表(OrderInfo)的设计表3.6订单信息表字段说明列名数据类型长度主键允许空订单号Order_noint4--订单产生时间Order_timedatetime8--订单确认情况Order_isConfirmvarchar2--订单确认时间Order_confirmTimedatetime8-√确认订单管理员的IDOrder_confirmAdminIDint4-√订单发送情况Order_sendStatusint4--订单的收货人姓名Order_recUserNamevarchar50--订单的收货人地址Order_addressvarchar200--订单的收货人邮编Order_zipvarchar20--产生订单的用户IDUser_userIDint4--订单的总价Order_totalPricevarchar50--订单的收货人的EmailOrder_emailvarchar200--根据需求分析和模块设计设计出了系统的流程,这里主要是用户登录、起始页、前台收银、库存管理、经理查询、退出登录。数据库设计是建立数据库及其应用系统的核心和基础,它要求对于指定的应用环境,只有有权限的用户才可以进入相关模块,而没有权限的用户不能进入相关模块。7、订单详细信息表(OrderDetail)的设计表3.7订单详细信息表字段说明列名数据类型长度主键允许空订单详细表号Order_detailIDint4--该项所对应的订单号Order_noint4--该项所对应的书籍Order_IDint4--该书籍所购买的数量Order_goodsNumint4--该书籍总价Order_pricevarchar50--

4详细设计与实现4.1系统功能设计简介4.1.1添加主功能面板管理员所要做的工作可以分为以下几部分。登录:这是对管理员身份的确认。库存管理:包括查看书籍列表,查看书籍详细信息,修改书籍详细信息,添加新书,以及特价书籍管理。管理员管理:包括添加管理员,查看修改管理员信息,以及删除管理员。订单管理:包括查看订单列表,查看单个订单的详细信息,以及对订单的状态进行设置。用户管理:既查看已有注册用户信息,也要求能够删除用户。公告管理:发布当前商务信息公告,同时要求能够更改删除。(1)在项目中添加一个文件夹,取名为Admin。在Admin文件夹中添加一个新的模板页,取名为admin.master。(2)首先在模版页上添加一个表单,然后在这个表单上添加5个HyperLink控件,用来链接到其他页面。一个LinkButton控件用来完成退出功能。如下图4.1所示。图4.1表单控件4.1.2添加欢迎控件(1)通过一个用户控件来显示欢迎信息。在Admin文件夹内添加一个新的用户控件,取名为AdminWelcome.ascx。(2)打开该页面,在其中添加一个Table控件和一个Lable控件用来显示用户名,还有HyperLink控件用来链接到修改管理员信息的功能页面。界面如下图4.2所示。图4.2Lable控件(3)添加后台代码。WebServicewebService=newWebService();protectedvoidPage_Load(objectsender,EventArgse){stringstrSql="SelectAdmin_namefromz_AdminInfowhereAdmin_ID='"+Session["AdminID"].ToString()+"';";DataTabledtTable=webService.ExcuteSelect(strSql);this.lblName.Text=dtTable.Rows[0]["Admin_name"].ToString();}添加LinkButton的Click函数体,代码如下。protectedvoidLinkButton1_Click(objectsender,EventArgse){Response.Redirect("Admin_Info.aspx?aid="+Session["AdminID"].ToString());}(5)将这个控件拖入模板页中相应的位置。4.1.3添加分类导航面板这里用到的用户控件就是前面提到的已经构建的SortTree.ascx控件,这里直接使用即可。最后的后台模块下整体界面如图4.3所示。图4.3分类导航面板4.2登录界面设计与实现管理员模块要求管理员首先进行身份确认,然后才能进入管理模块,所以这里需要增加一个身份确认的模块页面。(1)在Admin文件夹下添加一个新页面,取名为Admin_Login.aspx。这个页面不需要使用前面构建的模板页。(2)往页面中添加一个表格,在表格中添加两个TextBox控件,用来得到用户的输入,在添加两个Button控件,分别表示“提交”和“重填”。最后添加一个Label控件,用来输出信息。最后界面如下图4.4所示。图4.4登录页面(3)双击“提交”按钮,添加其Click事件函数体(4)双击“重填”按钮,添加其Click事件函数,代码如下。protectedvoidbtnCancel_Click(objectsender,EventArgse){this.tbUserName.Text="";this.tbPsw.Text="";4.3库存管理模块设计与实现4.3.1书籍列表页面为了方便管理员管理书籍商品,需要有个页面来显示出书籍的列表。(1)在Admin中添加一个新的页面,取名为Goods_List.aspx。注意选择其模板页为admin.Master。(2)在其中添加3个HyperLink,分别表示“浏览书籍”、“添加书籍”、“特价书籍”。再在这里添加一个DataList控件来显示书籍数据,打开DataList控件的ItemTemplete模板,往其中添加3个label控件,既一个Image控件,两个LinkButton控件,注意其中的数据绑定。然后在DataList控件上方添加一些控件来进行页面控制。最后的界面如下图4.5所示。图4.5书籍列表界面(3)界面完成后添加后台代码,最后代码参照附录源代码书籍列表页面代码。(4)增加对“详细信息”这个LinkButton控件的处理代码,然后添加其Command事件处理函数,代码如下。Response.Redirect("Goods_Info.aspx?gid="+e.CommandArgument);通过CommandArgument参数把被点击查看详细信息的商品的ID传递过去。(5)添加对删除这个LinkButton的处理代码。同样需要确认其CommandArgument参数已经绑定到Goods_ID上,然后在其中Command事件处理函数中添加如下代码。protectedvoidlbtnDel_Command(objectsender,CommandEventArgse){stringstrSql="Deletefromz_GoodsInfowhereGoods_ID='"+e.CommandArgument+"';";webService.ExcuteSql(strSql);Response.Redirect("Goods_List.aspx");(6)新建一个页面Goods_Special.aspx来显示特价书籍列表,对特价书籍的列表方法几乎和书籍列表一样,但这里不需要对其处理SortTree.Ascx控件传来的Type参数,所以可以直接就进行的数据的读取。数据读取过程中有点不一样,因为只是选出特价商品,所以其SQL语句变为:Selectz_GoodsInfo.*,z_GoodsType.*fromz_GoodsInfoINNERJOINz_GoodsTypeONz_GoodsInfo.Type_typeID=z_GoodsType.Type_typeIDwherez_GoodsInfo.Goods_isSpecial='y''orderbyGoods_addDatedesc;4.3.2添加书籍界面在Admin文件夹下添加一个新页面,取名为Goods_Add.aspx,往其中添加4个TextBox控件,一个DropDownList控件和一个Fileupload控件,然后添加8个TextBox控件和一个Image控件,注意前7个TextBox控件用来显示相关信息,不能修改,并对这几个控件都分别添加一个验证控件以验证其完整性,然后添加两个按钮,用来表示“提交”和“取消”。添加一个SqlDataSource控件来获得DropDownList控件的数据,最后页面如下图4.6所示。图4.6添加书籍页面添加“提交”按钮的事件处理函数,当管理员单击“提交”按钮后,首先获得用户的各项输入,然后将获得的信息插入到z_GoodsInfo表中。添加“取消”按钮的事件处理函数,功能是返回“书籍列表”页面,代码如下。protectedvoidbtnCancel_Click(objectsender,EventArgse){Response.Redirect("Goods_List.aspx");}4.3.3设置特价书籍价格页面在Admin文件夹中添加一个新页面,取名为Goods_SpecialPrice.aspx,同样是在页面中添加一个表格,然后添加8个TextBox控件和一个Image控件,注意前7个TextBox控件用来显示相关信息,不能修改,即其Readonly属性设为true,最后一个用来获得用户输入的新价格的TextBox才允许用户输入,然后添加两个Button按钮,分别用来表示提交和取消获得相应的显示信息,最后界面如下图4.7所示。图4.7设置特价书籍价格页面添加“确认”按钮的Click事件方法,即获得管理员输入的新价格,代码如下。if(Page.IsValid){stringstrSpecialPrice=this.tbIsSpecial.Text;Goods_isSpecial='y',Goods_specialPrice='"+strSpecialPrice+"'whereGoods_ID='"+gid+"';";webService.ExcuteSql(strSql);Response.Redirect("Goods_Special.aspx");}添加对“取消”按钮的Click事件方法,代码为。protectedvoidbtnCancel_Click(objectsender,EventArgse){Response.Redirect("Goods_List.aspx");}4.3.4书籍详细信息查看页面添加一个新页面,取名为Goods_Info.aspx。首先添加3个LinkButton作为导航栏,然后添加一个表格,在其中添加8个TextBox控件和一个Image控件,用来显示相应的信息,最后添加两个Button控件,一个表示“编辑”,一个表示“设为特价书籍”。最后的界面如下图4.8所示。图4.8书籍详细信息查看页面(2)添加对两个Button控件的Click事件处理函数。对这两个按钮,当单击“编辑“按钮”时,页面会跳转到书籍信息编辑页面,代码如下。protectedvoidbtnEdit_Click(objectsender,EventArgse){Response.Redirect("Goods_Edit.aspx?gid="+gid);}当单击“设为特价书籍”按钮时,则跳转到设置特价书籍价格页面,代码如下。protectedvoidbtnSpecial_Click(objectsender,EventArgse){Response.Redirect("Goods_SpecialPrice.aspx?gid="+gid);}4.3.5书籍信息修改页面添加一个新页,取名为Goods_Edit.aspx。先往其中添加3个HyperLink控件,作为页面导航栏,然后往其中添加一个表格,往表格中添加7个TextBox控件、一个DropDownList控件和一个fileupload控件。其中书籍ID、添加日期、“是否为特价”这3个TextBox的ReadOnly属性设为true,表示这3相不能被修改,其余的TextBox设为可以被修改,并为每一个可以修改的TextBox添加一个相应的验证控件,最后添加两个Button控件,一个表示提交,一个表示取消,如下图4.9所示。图4.9书籍信息修改页面考虑到书籍的种类只能为叶子节点,即只能为没有子节点的类型,所以表示种类的DropDownList控件所显示出来的选项只能为z_GoodsType中的Type_haveChild值为n的属性,这里通过添加一个SqlDataSource控件来获得这些叶子的类型。设置其语句为:SELECT[Type_name],[Type_fid],[Type_typeID]FROM[z_GoodsType]WHERE([Type_haveChild]=@Type_haveChild)最后把DropDownList控件的数据源设为刚生成的SqlDataSource控件就可以了。如下图4.10所示。图4.10配置数据源然后设置“提交”按钮的Click事件方法,最后设置“取消”按钮的Click事件方法,当用户单击“取消”按钮之后,直接返回书籍列表页面。4.4管理员管理模块设计实现在这个页面中会列出所有管理员的列表,同时可以提供“查看详细信息”和“删除”两个重要功能。在Admin文件夹中添加一个新页,命名为Admin_Manage.aspx,在其中添加两个HyperLink控件,一个用来表示“添加管理员”,一个用来表示“管理员信息”这两个HyperLink控件构成一个管理员管理模块的导航栏,再往其中添加一个Label控件,用来显示错误信息。往其中添加一个SqlDataSource控件,用来获得所有管理员的列表,设置其SQL语句为。SELECT[Admin_ID],[Admin_name],[Admin_realName]FROM[z_AdminInfo]添加一个GridView控件,在控件上单击右键,选择显示智能标记然后在GridView任务面板中选中启用分页、启用“启用删除”两个选项,并选择其数据源为刚添加的SqlDataSource控件,设置好的GridView任务面板如图4.11所示[11]。图4.11GridView控件设置添加一个新的TemplateField列,在其中添加一个LinkButton控件,显示为详细,和前面一样,注意把这个LinkButton控件的CommandArgument参数绑定为Admin_ID字段,最后界面如下图4.12所示。图4.12管理员列表添加对表示详细信息的LinkButton的Command事件处理函数,代码如下。protectedvoidLinkButton1_Command(objectsender,CommandEventArgse){Response.Redirect("Admin_Info.aspx?aid="+e.CommandArgument);}在Admin_Manage.aspx页面中选中GridView控件,选择其属性切换到“事件”标签,添加其Row_Deleting事件。这个事件是发生在对数据源执行Delete命令之前激发,所以可以在这个事件处理函数中添加对删除行的判断代码,代码如下。protectedvoidGridView1_RowDeleting(objectsender,GridViewDeleteEventArgse){if(e.RowIndex==0){this.lblMsg.Text="超级管理员,不允许删除";e.Cancel=true;}elseif(e.Keys["Admin_ID"].ToString()==Session["AdminID"].ToString()){this.lblMsg.Text="不允许删除自己";e.Cancel=true;}else{e.Cancel=false;}}判断条件很简单,重要的是终止Deleteing命令的语句e.Cancel=true;通过设置eCancel属性的真假,就能够很随意地设定是否删除当行。在删除成功后就给出提示,这里需要用到的事件是Row_Deleted事件,这个事件发生在对数据源执行Delete命令之后激发,代码如下。protectedvoidGridView1_RowDeleted(objectsender,GridViewDeletedEventArgse){this.lblMsg.Text="删除成功";}至此管理员列表页面就已经构建完成。4.4.1管理员详细页面在Admin文件夹中添加一个新页,取名为admin_info.aspx,同前面一样往其中添加两个HyperLink控件来形成导航栏,然后往其中添加一个SqlDataSource控件,通过这个控件获得查看的管理员的详细信息,设置其SQL语句为:SELECT*FROM[z_AdminInfo]WHERE([Admin_ID]=@Admin_ID)其中@Admin_ID为在管理员列表页面中传递过来的QueryString中的“aid”。添加一个label控件,用来显示相应的信息,再添加一个DetailsView控件,设置其数据源为前面添加的SqlDataSource控件,然后往其中添加一个CommandField,按钮类型选择Button,命令按钮选择“编辑更新”,如左下图4.13所示。图4.13添加字段设置图4.14SqlDataSource控件属性设置为了能够让DetailsView能够自动更新数据,还有一个必须得工作是设定DetailsView的数据源的UpdateQuery的命令,右键选中SqlDataSource控件,选择其属性,找到其UpdateQuery属性,如右上图3.14所示。设定其属性,在弹出的命令和参数编辑器面板中添加相应的SQL命令,这里可以使用提供的查询生成器,最后生成的Update语句为UPDATEz_AdminInfoSETAdmin_name=@Admin_name,Admin_psw=@Admin_psw,Admin_realName=@Admin_realName,Admin_email=@Admin_emailWHERE(Admin_ID=@Admin_ID)这个语句是一个简单的Update语句,重要的是其中的参数,单击刷新参数按钮,所有的SQL语句中的参数都会在下面的参数框中显示出来,这里对于前面的表示新值的参数,选择其参数源为Control,ControlID选择为添加的DetailsView控件的ID,如下图4.15所示。图4.15命令和参数编辑器属性设置注意最后的Admin_ID参数,这个参数是通过QueryString来传递的,所以这个参数的参数源选项设为QueryString,QueryStingField自然是“aid”,如下图4.16所示。图4.16参数源选项设置单击“确定”按钮,这样SqlDataSource控件的UpdateQuery属性已经设置完毕,DetailsView控件就能够自动编辑了。在管理员列表页面的构建中已经使用了GridView的Row_Deleting和Row_deleted事件,在DetailsView中也存在着这种类型的事件。选择DetailsView控件的属性,在其“事件”标签下找到ItemUpdating事件,这个事件是在对数据源执行Update命令之前激发,在这里可以执行对输入的有效性检查。最后添加一个修改成功后的提示信息,同前面一样,这里用到ItemUpdated事件,代码如下。protectedvoidDetailsView1_ItemUpdated(objectsender,DetailsViewUpdatedEventArgse){this.lblMsg.Text="修改成功";}这样管理员详细信息查看/修改页面就构建完成了。4.4.2添加管理员页面在Admin文件夹中添加一个新页,命名为Add_Admin.aspx,先添加导航栏,然后添加一个表格,再添加4个TextBox控件用来获得用户输入,同样对每一个输入控件都添加一个验证控件,同时添加一个Label控件用来显示信息,最后添加两个Button控件来表示“提交”和“取消”,最后界面如下图4.17所示。图4.17添加管理员页面添加“提交”按钮的事件处理函数,当管理员单击“提交”按钮之后,通过获得的输入,首先验证其用户名的唯一性,如果没有问题,则把这个新的管理员信息插入到z_AdminInfo表中。添加“取消”按钮代码,当管理员单击“取消”按钮时,就直接返回管理员列表页面,代码如下。protectedvoidbtnCancel_Click(objectsender,EventArgse){Response.Redirect("Admin_Manage.aspx");}至此管理员管理模块构建完成。4.5订单管理模块设计实现4.5.1订单列表页面在这个页面中管理员可以查看所有用户订单,构建方法和前面的用户订单列表页面相似,只是查询的范围不同。在Admin文件中添加一个新页,命名为Order_List.aspx。往其中添加一个DataList控件,并向前面的用户订单列表页面中一样,添加相应的控制分页控件,编辑DataList控件的项模版往其中添加一个表格,然后添加5个Label控件,分别绑定数据项Order_no、User_name、OrderConfirmStatus、Order_time、OrderSendStatus,用来显示“订号”、“订购人”、“订购状态”、“订购日期”、“发送状态”。最后一个LinkButton的CommandArgument参数绑定为Order_no,用来链接到订单的详细信息显示页面。最后界面如下图4.18所示。图4.18订单列表页面添加其后台代码,代码参照附录源代码“订单列表”部分代码。添加导向订单详细信息的页面的LinkButton的Command事件函数。protectedvoidLinkButton1_Command(objectsender,CommandEventArgse){Response.Redirect("Order_Manage.aspx?oid="+e.CommandArgument);}4.5.2订单详细信息查看及处理页面当管理员单击订单列表中某个订单下的详细进入链接后,就会进入这个订单的详细信息查看及处理页面,这里要完成两个功能,即确认订单/取消确认;设置订单的发送接收状态,包括未发送、已发送、已查收。(1)在Admin文件夹中添加一个页面,命名为Order_Manage.aspx,往其中添加一个SqlDataSource控件,用来获取某个订单的详细信息,其SQL语句为SELECTz_OrderDetail.Order_DetailID,z_OrderDetail.Order_NoASExpr1,z_OrderDetail.Goods_ID,z_OrderDetail.Order_goodsNum,z_OrderDetail.Order_price,z_GoodsInfo.Goods_IDASExpr2,z_GoodsInfo.Goods_nameFROMz_GoodsInfoINNERJOINz_OrderDetailONz_GoodsInfo.Goods_ID=z_OrderDetail.Goods_IDWHERE(z_OrderDetail.Order_No=@Order_No)其中参数“@Order_No”是通过QueryString传递过来的“oid”。(2)添加一个GridView控件,设置数据源为前面建立的SqlDataSource控件,但是不要自动生成列,只是添加“书籍名称”、“数量”、“总价”3个列即可。(3)添加一个Table控件,并往其中添加9个Label控件,用来显示订单的详细信息,然后添加6个Button按钮,分别表示“确认该订单”、“设为非确定”、“设为已发送”、“设为未发送”、“设为已查收”、“删除该订单”。其中,这几个按钮中有几对不能同时出现在一个页面中,而这个可以通过Button控件的Visible属性来控制,最后界面如下图4.19所示。图4.19订单查看及处理页面添加后台代码,首先是订单详细信息的显示代码,代码如参照附录源代码“订单详情查看页面”。订单状态控制按钮的事件代码,这里前5个按钮都是用来控制订单的状态的,每单击一个按钮,就需要更改订单的详细信息表z_OrderInfo中的条目,同时还要更改这些按钮的显示情况。添加“删除该订单”按钮的事件处理函数,当管理员单击“删除该订单”按钮时,该订单即被从z_OrderInfo和z_OrderDetail表中删除,代码如下。protectedvoidbtnDel_Click(objectsender,EventArgse){strSql="Deletefromz_OrderDetailwhereOrder_no='"+oid+"';";webService.ExcuteSql(strSql);Response.Redirect("Order_List.aspx");}订单管理模块到此完成。4.6用户管理模块实现4.6.1用户列表页面用户列表页面的构建方法如前在Admin文件中添加一个新页,命名为User_Manage.aspx。往其中添加一个Label控件,用来显示信息,再添加一个SqlDataSource控件,这里给出其SQL语句为SELECT[User_ID],[User_name],[User_realname]FROM[z_UserInfo]添加一个GridView控件,用来显示用户列表,同管理员列表页面一样,添加一个新的TemplateField列,往其中添加一个LinkButton控件,用来表示“详细”信息,同时选择这个GridView控件的“启用分页”、“启用删除”的选项,最后界面如下图4.20所示。图4.20用户列表页面添加导向详细信息的LinkButton控件的Command事件处理方法,代码如下。protectedvoidLinkButton1_Command(objectsender,CommandEventArgse){Response.Redirect("User_Info.aspx?uid="+e.CommandArgument);}添加删除完毕后的提示信息,这个利用到GridView控件的Row_Deleted事件,代码如下。protectedvoidGridView1_RowDeleted(objectsender,GridViewDeletedEventArgse){this.lblMsg.Text="删除成功";}4.6.2用户信息查看页面管理员可以查看用户的详细信息,但是不能修改用户信息。设计如下。(1)添加一个SqlDataSource控件,设置其SQL语句为SELECTDISTINCT*FROM[z_UserInfo]WHERE([User_ID]=@User_ID)其中参数“@User_ID”为从QueryString上传来的参数“uid”。(2)添加一个DetailsView控件,设置其数据源为前面建立的SqlDataSource控件,同时注意设置列,不要显示用户密码这一列。最后界面如下图4.21所示。图4.21用户信息查看页面4.7公告管理模块设计实现4.7.1公告列表页面在Admin中添加一个新页,取名Bulletin_List.aspx,往其中添加两个HyperLink控件,分别表示“浏览公告”、“添加公告”,作为公告管理模块的导航栏。往其中添加一个GridView控件,但是这个GridView控件没有数据源,先在其中添加4个BoundField,分别表示“序号”、“标题”、“添加日期”、“浏览量”并且将它们的DataField属性分别绑定到no、Bul_title、BUl_addDate、Bul_point这4个字段上,再添加一个TemplateField字段,往其中添加两个LinkButton控件,这两个控件的CommandArgument参数都绑定为Bul_ID字段,同时对这个GridView控件启用分页。最后界面如下图4.22所示[12]。图4.22公告列表页面(3)添加后台代码,首先是GridView控件的数据源,代码如下。WebServicewebService=newWebService();stringstrSql;DataTabledtTable;protectedvoidPage_Load(objectsender,EventArgse){if(Session["UserLevel"]==null||Session["UserLevel"].ToString()!="Admin"){Response.Redirect("error.aspx");}strSql="SelectBul_ID,Bul_title,Bul_addDate,Bul_pointfromz_BulletinInfoorderbyBul_addDateDesc;";dtTable=webService.ExcuteSelect(strSql);DataColumncolumn1=newDataColumn("no");dtTable.Columns.Add(column1);for(inti=0;i<dtTable.Rows.Count;i++){dtTable.Rows[i]["no"]=(i+1);}this.GridView1.DataSource=dtTable.DefaultView;this.GridView1.DataBind();}然后是“详细”和“删除”这两个LInkButton控件的Command事件处理函数,代码如下。protectedvoidLinkButton2_Command(objectsender,CommandEventArgse){strSql="Deletefromz_BulletinInfowhereBul_ID="+e.CommandArgument;webService.ExcuteSql(strSql);Response.Redirect("Bulletin_List.aspx");}protectedvoidLinkButton1_Command(objectsender,CommandEventArgse){Response.Redirect("Bulletin_Info.aspx?bid="+e.CommandArgument);}4.7.2公告添加页面管理员可以通过添加公告页面来添加新的公告显示在主页上面,下面构建此页面。在Admin文件夹中添加一个新页,命名为Bulletin_Add.aspx,首先添加同前面一样的导航栏,然后添加一个表格,往表格中添加两个TextBox控件,用来获得管理员输入,再为每一个TextBox控件添加一个验证控件,最后添加两个Button控件,分别表示“提交”和“取消”。界面如下图4.23所示。图4.23添加公告页面添加“提交”按钮事件处理函数,代码如下。protectedvoidbtnSubmit_Click(objectsender,EventArgse){if(Page.IsValid){webService.ExcuteSql(strSql);Response.Redirect("Bulletin_List.aspx");}}添加“取消”按钮事件处理函数,即跳转到公告列表页面,代码如下。protectedvoidbtnCancel_Click(objectsender,EventArgse){Response.Redirect("Bulletin_List.aspx");}4.8系统退出及出错提示模块设计出现4.8.1系统退出功能实现至此整个网站的后台基本完成,但是主功能面板中还有一个“退出”这个LinkButton控件的Click事件处理函数还需要加上,代码如下。protectedvoidLinkButton1_Click(objectsender,EventArgse){Session["UserLevel"]=null;Session["AdminID"]=null;Response.Redirect("Admin_Login.aspx");}4.8.2出错提示页面即将此管理员的所有Session都设为null,然后返回管理员登录页面。最后由于前面每一页对管理员的身份的判断条件中,如果出错了则会跳转到一个error.aspx页面中,下面添加一个简单的出错提示页面。添加一个新页面,命名为error.aspx,在页面中添加一个表格,在其中填写一些信息,并给出一个链接返回,界面如下图4.24所示。图4.24出错提示页面

5系统测试一个系统功能的实现,首先把大致的骨架给设计好,然后根据系统要求写代码,接着是调试程序,最后完善总结。其中最重要的两步就是中间的两步。5.1系统调试连接数据库的时候出现错误提示,原因是TerminalService没有开启,导致SQLClient无法运行。还有在调试中因为修改数据库,导致AdminInfo表的标识置为“否”以致主键Admin_ID无法插入,从而“添加管理员”操作始终无法实现。还有在删除管理员的时候,以前只考虑到判断“超级管理员不能删除”和“不能删除自己”两种情况,但没有考虑到有些管理员因为处理过订单,所以在数据库中存在外键关联情况,一旦删除这些管理员,程序就会出错,所以后来请教别人加了一个判断函数才解决这个问题。在调试过程中学到了很多东西,包括平时不注意的不起眼的小问题都可能成为大的阻碍。在录入时,由于输入数据格式不匹配导致频繁出错[13]。5.2系统测试测试分以下几个模块系统登录:输入正确的登录信息后进入系统,说明登录系统正常运行。库存管理:包括浏览现有书籍、浏览特价书籍、添加新书等。此界面是一个重要的页面,通过自己逐一对书籍进行添加、查看、修改、删除,基本功能运行正常。管理员管理:包括添加管理员、删除管理员、管理员信息

温馨提示

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

评论

0/150

提交评论