基于BS结构网上商城的设计与实现 - 图文

更新时间:2024-05-30 11:04:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕业设计(论文)-中国论文教育学院 www.icsv.net

1 概述

1.1 选题背景

电子商务是在互联网开放的环境下,基于浏览器/服务器应用方式,通过信息网络以电子数据信息流通的方式在商业和贸易领域中进行并完成的各种商务活动、交易活动、金融活动和相关的综合服务活动。电子商务网站的成立是当今e时代方便人们生活的又一伟大创举。在生活节奏越来越快的今天,人们需要有更多的休息时间,而网上购物正是给人们带来一种轻松,让每个人享受购物的快乐和冲浪的乐趣。

B2C(Business to Customer) 电子商务是以Internet 为主要手段,由商家或企业通过网站向消费者提供商品和服务的一种商务模式。目前,在Internet 上遍布了各种类型的B2C 网站,提供从鲜花、书籍到计算机、汽车等各种消费品和服务。由于各种因素的制约,目前以及未来比较长的一段时间内,这种模式的电子商务还只能占比较小的比重。但是,从长远来看,企业对消费者的电子商务将取得快速发展,并将最终在电子商务领域占据重要地位。网上购物商城,就是在这种模式下,帮助企业提高生产效率,降低经营成本,优化资源配置,从而实现社会财富的最大化的实用网络应用系统。

[1]

1.2 系统环境

系统是基于.NET的B/S结构的网上购物商城,采用Macromedia Dreamweaver MX 2004 开发Web静态网页。静态网页主要使用HTML超文本编辑语言和Javascript语言。同时运用VS.NET2005动态网站开发技巧来实现与数据库的连接,动态查询、添加、删除、修改、计算等管理数据库的功能。

1.2.1 ASP.NET简介

Visual Studio.NET是Microsoft公司新一代的软件开发平台,也是.NET FrameWork的重要战略产品。ASP.NET作为Microsoft Visual.NET的组成部分之一,是Internet和Intranet开发Web应用程序的新一代开发工具,逐渐被广大Windows程序员使用[6]。ASP.NET是建立在公共语言运行库上的编程框架,

1

毕业设计(论文)-中国论文教育学院 www.icsv.net

可用于服务器上生成功能强大的Web程序。它的程序代码与页面标识可以完全剥离,不会混合在一个页面上,这样便于程序员修改。在第一次请求时自动编译后执行,以后再次请求时不需要重新编译。

1.2.2 ASP.NET访问SQL Server

使用ASP.NET技术开发网站,考虑到数据库的安全性和稳定性,采用SQL Server作为后台数据库。在ASP.NET中使用ADO.NET(ActiveX Data Objects)访问数据库。

ADO.NET是基于Microsoft公司推出的.NET框架中的用于数据访问的组件。它使用Connection对象连接不同的数据源,使用Command对象实现对数据的操作,使用DataReader对象读取数据库中的数据,使用DataSet对象访问数据库中的数据。

1.2.3 语言环境

系统开发主要采用C#语言,由于Visual C#.NET是微软为.NET平台量身定做的程序语言,C#拥有C++的强大的功能以及Visual Basic简易的特性,它在带来对应用程序的快速开发能力的同时,并没有牺牲C与C++程序员所关心的各种特性,C#忠实的继承了C和C++的优点。在.NET运行库的支持下,.NET框架的各种优点在C#中表现的淋漓尽致[7]。

关于C#的突出优点:它是现代的编程语言,简化和现代化了C++在类、名字空间、方法重载和异常处理等领域,摒弃了C++的复杂性,使它更易用、更少出错。对C#的易用有贡献的是减少了C++的一些特性,不再有宏、模板和多重继承。特别对企业开发者来说,上述功能只会产生更多的麻烦而不是效益。

2 系统分析

2.1 系统目标需求

网上购物商城是基于B/S模式, 通过对一些典型电子商务网站的考察、分析,并结合企业要求, 而开发的一套拥有前后台的信息化管理系统。需满足以下要求:

◆ 统一友好的操作界面,保证系统的易用性;

2

毕业设计(论文)-中国论文教育学院 www.icsv.net

◆ 商品分类详尽,可按不同类别查看商品信息;

◆ 为客户提供通过一个购物车模型就能够购买多个商品项的机制; ◆ 提供简单的安全模型,让客户必须先进行登录,才允许购买购物车的

内容;

◆ 设计网站后台操作平台,管理网站的各项基本数据。

2.2 开发的可行性分析 2.1.1 管理上的可行性

把企业业务延伸到Internet上,建立电子商务网站,对运营商业企业来说,是企业对外展示信息,从事商务活动的窗口和界面。因此,高中层管理人员不会对此有很大的抵触情绪,主管领导也能够相应的支持。

2.1.2 技术上的可行性

根据系统目标需求分析得结果来看,不需要通过购买专业软件,仅采用

VS.NET2005为开发工具,选择C#语言就可以解决相关的问题,从而保证系统功能的实现。

2.1.3 经济上的可行性

商业企业在运营过程中 ,经常会遇到产品的宣传受到限制,采购商或顾

客只能通过上门咨询、电话沟通等方式进行各种信息的获取,受一定的时间与物理空间的局限并且成本较高。而本系统可以帮助企业正确认识电子商务技术在企业中的重要地位,以少量的时间和资金建立企业信息门户网站并架设一定范围的商务网络,以此来是企业与顾客间的经济活动变得更灵活、更主动。

2.3 业务流程分析

网站浏览者必须先 进行注册,才能够以网站用户的身份购买网站所展示的商品。浏览者注册的信息提交到网站后台,由网站管理员进行管理。网站为用户提供商品查询,商品购买的功能,并在收银台记录用户的购物选择,从而形成订单信息。在系统后台,管理员除了管理用户信息,公司信息以及商品信息外,还需将网站消息以公告的形式发布出去,同时也要及时查看网站留言板。主要业务流程如图2-1所示。

3

毕业设计(论文)-中国论文教育学院 www.icsv.net

购物车信息 收银台结账 选购商品 送货订单 修改资料 用户 留言 发布后的公告 有效用户名 留言板信息 公司 用户信息 发布 冻结/解冻 供应商品 管理员 商品信息 浏览者 注册 网站消息

图2-1系统业务流程图

4

毕业设计(论文)-中国论文教育学院 www.icsv.net

2.4 数据流程

XG_1 管理者 商品信息 商品 管理 查询要求 XG_2 浏览者 查询结果 商品 查询 XG_4 管理者 口令密码 用户 管理 D1 D2 D3 D4 D5 D6 XG_5 用户 购物选择 购物车 XG_7 公告 管理 用户 意见建议 XG_8 留言板 XG_9 管理者 公司信息 公司 管理 网站 消息 管理者 相关 资料 相关人员 XG_6 订单 管理 商品列表 用户列表 订单列表 公告列表 公司列表 留言板信息 XG_3 用户 注册 基本信息 浏览者

图2-2系统数据流程图

2.5 数据字典

表2-1 数据元素描述(部分)

编号 YS01 YS02 YS03 YS04 标识符 username freeze Pubdate Price 含义 用户名 状态 发布日期 价格 类型 char varchadatatidecima长度 10 1 8 9 特殊说明 默认值为0 2007-5-13 28.000000 5

毕业设计(论文)-中国论文教育学院 www.icsv.net

表2-2 数据流描述(部分)

编号 名称 来源 去向 组成 高峰流量 L01 商品信息 L02 用户浏览公司 浏览者 后台管理处 L03 购物选择 L04 订单收银用户 收银台 (商品编号)、商品名称、价格、图片 (用户编号)、用户名、地址、电话、电子邮箱 用户名、商品编号、商品数量 1000条/天 900条/天 5条/天 800条/天 700条/天 3条/天 1条/天 500条/天 600条/天 240条/天 140条/天 40条/天 平均流量 最低流量 60条/天 35条/天 10条/天 信息 者 用户 (订单编号)、购物车 公告栏 (编号)、标题、内容

信息 台 L05 网站管理公告 员 表2-3 数据存储描述(部分)

编号 名称 组成 关键字 存储大小 CC01 商品 商品编号 、商品名称、商品价格、发布日期、商品编号 4000条/月 列表 种类编号、图片编号、公司编号、备注 CC02 用户 用户编号、用户名、联系地址、联系电话、电列表 子邮箱 CC03 订单 订单编号、商品编号、商品数量、收货者姓名、订单编号 4000条/月 列表 联系电话、送货地址 CC04 公告 公告编号、公告标题、公告内容、发布时间 列表 CC05 公司 公司编号、公司名称、公司描述、公司地址、公司编号 1000条/月 列表 联系电话、电子邮箱 CC06 留言 编号、昵称、留言、留言时间 板

编号 500条/月 公告编号 500条/月 用户编号 1000条/月 6

毕业设计(论文)-中国论文教育学院 www.icsv.net

表2-4 数据结构描述(部分)

编号 名称 组成 相关数据流 相关处理逻辑

表2-5 处理逻辑描述(部分)

编号 名称 输入 LJ01 商品商品处理 根据商品基本信息,存入后台数据库,并在网站首输出 商品列表 SJJG01 商品标识 商品名称+种类编号+图片编号+单位 商品信息、公司信息、图片信息 商品管理、商品查询、购物车 管理 信息 页展示以供浏览者浏览 LJ02 商品查询根据浏览者选择的商品种类或用户输入的商品名查询结果 查询 要求 称显示相关信息 LJ03 用户用户将用户输入的基本信息存入后台数据库 用户列表 注册 信息 LJ04 用户用户查看用户的基本信息,通过设置freeze的值,冻修改后的用户列表 我的购物车 订单列表 管理 列表 结或解冻用户 LJ05 购物车 LJ06 订单购物取出用户所选商品的标识,显示商品的相关信息和选择 用户需要支付的费用 我的根据收银台传来的信息,制订成订单,在用户确定后存入后台,管理员可根据订单编号查询相关信息 管理 购物车、收货者息 LJ07 公司公司根据商品基本信息,存入后台数据库,仅供管理员公司列表 管理 信息 查看 LJ08 公告网站管理员将新的网站消息发布到网站前台的公告栏,公告列表 管理 消息 并在后台将过时的网站消息删除 LJ09 留言板 意见用户或浏览者将自己对网站的意见和建议留在网留言板信息 建议 站的留言板上,管理员进行查看和删除 7

毕业设计(论文)-中国论文教育学院 www.icsv.net

3 系统设计

3.1平台设计

表3-1 系统平台设计

系统平台 硬件平台 详细设计 服务器:PIIII及以上CPU,512M内存,硬盘20G, 10/100M网络 客户端:IE6.0及以上 软件平台 操作系统:Windows XP 数据库:SQL Server 2000 3.2 软件总体结构设计 3.2.1功能结构图

网上购物商城前台 商品展示 购物车 收银台 用户管理 订单信息 查询商品 看详细信息 添至购物车 查看购物车 移从购物车 填订单信息 购物结账 用户登录 用户注册 修改资料

图3-1电子商务网站前台功能结构图

8

毕业设计(论文)-中国论文教育学院 www.icsv.net

商城后台管理系统 后台登录 用户管理 公司管理 商品管理 订单管理 公告管理 留言板 退出后台 用户信息 冻结解冻 公司信息 新添公司 种类管理 增加商品 删除商品 订单列表 详细信息 查看公告 发布公告 删除公告

图3-2电子商务网站后台功能结构图

3.2.2 模块说明书

表3-2 “用户管理”模块说明书

模块标识 模块名称 主要功能 调用模块 输 入 输 出 相关数据表 EC01 用户管理 设置用户的可用状态,实现冻结和解冻,查看用户信息 用户注册、用户登录,修改资料 用户信息 处理后的用户信息 用户表 所属子系统 主要内部变量 用户名,密码,所处状态 1)通过全局变量记录登录的用户名,在“修改资料”中引用该变量,算 法 修改该用户的资料。 2)通过所处状态,允许或拒绝用户进入

9

毕业设计(论文)-中国论文教育学院 www.icsv.net

表3-3 “商品管理”模块说明书

模块标识 模块名称 主要功能 调用模块 输 入 输 出 相关数据表 主要内部变量 EC02 所属子系统 商品管理 添加商品种类,按种类查询商品,实现增加和删除 商品种类管理,添加商品,删除商品 商品种类,具体商品信息 商品列表 商品种类表,商品信息表 商品编号,商品价格,商品数量 1) 根据商品种类查看商品基本信息 算 法 2) 根据商品编号查看商品 3) 对查询结果进行操作(删除)

表3-4 “购物车”模块说明书

模块标识 EC03 模块名称 主要功能 调用模块 输 入 输 出 相关数据表 购物车 添加购买的商品,从购物车中移出商品,查看购物车 商品编号,商品名称,商品价格 商品基本信息,购买数量,商品总价格 商品信息表,图片信息表,购物车关系表 所属子系统 主要内部变量 商品编号,商品名称,购买数量,用户名 1)用户查看商品,选择要购买的商品 算 法 2)将选中的商品加入购物车 3)查看购物车,按照用户需求更改购买数量,以及确定购物选择

10

毕业设计(论文)-中国论文教育学院 www.icsv.net

表3-5 “收银台”模块说明书

模块标识 EC04 模块名称 主要功能 调用模块 输 入 输 出 相关数据表 收银台 填写订单信息,购物结账 购物车 订单信息,购物车信息 送货信息 用户信息表,收货者信息表,购物车信息表,商品信息表 所属子系统 主要内部变量 商品编号,购物车编号,用户名 1)确定用户的购物信息 算 法 2)根据用户名生成订单

表3-6 “公告管理”模块说明书

模块标识 模块名称 主要功能 调用模块 输入 输出 相关数据表 主要内部变量 EC05 所属子系统 公告管理 发布公告,删除公告,查看公告 公告标题 公告列表 公告信息表 公告编号,公告标题 1) 公告查询时,输入公告标题 算法 2) 发布公告,编号自动增一 3) 根据选中的公告的编号,实现数据表删除相关内容

11

毕业设计(论文)-中国论文教育学院 www.icsv.net

表3-7 “留言板”模块说明书

模块标识 模块名称 主要功能 调用模块 输入 输出 相关数据表 主要内部变量 算法 EC06 留言板 查看留言板,删除留言 意见、建议 留言时间,昵称,留言 留言信息表 用户名 1)根据用户的输入显示及时信息,按当前时间降序排列 2)后台根据编号删除相关留言

所属子系统 3.3 代码设计

系统中对订单编号进行了代码设计,为使订单编号实现系统自动编码,编码采用层次码加顺序码,层次码表示年、月、日,顺序码则表示订单形成的先后次序。考虑到网站的规模和订单的数量,编号的顺序码采用三位。代码模型如图3-3所示。

nnnn nnnnnnn订单编号顺序号日月年

图3-3订单编号的代码模型

3.4 数据库设计 3.4.1 E-R图

系统中主要涉及到的实体有“管理员”、“用户”、“商品”、“图片”、“购物车”、“公司”、“公告”、“订单”、“留言板”。实体与实体之间的联系如图3-4

12

毕业设计(论文)-中国论文教育学院 www.icsv.net

所示。

1 N 管理员 1 查看 M 发布 公告 1 公司 M 浏览 N M 1 填写 1 用户 M N 购买 提供 N 商品 订单 1 1 留言 1 留言板 拥有 1 购物车 拥有 1 图片

图3-4系统E-R图

3.4.2数据表设计

表3-8 Users(用户表)

字段名 userID username password Address Telephone Email freeze 描述 用户编号 用户姓名 用户密码 联系地址 联系电话 电子邮箱 冻结状态 类型 int char char varchar varchar varchar varchar

13

长度 4 10 10 200 20 200 1 是否为空 not null null null null null null null PK/FK PK 毕业设计(论文)-中国论文教育学院 www.icsv.net

表3-9 Companys(公司表)

字段名 CompanyID comname Description Address Telephone Email 描述 类型 长度 4 32 1000 200 20 200 是否为空 not null null null null null null PK/FK PK 公司表主键 int 公司名称 详细描述 公司地址 联系电话 电子邮箱 varchar varchar varchar varchar varchar 表3-10 Products(商品表)

字段名 ProductID Description PictureID CompanyID CategoryID Quantity Price Pubdate Details1 Details2 Details3 Details4 Details5 描述 商品主键 商品描述名称 商品的图片ID 商品所属的公司ID 商品所属的种类ID 商品的数量 商品的价格 商品发布的时间 商品详细属性说明一 商品详细属性说明二 商品详细属性说明三 商品详细属性说明四 商品详细属性说明五 类型 int varchar int int int int decimal datetime varchar varchar varchar varchar varchar 长度 4 50 4 4 4 4 9 8 500 500 500 500 500 是否为空 not null null null null null null null null null null null null null PK/FK PK FK FK FK 表3-11 Categorys(商品种类表)

字段名 CategoryID Description 描述 商品种类主键 种类描述 类型 int varchar

14

长度 4 100 是否为空 not null null PK/FK PK 毕业设计(论文)-中国论文教育学院 www.icsv.net

表3-12 ShopCarts(用户购物车表)

字段名 ShopCartID UserID Pubdate ProductNum TotalPrice 描述 用户购物车主键 购物车所属用户主键 发布时间 商品数量 总消费额 类型 varchar Int datetime int int 长度 是否为空 PK/FK 11 4 8 4 4 not null PK null null null null FK 表3-13 ProductCarts(商品和购物车关系表)

字段名 ProductID ShopCartID Quantity 描述 商品主键 购物车主键 商品在购物车中的数量 类型 int 长度 是否为空 4 not null null null PK/FK PK FK varchar 11 int 4 表3-14 Pictures (商品图片表)

字段名 PictureID Title PictureUrl 描述 商品图片主键 商品图片标题 类型 int 长度 4 是否为空 Not null null null PK/FK PK varchar 100 商品图片链接地址 varchar 200 表3-15 ManagerInfor(管理员表)

字段名 mngID mngname magpassword 描述 管理员主键 管理员姓名 管理员密码 类型 int char char 长度 4 10 10 是否为空 not null null null PK/FK PK 表3-16 Msg(留言板)

字段名 MsgID username Msgcontent Time 描述 留言板主键 用户名 留言内容 留言时间 类型 int char varchar datetime 长度 4 10 200 8 是否为空 not null null null null PK/FK PK 15

毕业设计(论文)-中国论文教育学院 www.icsv.net

表3-17 SHInformation(收货者信息表)

字段名 username SHName SHAddress SHCity SHPhone 描述 用户名 收货者姓名 收货者地址 收货者城市 收货者电话 类型 char varchar varchar varchar varchar 长度 10 10 是否为空 not null null PK/FK PK 200 null 10 20 null null 表3-18 BBS(公告表)

字段名 描述 类型 长度 是否为空 bbsID bbstitle bbscontent bbspubdate 公告主键 int 公告标题 varchar 公告内容 varchar 发布时间 datetime 4 100 1000 8 not null PK null null null PK/FK

3.5界面设计

系统界面风格基本一致,本着方便用户宗旨,在页面的设计上趋向于人性化,易于操作:

﹡界面清晰明了、协调一致,同样功能用同样的图形 ﹡有清楚的错误提示,误操作后,系统提供有针对性的提示 ﹡使用用户的语言,而非技术的语言

﹡方便退出,随时转移界面,很容易从一个界面跳到另外一个界面 ﹡让用户知道自己当前的位置,使其做出下一步行动的决定

3.5.1 网站首页界面

网站首页界面由页面B2Cmain.aspx实现,B2Cmain.aspx.cs文件为它的代码隐藏文件。首页是网站的门面,需要把待售的商品展示给网站浏览者看,以吸引浏览者以网站用户身份登录购买。根据这种理念,在首页提供商品展示,商品查询,商品详细查看,展示流动公告,留言板,用户登录等基本功能,给浏览者足够的空间去决定下一步做什么。因此可以设计如图3-5所示的操作界面。

16

毕业设计(论文)-中国论文教育学院 www.icsv.net

图3-5网站首页界面

3.5.2用户注册界面

用户注册由页面Regist.aspx实现,Regist.aspx.cs文件为它的代码隐藏文件。根据注册界面主要实现用户基本信息的录入功能,可以对有公认格式的数据做格式验证,将密码输入的数据显示由黑点替代,为确保用户记住自己的密码,需要设置确认密码项,两次密码输入结果相同方可提交。因此,可以设计如图3-6所示的界面。

17

毕业设计(论文)-中国论文教育学院 www.icsv.net

图3-6用户注册界面

3.5.3 购物主界面

购物主界面由页面shopping.aspx实现,shopping.aspx.cs文件为它的代码隐藏文件。购物界面是网站用户登录后的界面,可以将用户的名字显示在页面上以示友好的欢迎,除了提供网站首页的功能外,还需提供商品购买和修改用户信息的接口。因此可以设计如图3-7所示的操作界面。

18

毕业设计(论文)-中国论文教育学院 www.icsv.net

图3-7购物主界面

3.5.4 查看购物车界面

查看购物车由页面showcart.aspx实现,showcart.aspx.cs文件为它的代码隐藏文件。用户在查看购物车的时候,网站需提供显示用户所购买的商品信息,所需支付的金额的功能,此外为方便用户购买同样的商品,或者改变购物选择,还需要提供更改商品数量,删除商品,继续购买,去收银台的功能。因此可以设计如图3-8所示的操作界面。

图3-8查看购物车界面

19

毕业设计(论文)-中国论文教育学院 www.icsv.net

3.5.5收银台界面

收银台由页面CheckShopCart1.aspx和CheckShopCart2.aspx实现,CheckShopCart1.aspx.cs和CheckShopCart2.aspx.cs分别为它们的代码隐藏文件。收银台主要实现显示送货信息,购买的商品的信息等功能,界面设计如图3-9所示。

图3-9收银台界面一

图3-10收银台界面二

20

毕业设计(论文)-中国论文教育学院 www.icsv.net

3.5.6 后台管理首页

后台管理首页包括了实现整个后台管理系统功能的菜单,展示了所有后台界面的设计风格,由页面main.aspx实现,main.aspx.cs文件为它的代码隐藏文件。操作界面设计如图3-13所示。

图3-11后台管理首页

3.5.7 商品管理

商品管理由页面

CategoryManage.aspx(商品种类管理)、

AddProduct.aspx(添加商品)、ProductManage.aspx(删除商品)实现,CategoryManage.aspx.cs、AddProduct.aspx.cs、和ProductManage.aspx.cs文件分别为它们的代码隐藏文件。

21

毕业设计(论文)-中国论文教育学院 www.icsv.net

图3-12商品种类管理界面

图3-13添加商品界面

22

毕业设计(论文)-中国论文教育学院 www.icsv.net

图3-14删除商品界面

3.5.8 后台用户管理界面

用户管理由页面userInfor.aspx和fre-unfre-user.aspx实现,userInfor.aspx.cs和fre-unfre-user.aspx.cs文件分别为它们的代码隐藏文件。操作界面设计如图3-15所示。

图3-15查看用户信息界面

23

毕业设计(论文)-中国论文教育学院 www.icsv.net

图3-16冻结/解冻用户界面

3.5.9 后台管理其它界面

公司管理由页面CompanyInfor.aspx(查看公司列表)和CompanyAdd.aspx(新添供货公司)实现,订单管理由页面OrderList.aspx(查看订单信息)和 OrderDetails.aspx(查询详细信息),公告管理由页面BBCInfor.aspx(查看公告)、 AddBBS.aspx(添加公告)和 DeleteBBS.aspx(删除公告)实现,留言板由页面MsgInfor.aspx实现,界面的大体设计风格一致。

3.6系统安全设计

主要针对提高数据的安全保密性方面而言:

﹡对系统中的数据库定义访问权限。如对由某用户产生的数据,该用户对它具有操作权限,其他用户只有读权或无访问权。

﹡对软件的功能模块定义不同的操作权限,不同的级别,提供不同的操作。 ﹡提供数据备份及恢复功能,以防系统遭到严重危害后,可恢复到较早前的状态。

24

毕业设计(论文)-中国论文教育学院 www.icsv.net

4 系统实施

4.1 数据库的实施

在Web Service的web.config页面进行数据库连接配制:

connectionString=\database=B2CShopDB;server=(local);uid=sa;pwd=sa\ providerName=\System.Data.SqlClient\/>

Name表示该数据库连接的名字;Database表求要连接的SQL数据库的名字;Server=(local)表求数据库为本地计算机连接;uid是连接数据库使用的用户名,pwd表示连接数据库登录的密码。

4.2 程序实现 4.2.1 系统类的编写

商品的类:

public class Products {

public Products() {

//

// TODO: 在此处添加构造函数逻辑 //

}

int product_id;

string product_description; decimal product_price; int product_num;

DateTime product_pubdate; public int ProductID {

25

毕业设计(论文)-中国论文教育学院 www.icsv.net

get { return product_id; } set { product_id = value; } }

public string ProductDescription {

get { return product_description; } set { product_description = value; } }

public decimal ProductPrice {

get { return product_price; } set { product_price = value; } }

public int ProductNum {

get { return product_num; } set { product_num = value; } }

public DateTime ProductPubdate {

get { return product_pubdate; } set { product_pubdate = value; } }

public Products(int productid, string productdescription, decimal productprice, int productnum,DateTime productpubdate) {

product_id=productid;

product_description=productdescription; product_price=productprice; product_num=productnum;

product_pubdate =productpubdate ; }

26

毕业设计(论文)-中国论文教育学院 www.icsv.net

}

购物车的类:

public class ShoppingCarts {

public ShoppingCarts() { }

Hashtable productOders = new Hashtable(); public ICollection Product {

get { return productOders.Values; } }

public void AddProductOrder(Products order) {

Products product = (Products)productOders[order.ProductID]; if (product != null) {

product.ProductNum += 1; } else {

productOders.Add(order.ProductID, order); } }

public void RemoveProductOrder(int id) {

if (productOders[id] != null) {

productOders.Remove(id); } }

public decimal TotalPrice

27

毕业设计(论文)-中国论文教育学院 www.icsv.net

{ get {

decimal totalPrice = 0;

foreach (DictionaryEntry entry in productOders) {

Products product = (Products)entry.Value; totalPrice = totalPrice + product.ProductPrice * product.ProductNum; }

return totalPrice; } }

public void UpdateProductOrder(int id, Products order) {

if (productOders[id] != null) {

productOders[id] = order; } } }

4.2.2系统程序的实现

网站首页实现代码(B2Cmain.aspx.cs): using System.Data.SqlClient;

public partial class B2Cmain : System.Web.UI.Page {

protected void Page_Load(object sender, EventArgs e) {

if (!Page.IsPostBack) {

GetSourceListData();

28

毕业设计(论文)-中国论文教育学院 www.icsv.net

GetDataListData(\Pictures on Products.PictureID=Pictures.PictureID\); bbsshow(); } }

ConnectionStringSettings sets =

ConfigurationManager.ConnectionStrings[\]; SqlConnection conn; protected void bbsshow() {

conn = new SqlConnection(sets.ConnectionString);

SqlCommand cmd = new SqlCommand(\bbscontent from BBS \, conn);

conn.Open();

SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) {

Label2.Text += reader.GetString(0) + \; }

reader.Close(); conn.Close(); }

private void GetSourceListData() {

SourceList.Items.Clear();

conn = new SqlConnection(sets.ConnectionString); SqlCommand cmd = new SqlCommand(\

CategoryID,Description from Categorys order by CategoryID\, conn); conn.Open();

SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) {

29

毕业设计(论文)-中国论文教育学院 www.icsv.net

SourceList.Items.Add(new ListItem(reader[\].ToString(), reader[\].ToString())); }

reader.Close(); conn.Close(); }

private void GetDataListData(string sqlStr) {

conn = new SqlConnection(sets.ConnectionString); SqlDataAdapter da = new SqlDataAdapter(sqlStr, conn); DataSet ds = new DataSet(); da.Fill(ds);

DataList1.DataSource = ds; DataList1.DataBind(); }

protected void Button1_Click(object sender, EventArgs e) {

GetDataListData(\on Products.CategoryID=Categorys.CategoryID \ + \

Products.PictureID=Pictures.PictureID where Categorys.CategoryID=\ + Convert.ToInt32(SourceList.SelectedValue)); }

protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e) {

if (e.CommandName == \) {

int product_id =

Convert.ToInt32(DataList1.DataKeys[e.Item.ItemIndex]); Session[\] = product_id;

30

毕业设计(论文)-中国论文教育学院 www.icsv.net

Response.Redirect(\); } }

protected void LinkButton1_Click(object sender, EventArgs e) {

Response.Redirect(\); }

protected void LinkButton2_Click(object sender, EventArgs e) {

Response.Redirect(\); } }

用户注册实现代码(Regist.aspx.cs):

public partial class Regist : System.Web.UI.Page {

protected void Page_Load(object sender, EventArgs e) { }

protected void handon_Click(object sender, EventArgs e) {

zhuce(); }

protected void zhuce() {

ConnectionStringSettings sets =

ConfigurationManager.ConnectionStrings[\]; SqlConnection conn = new SqlConnection(sets.ConnectionString);

SqlCommand cmd = new SqlCommand(\

Users(username,password,Address,Telephone,Email) values ('\ + UserName.Text +

\+Password.Text+\+Address.Text+\+Telephone.Text+\+E

31

毕业设计(论文)-中国论文教育学院 www.icsv.net

mail.Text+\, conn); conn.Open();

cmd.ExecuteNonQuery(); conn.Close();

Response.Write(\添加用户\+UserName.Text+\成功!');\); }

protected void Button1_Click(object sender, EventArgs e)

{

Response.Redirect(\);

} }

购物主界面的实现代码(shopping.aspx.cs):

public partial class shopping : System.Web.UI.Page {

protected void Page_Load(object sender, EventArgs e) {

BindData();

string username = Session[\].ToString(); Label1.Text = username; bbsshow(); }

ConnectionStringSettings sets =

ConfigurationManager.ConnectionStrings[\]; SqlConnection conn; protected void bbsshow() {

conn = new SqlConnection(sets.ConnectionString); SqlCommand cmd = new SqlCommand(\bbscontent from BBS \, conn);

conn.Open();

SqlDataReader reader = cmd.ExecuteReader();

32

毕业设计(论文)-中国论文教育学院 www.icsv.net

while (reader.Read()) {

Label2.Text += reader.GetString(0)+\; }

reader.Close(); conn.Close(); }

protected void BindData() {

conn = new SqlConnection(sets.ConnectionString); SqlDataAdapter da = new SqlDataAdapter(\Products\, conn);

DataSet ds = new DataSet(); da.Fill(ds);

productList.DataSource = ds; productList.DataBind(); }

protected void Button1_Click(object sender, EventArgs e) {

BindData2(); }

protected void BindData2() {

string spmc = prodtdesn.Text;

conn = new SqlConnection(sets.ConnectionString);

SqlDataAdapter da = new SqlDataAdapter(\* from Products where Description='\ + spmc + \, conn); DataSet ds = new DataSet(); da.Fill(ds);

productList.DataSource = ds; productList.DataBind(); }

33

毕业设计(论文)-中国论文教育学院 www.icsv.net

protected void LinkButton2_Click(object sender, EventArgs e) {

Response.Redirect(\); }

protected void productList_PageIndexChanging(object sender, GridViewPageEventArgs e) {

productList.PageIndex = e.NewPageIndex; productList.DataBind(); }

protected void LinkButton1_Click(object sender, EventArgs e) {

Response.Redirect(\); } }

收银台功能实现代码(CheckShopCart2.aspx.cs):

public partial class CheckShopCart2 : System.Web.UI.Page {

protected void Page_Load(object sender, EventArgs e) {

Userorders dingdan = (Userorders)Session[\]; Label1.Text = dingdan.UserName; Label2.Text = dingdan.UserAddress; Label3.Text = dingdan.UserCity; Label4.Text = dingdan.UserPhone; ShoppingCarts cart;

cart = (ShoppingCarts)Session[\]; GridView1.DataSource = cart.Product; GridView1.DataBind();

Label5.Text += cart.TotalPrice; }

protected void Button2_Click(object sender, EventArgs e)

34

毕业设计(论文)-中国论文教育学院 www.icsv.net

{

Response.Redirect(\); }

protected void Button1_Click(object sender, EventArgs e) {

ConnectionStringSettings sets =

ConfigurationManager.ConnectionStrings[\]; SqlConnection conn = new SqlConnection(sets.ConnectionString);

string username = Session[\].ToString(); int n = GridView1.Rows.Count; for (int i = 0; i < n; i++) {

int id

=Convert.ToInt32( GridView1.Rows[i].Cells[0].Text); int num =

Convert.ToInt32(GridView1.Rows[i].Cells[4].Text); SqlCommand cmd = new SqlCommand(\

ShopCarts(username,ProductID,ProductNum) values ('\ + username+ \ + id + \ + num+ \, conn); conn.Open();

cmd.ExecuteNonQuery(); conn.Close(); }

SqlCommand cmd1 = new SqlCommand(\

SHInformation(username,SHName,SHAddress,SHCity,SHPhone) values ('\ + username + \ + Label1.Text + \ + Label2.Text + \ + Label3.Text + \ + Label4.Text + \, conn); conn.Open();

cmd1.ExecuteNonQuery(); conn.Close();

Response.Write(\谢谢您的购买!'))

35

毕业设计(论文)-中国论文教育学院 www.icsv.net

location.replace('zxhIndex.aspx');else

location.replace('zxhIndex.aspx');\); } }

冻结/解冻用户实现代码(fre-unfre-user.aspx.cs):

public partial class fre_unfre_user : System.Web.UI.Page {

protected void Page_Load(object sender, EventArgs e) {

BindData(); }

ConnectionStringSettings sets =

ConfigurationManager.ConnectionStrings[\]; SqlConnection conn; protected void BindData() {

conn = new SqlConnection(sets.ConnectionString);

SqlDataAdapter da = new SqlDataAdapter(\* from Users\, conn);

DataSet ds = new DataSet(); da.Fill(ds);

GridView1.DataSource = ds; GridView1.DataBind(); }

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) {

int id =

Convert.ToInt32(GridView1.Rows[Convert.ToInt32(e.CommandArgument)].Cells[0].Text);

if (e.CommandName == \) {

36

毕业设计(论文)-中国论文教育学院 www.icsv.net

conn = new SqlConnection(sets.ConnectionString); SqlCommand cmd = new SqlCommand(\freeze='1' where userID=\ + id,conn); conn.Open();

cmd.ExecuteNonQuery(); conn.Close(); }

else if (e.CommandName == \) {

conn = new SqlConnection(sets.ConnectionString); SqlCommand cmd = new SqlCommand(\freeze='0' where userID=\ + id,conn); conn.Open();

cmd.ExecuteNonQuery(); conn.Close(); } else { } }

protected void Button1_Click(object sender, EventArgs e) {

BindData2(); }

protected void BindData2() {

string gkxm1 = gkxm.Text;

conn = new SqlConnection(sets.ConnectionString);

SqlDataAdapter da = new SqlDataAdapter(\where username='\ + gkxm1 + \, conn); DataSet ds = new DataSet(); da.Fill(ds);

GridView1.DataSource = ds;

37

毕业设计(论文)-中国论文教育学院 www.icsv.net

GridView1.DataBind(); }

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) {

GridView1.PageIndex = e.NewPageIndex; GridView1.DataBind(); } }

留言板管理功能实现代码(DeleteBBS.aspx.cs):

public partial class DeleteBBS : System.Web.UI.Page {

protected void Page_Load(object sender, EventArgs e) {

BindData(); }

ConnectionStringSettings sets =

ConfigurationManager.ConnectionStrings[\]; SqlConnection conn; protected void BindData() {

conn = new SqlConnection(sets.ConnectionString);

SqlDataAdapter da = new SqlDataAdapter(\, conn);

DataSet ds = new DataSet(); da.Fill(ds);

GridView1.DataSource = ds; GridView1.DataBind(); }

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) {

38

毕业设计(论文)-中国论文教育学院 www.icsv.net

GridView1.PageIndex = e.NewPageIndex; GridView1.DataBind(); }

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) {

conn = new SqlConnection(sets.ConnectionString); int id =

Convert.ToInt32(GridView1.Rows[e.RowIndex].Cells[0].Text);

SqlCommand cmd = new SqlCommand(\from BBS where bbsID=\ + id, conn);

conn.Open();

cmd.ExecuteNonQuery(); conn.Close(); BindData(); }

protected void Button1_Click(object sender, EventArgs e) {

BindData2(); }

protected void BindData2() {

string ggbt1 = ggbt.Text;

conn = new SqlConnection(sets.ConnectionString);

SqlDataAdapter da = new SqlDataAdapter(\* from BBS where bbstitle='\ + ggbt1 + \, conn); DataSet ds = new DataSet(); da.Fill(ds);

GridView1.DataSource = ds; GridView1.DataBind(); }

}

39

毕业设计(论文)-中国论文教育学院 www.icsv.net

5 结束语

论文从概述到系统分析再到系统设计最后进行系统实施,记录了系统开发的整个过程。在分析阶段对系统进行了目标需求分析,可行性分析,业务流程分析,数据流程分析。在设计阶段对整个系统的运行平台,数据库,操作界面,系统安全进行了详细的设计。在系统的实施阶段,主要从数据库和程序代码两个方面进行研究和实现。

由于初次独立开发,所以系统还存在一些不足之处。在分析阶段,由于对问题的认识不够深刻,可能导致在设计阶段出现一些设计性不足;在开发阶段,由于对软件工程的认识不够深入,在软件设计过程中许多代码没有考虑到其重用性,使系统中重写了许多代码,增加了代码的复杂度。

系统是采用Macromedia Dreamweaver MX 2004 开发Web静态网页,运用VS.NET2005动态网站开发技巧来实现与数据库的连接,从而开发成一个具有用户注册,商品展示,商品查询,购物车,收银台及网站后台管理等功能的小型的B2C模式的网上购物商城。由于时间和费用方面的关系,系统存在着很多的不足,实现的功能相对简单,但是系统已经具备了电子商务网站的核心功能,可以模拟电子商务的流程进行系统试运行,而且操作简单,界面友好,系统及数据库易于维护。

40

本文来源:https://www.bwwdw.com/article/3q96.html

Top