毕业论文网上书店系统设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业论文网上书店系统设计与实现
————————————————————————————————作者:————————————————————————————————日期:
洛阳理工学院毕业设计(论文)
题目__网上书店系统设计与实现_
__
2015年04 月15 日
《网上书店系统设计与实现》
摘要
我国最早产生的电子商务模式是B2C模式,是以8848网上商城正式运营为标志的。
这种模式节省了企业和客户的时间和空间,大大提高了交易的效率,特别是对于工作忙碌的上班族,这种模式可以为其节省时间。
但是在网上出售的商品特征也非常明显,仅仅局限于一些特殊的商品,例如音像制品、图书、数码类产品、玩具、鲜花等等。
这些商品对购买者视、听、触、嗅等感觉体验要求较低,像音响设备、服装、香水需要消费者特定感官体验的商品就不适合在网上销售,当然,也不排除某些消费者认定某一品牌某一型号而不需要现场体验就决定购买,这样的消费者很少,尤其在我国产品质量管理体系并不完善的情况下,人们更愿意相信自己的亲身体验来决定是否购买。
所以,到目前为止,B2C市场上成功的企业如当当、淘宝,都是卖一些特殊商品的。
本文通过对电子商务网站首页的建设以实现购物网站功能。
通过对本系统的研究,JSP设计平台、SQL语言原理、对MySQL数据库管理系统,进行了较深入的学习和应用,主要完成对网上购物系统的需求分析、功能模块实现的划分、数据库设计模式分析,并由此设计了数据库结构和应用程序。
关键词:B2C 商品销售电子商务网上购物
ONLINE SHOPPING WEBSITE PLATFORM CONSTRUCTION B2C
ABSTRACT
B2C model is the first generation of e-business models to operate 8848 marked the official online store. Because of this mode of saving consumers and businesses time and space, greatly improving the efficiency of the transaction, especially for busy office workers, this model can save their valuable time. But the characteristics of the merchandise for sale online is also very clear that only limited to some specific commodities such as books, audio and video products, digital products, flowers, toys and more. These goods to the buyer to see, hear, touch, smell and other sensory experience, less demanding, such as clothing, stereo equipment, perfume needs of consumers of goods suitable for a specific sensory experience in online sales, of course, does not rule out a small number of consumers identified a model without the need for a brand-site experience to decide to buy, but that consumers rarely, especially in our products quality management system is not perfect, people are more willing to believe that their experience feelings to decide whether to buy. So far, B2C market, successful companies such as Dangdang, excellence, are selling some special commodities. Based on the construction of e-commerce sites to achieve home shopping site functionality. Through the systematic study of the MySQL database management system, SQL language principle, JSP design platform for a more in-depth study and application, mainly to complete the online shopping system requirements analysis, function module, database modeling, and thus designed the database structure and and application. Keywords B2C Commodities Sales E-commerce Online shopping
目录
前言 (1)
第1章需求分析 (3)
1.1 用户需求分析 ............................................ 错误!未定义书签。
1.1.1 图书查询需求.............................. 错误!未定义书签。
1.1.2 购物车管理需求.......................... 错误!未定义书签。
1.1.3订单处理需求............................... 错误!未定义书签。
1.2管理员的权限分类 (3)
第2章系统开发系统................................................. 错误!未定义书签。
2.1 MVC模式简介 ........................................... 错误!未定义书签。
2.2 电子商务概况摘要 ...................................... 错误!未定义书签。
第3章系统总体设计................................................. 错误!未定义书签。
3.1 UML活动关系图 ............................................ 错误!未定义书签。
3.2 系统组成 ......................................................... 错误!未定义书签。
3.3功能设计………………………………………………………...
…6
3.3.1图书信息管
理 (6)
3.3.2购物车管理 (6)
3.3.3会员注册 (6)
3.3.4订单处
理 (6)
第4章数据库设计与实现......................................... 错误!未定义书签。
4.1数据库的需求分析 ..................................... 错误!未定义书签。
4.2数据库的逻辑设计........................................... 错误!未定义书签。
4.3数据表基本结构 ........................................... 错误!未定义书签。
4.4创建数据表脚
本 (8)
第5章系统实现过程................................................. 错误!未定义书签。
5.1 系统开发平台 ............................................ 错误!未定义书签。
5.2 系统各组件实现 ........................................ 错误!未定义书签。
5.3 用户表示层 .................................................. 错误!未定义书签。
第6章系统测试与实现 (245)
6.1系统测试
(24)
6.2测试结
果 (31)
谢辞 (32)
参考文献 (33)
附录 (34)
前言
随着Internet信息技术的高速发展,用户上网的迅速提升,公司、企业官方网站在商业活动中发挥着的作用越来越大,在信息时代,建立一个界面美观、功能强大的电子商务网站,建立电子商务系统平台,对公司、企业的发展是非常重要的。
所谓电子商务,是指各种具有商业活动能力的实体(生产企业、商贸企业、金融机构、政府机构、个人消费者等)利用网络和先进的数字化传媒技术进行的各项商业贸易活动。
其中特别要强调的特点,一是其商业背景,二是网络化和数字化。
简言之,电子商务就是通过电子网络渠道达成的商务活动。
建立一个仅仅能够发布信息的静态网站对于很多企业已不满足这样的平台。
现代企业需要的是一个功能更强大的,能提供完善的电子商务服务的动态的商务网站。
同时随着人们的生活方式也在改变,去实体店的购物方式已不能满足人们的需求,所以电子商务网站发展起来了。
JSP是Sun公司推出的一种网站开发的新技术,Sun公司借助自己在Java上的非凡造诣,又把人们引进JSP时代,JSP即Java Server Page的缩写,它可以在Servlet 和JavaBean的支持下,完善功能强大的Web应用程序。
所以,在我的毕业设计中,我选择了JSP作为开发工具,构建了一个能实现基本功能的电子商务的小型动态商务网站——网上书店系统。
通过对电子商务书店首页的建设以实现购物网站功能,通过对本系统的研究,对MySQL数据库管理系统、SQL语言原理、JSP设计平台,进行了较深入的学习和应用,主要完成对网上购物系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。
为在线用户提供订单提交、购物车管理、支付系统从而提供给用户一个舒适的购物环境。
本系统主要包括用户管理、书籍管理、购物车管理、订单管理等功能模块。
该系统基本上具备一个网上书店系统应该具备的常用功能,该设计项目基本上能够体现构建一个动态商务网站所需的技术,实际上,目前的大型商务网站也就是我们这个小型网站在具体内容上的扩充和完善。
一个完整的电子商务系统包括信息部分、资金部分与物流部分三个要素。
信息部分就是通过电子网络向用户揭示所售商品的息,引导用户进行购物。
资金部分就是使用户在选择商品后,能够通过网络支付相关费用,一般包括货到付款、网上银行支付、预付款支付等多种形式。
物流部分就是把用户所购买的商品通过物流配送系统送至用户手中,对于一些特殊行业和领域的电子商务,也可能不需要
配送系统的支持就能把商品送到用户手中(如股票、电子杂志、域名注册等)。
在电子商务中,除了上述三个要素外,网络的安全问题也是需要重点考虑的因素。
据调查,有1/3的网民认为网络安全问题是影响其网上购物的因素,因此为了保证网络交易的安全,电子商务网站需要采用多种措施进行安全认证例如:数据加密、电子签名等。
第1章需求分析
1.1 用户需求分析
网上书店系统主要是实现网上选书、购书、产生订单等功能的系统。
本系统的目的是开发一个基于B/S架构的电子商务网站,为在线用户提供订单提交、购物车管理、支付系统从而提供给用户一个舒适的购物环境。
通过对电子商务网站及网上书店的考察、分析以及实际的市场调查,要求本系统具有以下功能:
统一友好的操作界面,能保证系统的易用性。
规范、完善的基础信息设置。
图书分类详尽,可按不同类别查看商品信息。
按图书大类及图书名称进行模糊查询。
实现网上购书。
新书及特价图书展示。
本网上书店系统主要完成以下具体任务:
1.1.1 图书查询需求
当用户注册并登录网上书店时,应该在主页面中分类显示最近的书目信息,以供用户选择所需图书,同时也应该提供依照图书名称,或者作者出处快速查询所需书目信息的功能。
1.1.2 购物车管理需求
当用户选择购买某图书产品时,能够将对应图书信息,例如:价格、数量等记录到购物车中,并允许用户返回书目查询页面,选择其他商品,并添加到购物车中,当对购物订单生成后,应该能够自动的清除以生成订单的购物车中的信息。
1.1.3订单处理需求
和用户购买图书商品信息需求对应,在核对了所购图书商品的价格、数量等信息后,提示用户选择对应的送货方式以及付款方式,最终生成对应的订单记录,以便于网站物流配货人员依据订单信息进行后续的出货、送货等处理。
1.1.4管理员权限分类
为了能够实现管理员和用户各自的所享有的功能,特将他们分类处理。
在系统的管理端上设置不同的管理员,分角色、按照特定的权限的对系统进行管理和操作。
(1)登录账号:admin,admin (系统管理员)
(2)登录账号:admin1,admin1 (商品管理员)
(3)登录账号:admin2,admin2 (订单管理员)
(4)登录账号:admin3,admin3 (会员管理员)
权限管理,是指根据系统所设置的安全规则,用户只能访问自己被授权的资源。
权限管理在任何系统里都是必不可少的,只要是有用户和密码的系统就可以了。
那么权限管理如何分类?权限管理如何实施?下面让我们一起来了解一下。
管理员权限从控制力度来看,可以将权限管理分为两大类:
(1)功能级权限管理;
(2)数据级权限管理。
管理员权限从控制方向来看,也可以将权限管理分为两大类:
(1)从系统获取数据,比如查询订单、查询客户资料;
(2)向系统提交数据,比如删除订单、修改客户资料。
功能级权限控制,系统能做到这一点,让系统的管理员给用户分配角色,然后成功的实施步骤,整个过程只需要用户在功能级进行权限管理即可。
因此系统是这样的:
(1)图形化、集中管理的,便于企业管理;
(2)可在线测试的,定制策略后在不影响业务的情况下,进行测试,确保无误。
第2章系统开发技术
2.1 MVC模式简介
MVC是Model(模型)——View(视图)——Controller(控制器)的缩写,它适用于大型可扩展的Web应用的开发,它强制性地将应用程序的输入、处理和输出分开,将其划分为模型、视图和控制器三个核心部分,使它们各司其职,各自完成不同的任务,其中任何一部分的修改都不会影响其它两部分。
在MVC模式中,模型封装了应用问题的核心数据、逻辑关系和业务规则,提供了业务逻辑的处理过程。
模型一方面被控制器调用,完成问题处理的操作过程,另一方面为视图获取显示数据提供了访问数据的操作。
因为模型是与数据格式无关的,因此一个模型可以为多个视图提供数据,这样一个模型一次编写可以被多个视图重用,从而避免了代码的重复编写。
视图是MVC模式下用户看到的并与之交互的界面。
视图从模型处获得数据,视图的更新由控制器控制。
视图不包含任何业务逻辑的处理,它只是作为一种输出数据的方式。
MVC模式中,控制器主要起导航的作用,它根据用户的输入调用相应的模型和视图去完成用户的请求。
控制器本身不输出任何东西,它接受用户请求并决定调用哪个模型构件去处理,以及由哪个视图来显示模型处理之后返回的数据。
MVC的处理过程是这样的:对于每一个用户输入的请求,首先被控制器接收,并决定由哪个模型来进行处理,然后模型通过业务处理逻辑处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过显示页面呈现给用户。
图1-1所示为模型、视图、控制器这三个模块各自的功能以及它们之间的相互关系:
图2-1 MVC模式
2.2电子商务概况摘要
电子商务模式是目前互联网人士思考较多的一个话题,在有了B-C,B-B 等模式之后,一些网站最近又在尝试一种全新的概念——B-B-C模式,而且看来这一模式已经被许多的网上书店所接受。
在解释B-B-C模式时,书生科技公司总裁王东临先生认为:“该模式的意思是中间的B直接面对用户,把订单交给第一个B来执行。
这种模式看起来好像只是传统的渠道销售的翻版,在互联网时代根本不可行,因为互联网经济的一大特征就是压扁渠道,Amazon等大行其道的原因也正是基于这种“中间商死亡”的论调,他们抢占的正是原来中间商的利润。
因此,B-B-C模式长期以来被认为是一种不可能成立的模式。
其实,如果中间的B能够提供一种独特的服务,把消费者都吸引到它那里去,并通过它下订单,则该模式就是可行的。
EBook网络业务支持平台采用B/S结构,三层运行模式,同时适用于Intranet/Internet。
浏览器为第一层,作为系统的应用界面;应用逻辑服务为第二层;数据链接为第三层,作为系统的数据存取服务。
此架构无须安装用户端软件,便于软件的分发和维护升级,适应了众多应用用户端分散环境下的运行和维护需求。
本篇论文介绍了本系统开发环境和运行平台、java web、应用框架。
而管理端的数据库则使用Microsoft SQL Server 2005管理平台的数据。
第3章 系统总体设计
3.1UML(统一建模语言)活动关系图
下面是进入网上书店可以进行的操作。
具体的UML 活动如3-1UML 活动关系图所示:
图3-1UML 活动关系图
购物会员登
新会订
提
图
3.2系统组成
表3-1构成网上书店系统的各个组件
用户表示层(视图)控制处理层
(控制器)
业务逻辑
(模型)
adminMenu.jsp cart.jsp checkOrder.jsp default.jsp index.jsp leaveword.jsp merchandise.jsp merInfo.jsp modiReg.jsp Order.jsp OrderInfo.jsp reg.jsp search.jsp sMerchandise.jsp sorry.jsp submitOrder.jsp AdminAction
AdminCateAction
AdminLoginAction
AdminMemberAction
AdminMerAction
AdminOrderAction
CartAction
LoginAction
MemAction
MerAction
OrderAction
AdminService
AdminServiceImpl
CartService
CartServiceImpl
MemService
MemServiceImpl
MerService
MerServiceImpl
OrderService
OrderServiceImpl
3.3模块设计结构
本系统相对而言,功能较为简单但很实用。
本系统的模块设计结构,如下表所示:
图 3-1 客户端系统
3.4功能设计
3.3.1 图书信息管理
该模块实现图书书目信息的分类显示,也提供了新增,删除,修改和查询等功能。
此外,在用户选择了对应书目信息后,还可以显示出有关该图书的详细信息,以便于用户了解所购商品。
用户注 在线购
查看
在线
察看
顾客购
购物
察看物
购买
查看订单详细
继续购清空购物
提交购
删除已经选购
修改购买
购买
用户
3.3.2 购物车管理
用于维护每一个进入网上书店的用户对应的购物车。
即将用户所选购的图书商品信息记录到对应的购物车中,以便于到收银台进行结账处理。
3.3.3 会员注册
实现网上书店用户信息的注册、及身份验证。
由于目前网上商城普遍采用的方式为送货上门或者邮寄,因此需要收集与用户相关的联系方式、通信地址等信息。
3.3.4 订单处理
根据用户的订单信息,进行订单的查看以及删除等操作,方便用户的修改。
根据相应的权限做相应的操作。
第4章数据库设计与实现
4.1数据库的需求分析
依据网上书店的处理需求,对应数据表的设计及功能如下: 1.admin (管理员登录表):存放网上书店所销售图书的基本信息。
2.category :存放网上书店所提供图书分类的信息。
3.member :存放书店用户的基本信息。
4.merchandise :存放每本图书的价格等基本信息。
5.leaveword :存放用户留言信息。
6.orders :存放的是用户的订单信息。
7.memberlevel :存放用户的会员等级信息。
8.cart(购物车表):存放用户购物车中图书的相关信息
9.cartselectedmer :购物车中物品信息
4.2数据库的逻辑设计
根据以上需求分析,在确定了各个表主键字段的基础上,依据表与表之间相关字段之间的联系建立了各表之间的关系,对应的关系图如图4-1所示:
cartselectedmer Cart Merchandise Number Price Money
Cart Member Money Cartstatus
Admin Admintype Adminname Loginname Loginpwd
图
4-1数据库逻辑图
4.3 主要数据表的结构
(1)图书信息表(merchandise )是用来保存网上书店每一种图书基本信息的数据表,是维护管理图书数据的依据,如表4-1图书信息
表所示:
表4-1图书信息表
Memberlevel Loginname Loginpwd membername phone address zip regdate lastdate logintimes email
leaveword Member Admin Title Content orders Member Cart
Orderno
Orderdate orderstatus
category Catename Catedesc
memberlevel Levelname Favourable
Merchandise Category Mername Price Sprice Mermodel Picture Merdesc Leavefactorydate
special
字段名描述类型长度是否允许为空是否主键Id 书本id Int 4 否是
Category 图书种类int 4 否否
Manufacturer 出版社char 60 否否
MerName 图书名称char 40 否否
price 图书价格Decimal 8 否否
merdesc 图书介绍Text 255 是否Leavefactorydate 出版日期Datetime 50 是否Sprice 特价decimal 8 否空
(2)Member基本信息表记录了注册及登录成员的信息,包括用户的姓名、联系方式等信息,如表4-2图书信息表所示:
表4-2图书分类基本信息表
字段名描述类型长度是否允许为空是否为主键Memberlevel 用户id int 4 否是
Loginname 登录名字char 12 否否
membername 用户姓名char 12 否否
Loginpwd 登录密码char 12 否否
phone 电话char 15 否否
address 地址varchar 100 否否
zip 邮编char 10 否否
regdate 注册日期datetime 否否
lastdate 最后登录时间datetime 否否
logintimes 登录次数int 4 否否
email 邮箱varchar 100 否否
(3)管理员基本信息表(admin)存放了各种管理员的基本信息,包括管理员的登录名字,登录密码等基本信息,如表4-3图书信息表所示:
表4-3管理员基本信息表
字段名描述类型长度是否允许为空是否主键Admintype 管理员类型Int 4 否是adminname 管理员名字char 12 否否
loginname 管理员登录名字char 12 否否loginpwd 管理员登录密码char 12 否否(4)订单信息表
订单信息表(orders)存储的是订单的基本信息,具体如表4-4所示
表4-4订单信息表
字段名描述类型长
度
是否允许为
空
是否主
键
member 用户Int 4 否是
cart 购物车Int 4 是否
orderno 订单号char 20 是否orderdate 订单日期datetime 是否orderstatus 订单状态int 4 是否(5)购物车基本信息表
购物车基本信息表(cart)存放的是购物车中的书籍的基本信息,具体如表4-4所示
表4-5订单购物车信息表
字段名描述类型长度是否允许为空是否主键Member 用户int 4 否是Money 钱数计算decimal 4 否否Cartstatus 购物车状态int 9 否4.4创建数据表脚本
在基本的数据表的结构确定后,就可以在mysql中完成数据表的创建工作,下面给出建立对应数据表的SQL脚本。
(1). 建立管理信息数据表
REATE TABLE `admin` (
`ID` int(4) NOT NULL auto_increment,
`AdminType` int(4) default NULL,
`AdminName` char(12) default NULL,
`LoginName` char(12) default NULL,
`LoginPwd` char(12) default NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=gbk (2).建立图书信息数据表
CREATE TABLE `merchandise` (
`ID` int(4) NOT NULL auto_increment,
`Category` int(4) NOT NULL,
`MerName` char(40) default NULL,
`Price` decimal(8,2) default NULL,
`SPrice` decimal(8,2) default NULL,
`MerModel` char(40) default NULL,
`Picture` varchar(100) default NULL,
`MerDesc` text,
`Manufacturer` char(60) default NULL,
`LeaveFactoryDate` datetime default NULL,
`Special` int(4) default NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=17 DEFAULT CHARSET=gbk (3).建立用户信息数据表
Create Table
CREATE TABLE `member` (
`ID` int(4) NOT NULL auto_increment,
`Memberlevel` int(4) NOT NULL,
`LoginName` char(12) default NULL,
`LoginPwd` char(12) default NULL,
`MemberName` char(20) default NULL,
`Phone` char(15) default NULL,
`Address` varchar(100) default NULL,
`Zip` char(10) default NULL,
`RegDate` datetime default NULL,
`LastDate` datetime default NULL,
`LoginTimes` int(4) default NULL,
`EMail` varchar(100) default NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=16 DEFAULT CHARSET=gbk (4).建立购物车信息数据表
CREATE TABLE `cart` (
`ID` int(4) NOT NULL auto_increment,
`Member` int(4) NOT NULL,
`Money` decimal(9,2) default NULL,
`CartStatus` int(4) default NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=23 DEFAULT CHARSET=gbk
(5).建立订单信息数据表
CREATE TABLE `orders` (
`ID` int(4) NOT NULL auto_increment,
`Member` int(4) NOT NULL,
`Cart` int(4) NOT NULL,
`OrderNO` char(20) default NULL,
`OrderDate` datetime default NULL,
`OrderStatus` int(4) default NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=19 DEFAULT CHARSET=gbk
(6)购物车中物品信息表
CREATE TABLE `cartselectedmer` (
`ID` int(4) NOT NULL auto_increment,
`Cart` int(4) NOT NULL,
`Merchandise` int(4) NOT NULL,
`Number` int(4) NOT NULL default '1',
`Price` decimal(8,2) NOT NULL default '0.00',
`Money` decimal(9,2) NOT NULL default '0.00',
PRIMARY KEY (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=47 DEFAULT CHARSET=gbk (7)category信息表
CREATE TABLE `category` (
`ID` int(4) NOT NULL auto_increment,
`CateName` char(40) default NULL,
`CateDesc` text,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=gbk (8)留言信息表
CREATE TABLE `leaveword` (
`ID` int(4) NOT NULL auto_increment,
`Member` int(4) NOT NULL,
`Admin` int(4) default NULL,
`Title` char(60) default NULL,
`Content` text,
`LeaveDate` datetime default NULL,
`AnswerContent` text,
`AnswerDate` datetime default NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=gbk
第5章系统实现过程
5.1开发平台
服务器:Tomcat ;
数据库:Sql Server 2005;
平台:myeclipse
操作系统:windows 7
5.2系统各组件实现
5.2.1用户表示层
在用户表示层中主要是一些相关的页面。
该层对应的页面应该放在WEB应用目录根目录下。
1.网上书店首页:
主要实现登录和注册功能。
登录有2种情况,一个是管理员登录,另一个是用户登录,管理员登录后的页面是一些管理端的操作,而用户登录后的页面是图书列表及收藏夹和购物车还有1些评论。
注册有各种信息的输入,在用户名一栏中,比如数据库中已经存在了一个用户名,如果一位用户申请的时候写了一个一模一样的用户名,则在点击旁边的“检查用户名是否存在”的按钮后会出现“此用户名已经存在”,提示重新输入一个其他的用户名。
(1)注册的主要的代码如下
protected void btnAdd_Click(object sender, EventArgs e)
{
Accountmod.AccountId = tbusername.Text.Trim();
Accountmod.AccountPwd = tbpwd.Text.Trim();
Accountmod.Auth = "0";
Accountmod.Email = tbEmail.Text.Trim();
Accountmod.Logintimes = 0;
Accountmod.LogIp = Request.ServerVariables["Remote_Addr"].ToString();
Accountmod.Telephone = tbphone.Text.Trim();
Accountmod.TrueName = tbTruename.Text.Trim();
Accountmod.Sex = RadioButtonList1.SelectedValue;
Accountmod.Balance = 0;
lbshow.Text = "用户注册成功!";
Accountbll.Add(Accountmod);
Panel1.Visible = false;
}
protected void btnCheck_Click(object sender, EventArgs e)
{
DataSet ds = Accountbll.GetList("AccountId='" + tbusername.Text.Trim() + "'");
if (ds.Tables[0].Rows.Count == 0)
{
lbshow.Text = "该账户可以使用";
btnAdd.Enabled = true;
}
else
{
lbshow.Text = "该账户已被占用!";
btnAdd.Enabled = false;
}
}
2.图书详细信息显示:
本页面是用户登录成功后的页面,上面会显示出各种图书的列表,本页面还包括加入购物车,加入收藏夹,查看购物车,查看收藏夹,图书详细信息以及图书评论等内容。
当用户对某本书感兴趣的时候,可以在对应的图书图片下点击图书详细信息按钮,在弹出的页面上就会显示此图书的具体内容。
具体代码下:LinkButton lb =
(LinkButton)e.Item.FindControl("LinkButton3");
lb.Attributes.Add("href", "bookinfo.aspx?id=" + lbid.Text.Trim() + "") 可以看出,系统是根据书本id找到对应的详细信息的。
用户还可以把书放进购物车中,但只局限于下次找此书在此操作的电脑上,如果想在任何电脑上都能看见你的收藏的话,就将此书放入收藏夹中,以便下次可以很方便的找到你想要找到的图书信息。
(1)实现的主要代码如下:
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
modbookinfo =
bllbookinfo.GetModel(Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value));
lbsum.Text = (Convert.ToDecimal(lbsum.Text) +
Convert.ToInt32(((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].FindControl("tbte st"))).Text) * modbookinfo.Price).ToString();
EBook.BLL.OrderInfo bll= new EBook.BLL.OrderInfo();
EBook.Model.OrderInfo model=new EBook.Model.OrderInfo();
String bookid=
GridView1.DataKeys[e.RowIndex].Value.ToString();
string bookname=GridView1.Rows[e.RowIndex].Cells[0].Text.Trim();
int bookNum =
int.Parse(((TextBox)GridView1.Rows[e.RowIndex].Cells[3].FindControl("tbtest")).Text );
if (ViewState["dingdanhao"] == null)
{
int orderid =
Convert.ToInt32(DateTime.Now.ToString("MMddmmss")); //订单编号
ViewState["dingdanhao"] = orderid.ToString();
}
model.BookId = Convert.ToInt32(bookid);
model.BookName = bookname;
model.OrderId = ViewState["dingdanhao"].ToString();
model.OrderIP = Request.ServerVariables["REMOTE_ADDR"];
model.OrderPerson = Session["UserTrueName"] .ToString();
model.Price = Convert.ToDecimal(modbookinfo.Price);
model.OrderTime = DateTime.Now;
model.BookNum = bookNum;
bll.Add(model);
EBook.BLL.OrderInfo blldingdan = new EBook.BLL.OrderInfo();
GridView2.DataSource = blldingdan.GetList("orderid=" +
ViewState["dingdanhao"]);
GridView2.DataBind();
}
protected void DataList1_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void btnchakan_Click(object sender, EventArgs e)
{
if (Session["cart"] == null) {
Response.Write("<script language=javascript>alert('请先把书籍添加进购物车!');</script>");
}
GridView1.Visible = true;
string cart = Session["Cart"].ToString();
cart = cart.Substring(0, cart.Length - 1);
DataSet ds = bllbookinfo.GetList(" Id in (" + cart + ")");
GridView1.DataSource = ds;
GridView1.DataBind();
}
protected void btnqingkong_Click(object sender, EventArgs e)
{
Session.Abandon();
Session["Cart"] = " ";
}
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
Label lbid = (Label)e.Item.FindControl("lbid");
LinkButton lbk = (LinkButton)e.Item.FindControl("LinkButton1");
lbk.Attributes.Add("href", "addcart.aspx?id=" + lbid.Text.Trim() + "");
LinkButton link = (LinkButton)e.Item.FindControl("Linkbutton2");
link.Attributes.Add("href", "shoucang.aspx?id=" + lbid.Text.Trim() + "");
LinkButton lb = (LinkButton)e.Item.FindControl("LinkButton3");
lb.Attributes.Add("href", "bookinfo.aspx?id=" + lbid.Text.Trim() + "");
}
protected void GridView2_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
EBook.BLL.OrderInfo dele = new EBook.BLL.OrderInfo();
string dingdanid = GridView2.DataKeys[e.RowIndex].Value.ToString(); //订单的ID
dele.Delete(int.Parse(dingdanid));
GridView2.DataSource = dele.GetList("orderid=" + ViewState["dingdanhao"]);
GridView2.DataBind();
Response.Write("<script>alert('订单取消成功~');</script>");
}
protected void Button2_Click(object sender, EventArgs e)
{
Session.Abandon();
Response.Write("<script
language='javascript'>window.location.href='Default.aspx';</script>");
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write("<script
language='javascript'>window.location.href='collect.aspx';</script>");
}、
3.购物车订单计算功能
该功能存在于用户登录后的图书列表页面,当用户点击加入购物车后,然后点击查看购物车,在这部分表格中会显示购买数量,用户可以自己输入数量,然后点击确认购买,系统会将计算的结果显示在页面上,而且会将其转发到管理端的订单处理页面,以便管理员一目了然确认发货。
(1)实现主要代码如下:
modbookinfo = bllbookinfo.GetModel(Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value));
lbsum.Text = (Convert.ToDecimal(lbsum.Text) + Convert.ToInt32(((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].FindControl("tbte st"))).Text) * modbookinfo.Price).ToString();
4.购物车取消购买功能:
本功能是用户在点击购买后计算价格的时候,突然不想买了,则用户可以点击取消购买按钮,每个书本的后面都对应有取消购买按钮,点击了次按钮后,系统会自动将价格减去。
(1)关键代码如下:
EBook.BLL.OrderInfo dele = new EBook.BLL.OrderInfo();
string dingdanid = GridView2.DataKeys[e.RowIndex].Value.ToString(); //订单的ID dele.Delete(int.Parse(dingdanid));
GridView2.DataSource = dele.GetList("orderid=" + ViewState["dingdanhao"]);
GridView2.DataBind();
Response.Write("<script>alert('订单取消成功~');</script>");
5.管理员管理端管理页面:
本页面是管理员登录管理端操作界面之后进行各种管理活动的页面,包。