毕业设计(论文)-网上书店的设计与实现.doc_第1页
毕业设计(论文)-网上书店的设计与实现.doc_第2页
毕业设计(论文)-网上书店的设计与实现.doc_第3页
毕业设计(论文)-网上书店的设计与实现.doc_第4页
毕业设计(论文)-网上书店的设计与实现.doc_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

本科生毕业论文(设计)题 目 学生姓名 指导教师 学 院 专业班级 完成时间 2010年5月 摘 要电子商务的在网络环境中的飞速发展,网上书店作为电子商务模式中的典型应用,也得到了广泛的推广,它提供了比传统书店更方便、快速的优越服务,受到了越来越多的人的青睐。论文详细分析了系统的总体架构和功能模块,阐述了网上书店的数据库设计以及各功能模块的详细设计。系统采用三层结构框架,利用可移植性好的asp作为开发平台,使用sqlserver2000搭建数据库,实现了系统的各个功能模块。系统的功能包括新用户的注册,用户的浏览、查询图书,用户购书、浏览最近的消费记录,管理员对用户的管理,管理员对图书的管理及网站本身的消费统计图表等,并具有良好的交互界面。本文最后对系统的设计和实现进行了总结,并阐述了将来进一步对该系统进行扩充和完善的一些工作。关键词:电子商务,网上书店,asp abstracte-commerce in the rapid development of network environment, online bookstore, as a typical application of e-commerce model, has a wide range of promotion, it offers convenient than traditional bookstores convenienter, fast excellent service, received more and more people of all ages. this paper analyzes the overall system structure and function modules, the electronic system for e-commerce system to sell books illustrated that the database design and detailed design of each functional module. framework adopts three-tier architecture, using asp as the development platform portability good use sqlserver2000 build the database to achieve the systems various functional modules. which implements the new users registration, the users browsing, check books, users buy books, browse the latest consumer records, the administrator of the users management, the administrator of the library management and web sites own consumption charts and so on, and has good interface.finally, the design and implementation of the system are summarized and elaborated in the future to further expand and improve the system some of the work.key words: e-commerce, online bookstore, asp目 录摘 要iiabstractiii目 录iv第一章 绪 论11.1 研究意义11.2 研究背景21.3 论文的组织3第二章 系统的总体设计42.1 系统设计思想42.2 系统功能模块设计52.3 系统的主要开发工具6第三章 系统的详细设计与实现83.1 系统功能流程分析与设计83.2 数据库设计83.2.1数据库需求分析83.2.2数据库概念结构设计93.2.3数据库逻辑结构设计103.3 类的设计123.4 界面设计133.4.1用户注册133.4.2用户登录153.4.3浏览和查询图书183.4.4查看图书详情及最近销售记录233.4.5管理购物篮253.4.6系统管理登录及管理用户283.4.7管理员添加图书303.4.8管理员删除图书32第四章 结束语354.1 总结354.2 展望36致 谢37参考文献38iv安全电子商务系统的研究与模拟实现 第一章 绪 论第一章 绪 论1.1 研究意义电子商务,是指在internet上进行商务活动。具体是指利用各种电子工具和网络,进行高效率的,低成本地从事以商品的交换为中心的各种商业贸易活动1。电子商务的一个重要的技术特征是利用web的技术来传输和处理商业信息,因此有人称:电子商务= web + it。电子商务可以通过多种电子通讯方式来完成。简单的,比如你通过打电话或发传真的方式来与客户进行商贸活动,似乎也可以称作为电子商务;但是,现 在人们所探讨的电子商务主要是以edi(electronic data interchange,电子数据交换)和internet来完成的。从贸易活动的角度分析,电子商务可以在多个环节实现,由此也可以将电子商务分为两个层次,较低层次的电子商务如电子商情、电子贸易、电子合同 等;最完整的也是最高级的电子商务应该是利用internet网络能够进行全部的贸易活动,即在网上将信息流、商流、资金流和部分的物流完整地实现,也就 是说,你可以从寻找客户开始,一直到洽谈、订货、在线付(收)款、开据电子发票以至到电子报关、电子纳税等通过internet一气呵成。 随着网络的不断发展和计算机的普及,许多企业和商家逐渐开始和扩大在网上的商务活动,发展非常迅速。电子商务也成为当今网络时代的重要课题。电子商务可以改善服务,降低成本,提高效率,增加利润,预期还会取得更大的发展。并且在国家宏观指导下,目前电子商务已经为政府机关、企业、院校的主要基础设施之一,促进了社会经济、文化活动等方面的发展。电子商务在发展的过程中也遇到了各种各样的问题,其中电子商务安全问题就是影响电子商务发展的重要因素之一。正是基于此,研究在信息化环境下现代电子商务安全问题就变的非常地迫切和重要了。因此,在电子商务在我们的正常的生活中发挥着越来越重要的作用,这些安全问题就很有必要纳入我们电子商务设计的章程。所以未来的电子商务应该是:电子商务= web + it + security。 要坚信:这样的电子商务将为我们的生活提供更为便利,更为可靠,更为舒适的物质文明条件,构造一个令客户放心舒心的网络购物氛围。1.2 研究背景1. 电子商务的现状随着个人电脑和internet迅速发展,一个互联的商业时代已经来到,如果说2000年前的工业经济开始代替农业经济,那么今天,知识经济开始歹徒工业经济,电子商务伴随着高科技正向我们走来。社会经济从区域化想全球化发展,全球化市场,全球化协同生产,全球化营销和由此产生的全球化经营管理,对全球化的信息沟通及商业运作提出可强烈的需求,那么基于计算机网络的电子商务系统使这一切成为了可能,由此可以说电子商务是社会经济发展的必然趋势。那么在我们的原来的经济的理念上面,市场基本上呈现一种空间上面的扩张,只要能供给,需求一般能够自然获得满足,如何的快速集中资源并实现最大的产出往往是首位。而在社会的进一步的发展,使基本的需求获得满足后,人的需求变得十分的复杂,表现出多样化和个性化。市场的需求变得琢磨不定,反复无常。供给和组织机构需要从时间和机制上面发生改变,上述也就说明了我们原来的基本理论面临着一些随电子商务的挑战2。挑战往往伴随着的是商机。由于系统化,系列化的电子工具与商务的结合,从而创造出许多新的商业机会,例如,电子出版物,网游,电子咨询服务等,这些新型的行业蓬勃发展,创造出一个新的市场,带来新的产品,形成新的行业。许多的有志之士,进军这些朝阳产业,带动了许多企业的转产,转轨,纷纷上网寻找新的契机。在一个新型的产业的出现不免有一些不法份子寻找其漏洞,钻空子。这也就的导致我们所处的这个电子商务系统的氛围一些不和谐的因素。这也是我们在构建电子商务系统中不得不考虑的安全问题。有统计显示:在目前网上购物最大问题一项中,有34.3%的人选择了“安全性得不到保障” ,在用户选择网上银行最看重的因素中,有47.5%的人选择了“交易的安全性”。可见,网上交易的安全性已经成为制约电子商务发展的一个很重要的因素3。2. 网上书店无论是对企业还对社会而言,电子商务本身的一个十分复杂,庞大的系统。它所涉及的内容几乎包括了所有的社会实体。有关的各个社会实体通过internet连接在一起形成以个全社会的电子商务系统,无数的商务网站实际只是这个系统中某个节点。网站必须不是电子商务活动全部,但是离开了网站,那也称不上电子商务。网站为电子商务活动中信息管理提供平台。各种包括物流配送,网上营销,客户关系管理等电子商务所涉及的各个环节都可以在上面开展。所以可以说网站就是电子商务系统的枢纽。选择网上书店作为我们电子商务开发的实例,这使因为网上商店也是电子商务在应用领域的一个分类,它直接面向消费者从事零售。但是这个过程中会有物流配送,电子支付系统及客户管理等。几乎涵盖了电子商务系统的所有元素,并且书籍的简单,购书金额小,网站显示直观等特点,从而确定了我们网上书店电子商务系统。1.3 论文的组织论文全文共分四章:第一章 绪论。主要介绍课题的研究意义、研究背景和研究现状。第二章 系统的总体设计。介绍了系统的设计思想,主要是系统的结构模型和设计方法等。对系统的功能组成进行了说明,并给出了系统功能模块结构图和系统模块的简要说明。对系统的开发工具和运行环境进行了详细介绍,其中包括了asp、iis和sql server2000的介绍。 第三章 系统详细设计。详细阐述系统的数据库设计,运行界面的设计和关键的系统代码。主要实现了一下的功能:图书查询,浏览功能,用户登录注册功能,用户购买图书功能,用户购物篮管理,后台管理。第四章 结束语。对开发工作进行了总结,叙述了系统实现的功能和特点,描述了系统开发过程中遇到的问题与解决方案以及系统的性能优化,并阐述了将来进一步对该系统进行扩充和完善的一些工作。3安全电子商务系统的研究与模拟实现 第二章 系统的总体设计第二章 系统的总体设计2.1 系统设计思想1. 系统架构设计本系统采用b/s架构,使用c#的网站开发。系统包括表现层,业务逻辑层,数据存储层。在我们的界面中我们只能看到表现层的内容,业务逻辑层和数据存储层都是属于后台模块。管理员客户端表示层用户客户端 逻辑管理技术业余逻辑层交易事务处理用户管理验 证数据库存取存储接口技术存储层图2.1系统总体结构图2. 错误处理系统对管理员和客户的所有操作都做了验证,以防止对系统的破坏。如果用户输入了不正确的数据或有不正确的操作,系统会进行提示,在出现错误的同时给出错误的原因,方便用户的修改和改正,能够保证系统的正常运行。3. 人性化设计用户的界面有很多提示性的语言,并且美观简洁,能够帮助用户进行更好的操作。2.2 系统功能模块设计系统的功能模块由用户模块和管理员管理模块两部分组成。1.用户模块 用户模块的功能主要有:(1)用户浏览图书;(2)用户查询图书;(3)用户注册;(4)用户登录;(5)登录用户选择图书;(6)登录用户对选择图书查询详情;(7)登录用户确认购物篮;(8)用户进行支付。用户部分的功能模块结构图如图2.2所示。注册信息个人信息登录信息浏览图书用户查询图书选购图书平台权限查阅详情购物篮管理支付最近购书信息图2.2用户功能结构图用户模块主要是网站向用户提供的一些服务,方便用户与服务端进行交互,网站起着推销和宣传的作用,用户在该平台上享受他的适宜权限。(1)注册信息:每个用户在平台上享受自己的权利时,都有自己唯一的编号;(2)登录信息:只有登录的用户才获得更多的权限;(3)浏览图书:用户可以在平台上面查看所有书柜上面的书籍;(4)查询图书:面对茫茫的图书,用户按条件查询自己所需要的图书;(5)选购图书:将自己感兴趣的图书放入购物篮;(6)查阅详情:按图书名给出图书的详细信息;(7)购物篮管理:将购物篮清空,删除自己不想要的图书;(8)支付:到支付平台支付自己的购书金额;(9)最近购物信息:查阅别人购物信息,提供购书指南。2.管理员管理操作模块管理员的主要操作有:(1)正确登录管理后台;(2)对注册的用户信息进行管理;(3)增加图书;(4)删除图书;(5)显示购物详单。管理员部分功能结构图如图2.3所示显示用户用户管理删除用户管理员增加图书删除图书图书管理最近购书图2.3管理员功能结构图管理员管理模块主要是对用户进行用户管理和图书进行管理,维护用户列表,对图书物流配送等功能。(1)显示用户:从数据库中提取用户所有注册信息;(2)删除用户:随时删除一些非法用户;(3)增加图书:对新进库的图书增添;(4)删除图书:已经售完的图书和禁发型的图书在网站上更新;(5)最近购书:给出购书详情。2.3 系统的主要开发工具1. microsoft windows操作系统microsoft windows是一个为个人电脑和服务器用户设计的操作系统,它有时也被称为“视窗操作系统”。它的第一个版本由微软公司发行于1985年,并最终获得了世界个人电脑操作系统软件的垄断地位。所有最近的windows都是完全独立的操作系统。目前最常用的windows操作系统是windows xp。2.microsoft .net framework.net framework 是支持生成和运行下一代应用程序和 xml web services 的内部 windows 组件。.net framework 旨在实现下列目标:提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在 internet 上分布,或者是在远程执行的。3. microsoft sql server 2000sql server 2000 是microsoft 公司推出的sql server 数据库管理系统,该版本继承了sql server 7.0 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行microsoft windows 98 的膝上型电脑到运行microsoft windows 2000 的大型多处理器的服务器等多种平台使用4。 4. microsoft visual studio.net 2005visual studio.net(vs)visual studio .net 2005,它是 microsoft 的第s三代开发工具,用于构建和部署功能强大而安全的连接 microsoft .net 的软件。 visual studio.net 2005 包含 windows.net framework 的一个增强版本。windows .net framework 1.1 版在前一版本的基础上增添了新的能力、功能增强和文档改进。通过对.net compact framework 的集成支持,visual studio.net 2005 将移动和嵌入式设备,如 pocket pc 和其他采用 microsoft windows ce.net 操作系统的设备,带入.net。36安全电子商务系统的研究与模拟实现 第三章 系统的详细设计与实现第三章 系统的详细设计与实现3.1 系统功能流程分析与设计程序实现也是基本按照该流程描述的步骤逐步实施的,每个功能作为程序的一个模块,系统的功能流程描述如下:(1)用户通过网站注册帐号和密码。(2)用户使用用户名和密码登录。(3)用户浏览查询图书。(4)用户浏览最近购物,提供购物帮助。(5)用户选购图书。(6)用户查看图书详细介绍。(7)用户管理自己的购物篮。(8)用户支付。(9)管理员管理用户。(10)管理员增加图书。(11)管理员删除图书。(12)管理员查看用户购书详情。(13)系统提供购书统计。3.2 数据库设计3.2.1数据库需求分析网上书店系统的数据库功能主要体现在对各种信息的提供、保存、更新和查询的操作上,包括用户信息、管理员信息、图书信息、购物篮信息等,各个部分的数据内容又有内在的联系。针对系统的数据库特点,其需求为:(1)用户和管理员具有不同的身份。(2)用户信息记录用户资料。(3)图书有类别、编号,作者,出版社等信息。(4)购物篮用户编号,图书编号等多种信息。根据系统的需求分析,网上书店数据库(mybookshop)包括一下的数据项和数据结构:(1)【用户表】(用户编号,登录名,用户姓名,密码,联系地址,邮编)(2)【管理员表】(管理员编号,登录名,密码)(3)【图书表】(图书编号,图书名,类别号,单价,出版社,出版日期,作者,页数,图书路径,简介,销售量)(4)【图书分类表】(类别编号,类别名)(5)【购物篮表】(购物篮编号,购物者编号,图书编号,图书数量)3.2.2数据库概念结构设计erd(实体联系图)是建立规范化表结构最有效的工具。它是表达实体和联系的直观方法。erd提供了一种表示实体、属性和联系的方法。在erd中,实体型用矩型表示,属性用椭圆形表示,联系用菱形表示。通过erd,我们可以清楚地看到各个对象之间的联系,有助于我们面向对象的分析。为了更清楚的表示对象之间的关系,图3.1简述了对象的属性和对象与对象之间对应关系。管理员购物篮用户图书图书类别管理 购买图3.1实体间的关系e-r图有数据库的需求分析可以知道系统的数据项和数据结构,由此可以设计的实体有用户信息实体、管理员信息实体、图书信息实体和购物篮信息实体。各个实体之间的关系通过如图3.23.5所示的er图表达出来。编 号密 码登录名管理员图3.2管理员实体关系图姓 名地 址登录名编 号邮 编用户密 码图3.3 用户实体关系图编 号类 别名图书类别图3.4 图书类别实体关系图出版社作 者出版日期价 格图片名页 数简 介类别号图书名销售量量编 号图书图3.5 图书实体关系图用户号编号数量图书号购物篮图3.6 购物篮实体关系图3.2.3数据库逻辑结构设计考虑系统的实际需要,至少需要实现管理员信息、用户信息、图书类别信息、图书信息和购物篮信息。系统sql server数据库,sql server是一个关系数据库管理系统,系统中的各个表的设计如表3.13.5所示。在所有的数据表中,编号为1的是该数据表的主键。(1)管理员信息表,记录管理员的用户名,密码及编号,如表3.1所示。表3.1 管理员信息表的字段说明编号字段名称字段类型字段说明1adminidint(4)管理员编号2passwordchar(10)管理员密码3adminnamevarchar(50)管理员名(2)图书信息表,记录了图书编号,图书名及作者等信息,如表3.2所示。 表3.2 用户信息表的字段说明编号字段名称字段类型字段说明1bookidint(4)图书id2booknamevarchar(50)图书名3categoryidint(4)图书类编号4pricefloat(8)图书价格5publishervarchar(100)出版社6authorvarchar(50)作者7publishdatedatetime(8)出版日期8pagenumint(4)页数9pictureurlvarchar(50)图片名10descriptiontext(16)简介11salecountint(4)销售量(3)用户信息表,记录用户的编号、密码、姓名、地址和邮编,如表3.3所示。表3.3 用户信息表的字段说明编号字段名称字段类型字段说明1useridint(4)用户id2loginnamevarchar(50)用户登录名3usernamevarchar(50)用户姓名4passwordvarchar(50)用户密码5addressvarchar(100)用户地址6zipchar(10)用户邮编(4)图书类别信息表,记录图书类别的编号及类别名,如表3.4所示。表3.4 图书类别信息表的字段说明编号字段名称字段类型字段说明1categoryidint(4)类别编号2categorynamechar(50)类别名(5)购物篮信息表,记录购物篮的id,用户的id,图书编号,购书和购买数量,如表3.5所示。表3.5 购物篮信息表的字段说明编号字段名称字段类型字段说明1cartidint(4)购物篮id2useridint(4)用户编号3bookidint(4)图书编号4amountint(4)购买数量3.3 类的设计在前面的章节里面我们能够看到在后台还有许多的操作,如数据的读取、存储及接口的实现,这些数据或者方法在c#都可以被封装在类中,进行统一的操作和管理。那么,将这些类进行集中分类,可以在层面上分为:数据访问层、业务逻辑层、业务逻辑接口层。下面给出详细的设计及简要的功能分析:1.数据访问层在进行查询,浏览的时候都需要对数据(如字符串,数值等)都需要进行获取,因此需要定义一个api进行数据的获取和返回。定义类getsafedate来实现。getsafedate类中包含一系列从datarow和sqldatareader对象中安全获取数据的静态方法。在对数据的处理上除了直接的数据访问,还需要的对数据库中的数据进行访问,因此也需要对访问数据库的数据进行格式的规划和约束,通过构造类sqlstringconstrcutor。2.业务逻辑层业务逻辑层主要是给出电子商务过程中的类的数据成员和方法,该层主要包括user类,book类,category类以及chart类,下面是对这些类的数据成员和成员函数进行设计。用户类user用户类模拟了一个电子书店的客户的行为及操作,该类中需要user表中的数据元素,其主要的方法为添加用户(add()函数),检验用户名是否存在(hasuers)。图书类book其中,各个属性的含义与数据表book中的含义相同。其需要的成员函数为:将一个图书信息添加到数据库中add(),修改图书的内容update(),删除图书delete(),根据图书获取图书的详细信息loaddata(),静态方法,查询满足一定条件的图书querybook(),根据类别查询销售量getsalebycategory(),根据价格查询的静态方法getsalebyprice(),根据出版社查询销售量getsalebypublisher()。图书类别类category该类用来管理图书的类别,主要的函数应该为loaddata()用来获取一个类别的详细信息。购物篮类cartcart类实现了用户购物篮的管理,其中,book的属性变数用户userid购物篮中的图书,它与book构成了一个集合对象,有着一一对应的关系。引用心里amount来计量图书的数量。成员函数add()是向某个用户的购物廊中添加一种图书,将这些对象都放在哈希表中,由database类中的insert方法实现数据的插入。update方法修改当前购物篮对象中的图书信息,新的图书也放在哈希表中,都可以通过database类实现数据的修改。delete方法删除当前购物篮中的对象。removebook方法接受一个购物篮的编号参数,并将其从数据库中删除。3.业务逻辑接口层数据验证类(validateutility)的功能是验证一个变量是否可以转换成某种数据类型的形式,用来检查用户在页面上的输入是不是合法。可以利用函数的重载进行多种数据的验证等。图书接口类(bookhelper),用来实现对业务逻辑层中的图书类某些方法的入口控制。在使用book类的add方法,添加一本新的图书时,需要保证图书名,作者等信息是必须填写的;保证价格,出版日期等信息的数据类型是正确的等;还可以实现更为复杂的控制,例如,保证图书简介的字符在一定的范围内。3.4 界面设计3.4.1用户注册(1)功能简介用户注册,完成用户在网站的身份标示,须确保登录身份的唯一性,因此需要给出重复验证,须保证用户的密码的安全准确,需要确认验证。注册的相关信息可考察上面数据库中用户表项。在数据表中存在非空项,在注册时,须给出完整性验证。用户可根据提示信息完成一步一步注册工作。(2)流程设计用户注册信息更多的是和后台的数据库的存储有关,其流程如图3.7所示。否开始输入登录名是否存在是姓名联系地址密码重复密码结束图3.7 用户注册流程图其运行界面如图3.8所示。 图3.8 用户注册界面截图及登录名唯一性检测(3)关键代码其窗体设计生成直接使用vs2005中的控件皆可,在这里就不叙述了,在上面的分析中,可以看出确定用户的唯一性是该功能页面的关键,下面给出其代码和必要的分析:protected void buttoncheck_click(object sender, system.eventargs e)string loginname=textboxloginname.text;if(mybookshop.businesslogiclayer.user.hasuser(loginname)response.write(alert(对不起,已经存在同名用户!);textboxloginname.text=;elseresponse.write(alert(恭喜你,不存在同名用户!);上面是“是否存在”按钮的单击事件,其中用到了user类中的方法hasuser,下面也是给出该方法的具体实现。public static bool hasuser(string loginname)database db=new database();string sql=;sql=select * from user where loginname = +sqlstringconstructor.getquotedstring(loginname);datarow row=db.getdatarow(sql);if(row!=null)return true;elsereturn false;3.4.2用户登录(1)功能简介用户使用通过注册成功,网站授权的登录名和密码,在该页面实现登录认证,通过则可转入用户界面,失败则将提示用户不存在。并且有注册按钮用户可点击进入新用户注册页面。(2)流程设计其思路比较比较简单,如果用户的登录名和密码匹配,则登录通过,否则登录失败。运行界面截图如图3.9所示:图3.9 用户登录界面界面若登录失败 存在着如下两种情况:非法用户试图登录和存在用户但是密码错误如图3.10所示: 图3.10 用户登录失败提示信息若登录成功,则会显示如图3.11所示的界面。图3.11 用户登录成功页面上面在用户登录成功后跳转到用户浏览图书界面。(3)关键代码界面窗体的设计就不在赘述,该界面的所有事件的触发都是有“登录”按钮所触发的,因此下面给出用户单击登录按钮事件代码及分析:protected void buttonlogin_click(object sender, system.eventargs e)/获取用户在页面上的输入string userloginname=textboxloginname.text;/用户登录名string password=textboxpassword.text;/密码user user=new user();/实例化user类user.loaddata(userloginname);/利用user类的loaddata方法,获取用户信息session.add(user_id,user.userid);/使用session来保存用户id信息if(user.exist)/如果用户存在if(user.password=password)/如果密码,转入留言列表页面if (request.querystringin=null)/不是从系统内部跳转而来response.redirect(booklist.aspx);else/是从系统内部跳转而来response.write(history.go(-2););else/如果密码错误,给出提示,光标停留在密码框中response.write(alert(密码错误,请重新输入密码!);else/如果用户不存在response.write(alert(对不起,用户不存在!);3.4.3浏览和查询图书(1)功能简介浏览,查询图书模块是完成用户对图书的浏览,查询功能。浏览页面会给出目前书库中所有的图书的信息,用户若是有需要可以一个一个页面的往下翻。面对众多的图书的时候,有些用户只关心他们感兴趣的图书,而没有那么多的时间去查看每一本书,那么此时就需要用到查询功能。查询功能模块给出了三种查询的方式:按书名查询,按类别查询,按排序查询,用户安装自己不同的需要,可以做出多种选择。(2)流程设计浏览,查询页面也是程序的主界面,那么就需要在该页面中额外的添加了许多主界面所需要的控件和按钮。在页面的顶端需要给出可能的所有功能模块界面的索引,如登录模块,购物篮模块,销售记录模块,图书统计模块以及后台入口模块。设计的时候,我是将这些超链接都是放在自定义控件headmenu中,方便统一管理。此页面也链接在用户的购物篮模块,那么在通过用户的浏览查询图书,找到自己满意的图书可以直接将图书放入自己的购物篮中,在该页面中就需要给出链接到购物篮的按钮。因此在设计的时候,通过在书籍列表的前面的选择框和下面的放入购物篮按钮就能成功将图书添加到自己的购物篮中,在该过程中考虑到有些用户的群体购书,那么就在“放入购物篮”前面给出了购买图书的数量的text组件,这样就能实现购买多本相同的书。下面就给出这些功能页面的运行界面截图。图3.12 按书名成功查询图3.13 按书名查询无记录其中,用户的浏览页面即为用户登录成功后跳转的页面,上面已经给出其截图,这里就略去了。在查询图书的时候,按不同的标准给会出查询的结果。首先是按书名进行查询,存在查询的书名时,如图3.12 如不存在查询的书名时,如图3.13所示:在更多的时候人们习惯使用分类查找来快速寻找自己的书籍。图3.14给出按类别查找的运行界面截图,在类别中将数据库中的类别名都放入下拉框中,按用户的选择给出查询的结果。 图3.14 按类别查询无记录最后一种的单体查询的方式为按某种排序的方式进行查询,在本系统中提供了按销量,出版日期及价格的升降序查询方式,下面给出按价格的升序排序给出查询的截图,如图3.15所示。 图3.15 按书价格的递增排序查询在需要的时候,还可以将这三种查询方式联合使用,情况与上面的图片类似。在本页面中还有链接购物篮的按钮,下面截图是对购书的操作,如图3.16所示:图3.16 用户购物流程(3)关键代码窗体设计如和上面的实现是一致的。本页面的关键代码只要有三部分:headmenu,查询处理及放入购物篮。在上面提到了,为了方便管理和使用,自定义了headmenu控件。通过本控件使界面美观、简洁。引用的方式为:在页面的html代码的首行添加如下的语句:,这样就实现了引入自定义的控件。值得注意的的地方是在用户登录后需要在本页面的顶端显示出为某用户的登录。合理的区分未登录用户和登录用户。if(sessionuser_id!=null)user user=new user();user.loaddata(convert.toint32(sessionuser_id);labelhello.text=您好,+user.loginname+;linkbuttonlogin.text=离开;elselinkbuttonlogin.text=登录;在页面中图书的信息是根据页面上查询控件中内容,将相应的图书信息都绑定到gridview中,在初始的时候,页面是没有任何查询条件的,此时gridview的数据是所有的图书的数据。query方法可以实现图书数据的获取,实现的代码如下: private void query() /初始化:gridview的数据源 hashtable queryitems = new hashtable(); queryitems.add(bookname, textboxbookname.text); queryitems.add(categoryid, dropdownlistcategory.selectedvalue); datatable dt = book.querybooks(queryitems, dropdownlistsortcolumn.selectedvalue, dropdownlistsorttype.selectedvalue); gv.datasource = dt; gv.databind(); /保存下拉框的选择项到viewstate数组对象 viewstate.add(dropdownlistcategory, dropdownlistcategory.selectedvalue); viewstate.add(dropdownlistsortcolumn, dropdownlistsortcolumn.selectedvalue); viewstate.add(dropdownlistsorttype, dropdownlistsorttype.selectedvalue); labelpageinfo.text = 查询结果(第 + (gv.pageindex + 1).tostring() + 页共 + gv.pagecount.tostring() + 页); 上面代码的前三行构造了利用book类的querybooks方法所需要的田间哈希表对象,并把bookname和categoryid条件加进去,利用querybooks方法,按照排序下拉框中给出的排序列,查询所有的图书。那么在“查询”按钮的单击事件:页面上的查询项包括图书名输入框、类别下拉框以及排序方式下拉框。当用户通过这些控件进行了查询内容的设定后,单击“查询”按钮,便可以使gridview显示满足这些条件的图书。这些功能的实现,直接利用上面的query方法。protected void buttonquery_click(object sender, system.eventargs e) query(); resetqueryvalue(); 其中resetqueryvalue()是恢复下拉框选择项。“放入购物篮”按钮的点击事件,分为两个步骤: 获取用户的选择,在用户单击“放入购物车”按钮前需要首先在gridview上选择图书。方法getselect获取用户所有的选择,并把所有的选择图书的bookid值都放入一个arraylist对象中返回。其代码如下: private arraylist getselected() arraylist selecteditems = new arraylist(); foreach (gridviewrow row in gv.rows) if (checkbox)row.findcontrol(chkselected).checked) selecteditems.add(convert.toint32(row.cells1.text); return selecteditems; 将用户选择的图书加入购物篮,获取了用户的选择

温馨提示

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

评论

0/150

提交评论