网上书店设计与实现_第1页
网上书店设计与实现_第2页
网上书店设计与实现_第3页
网上书店设计与实现_第4页
网上书店设计与实现_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

重庆大学网络教育学院 毕业设计 论文 题目 网上书店设计与实现 学生所在校外学习中心 四川广安校外学习中心 批次 层次 专业 121 专科起点本科 计算机科学与技术 学 号 W12111558 学 生 吴 清 指 导 教 师 屈 松 起 止 日 期 2013 年7月1日至 2013年8月21日止 II 摘摘 要要 网上书店系统是一个基于 ASP NET 技术和 SQL Server 数据库开发的系统 本论文 首先介绍了网上书店系统开发的背景 然后详细描述了系统分析和数据库设计 最后又 详细介绍了网上书店系统的模块设计与实现 通过本系统管理员可以通过 Web 浏览器 进入后台 实现网上图书添加 删除 图书分类管理及定单管理 用户管理等功能和 用户登录 注册 在站内进行搜索等功能 系统运行后 操作界面简单流畅 实用性 强 关键词 关键词 网网上上书书店店 数数据据库库 III 目目 录录 摘要摘要 II 1 绪论 1 1 1 课题背景 1 1 2 开发目标 1 2 系统分析 2 2 1 需求分析 2 2 2 可行性分析 2 2 2 1 需求可行性 2 2 2 2 技术可行性 2 3 总体设计 4 3 1 设计方案 4 3 2 数据库设计 4 3 2 1 数据库概念设计 4 3 2 2 数据库E R图 5 3 2 3 数据库逻辑结构设计 5 3 3模块划分 7 4 实现数据库访问层 11 4 1 一般数据库操作的封装 11 4 2存储过程操作的封装 13 5 详细设计与实现 15 5 1 用户管理模块 15 5 1 1 用户注册 15 5 1 2 用户登录 17 5 1 3 找回丢失密码 18 5 1 4 修改个人信息 19 5 2 图书管理模块 20 5 2 1 管理图书类别 20 5 2 2 添加 删除 修改图书信息 21 5 2 3 列表显示图书 22 5 2 4 搜索图书 23 5 3 购物车管理模块 25 5 3 1 查看购物列表 25 5 3 2 结账 26 5 4 订单管理模块 27 5 4 1 客户订单管理 28 5 4 2 管理员订单管理 29 5 5 后台管理模块 31 5 5 1 查询用户信息 32 5 5 2 查询销售情况 33 6 系统测试 35 6 1 单元测设 35 IV 6 2 集成测试 35 结论 37 致谢 33 参考文献 39 1 1 绪论绪论 1 11 1 课题背景课题背景 随着网络技术的迅猛发展 越来越多的人热衷于上网 网上购物俨然已成为一种时 尚和潮流 人们只要打开电脑 轻点鼠标 登录到购物网站 即可突破地域的限制 恣 意遨游于信息的海洋 书籍作为一种文化的载体 智慧的结晶 也加入到了网络购物的 热潮之中 越来越多的网上书店诞生了 并且生机勃勃 1 21 2 开发目标开发目标 在 Visual Studio 2010 开发工具和 SQL Server 2008 数据库软件基础上 采用 ASP NET 语言 开发一套网上书店系统 实现管理员可以通过 Web 浏览器进入后台 实 现网上图书添加 删除 图书分类管理及定单管理 用户管理等功能 以及用户登录 注册 在站内进行搜索等功能 2 2 2 系统分析系统分析 2 12 1 需求分析需求分析 网上书店系统包括如下基本功能 用户注册和登录 为用户提供注册 登录 找回丢失密码 修改个人信息等功 能 图书信息查询及管理 对信息进行灵活的分类 存储 方便用户迅速从少则几 万 多则几十万甚至上百万种图书中找出自己所需图书 购物车管理 用语存储用户选择好的图书 完成购物后可以自动生成订单以供 管理者进行管理 订单管理 为用户提供订单查询功能 同时为管理者提供订单查询功能及处理 功能 后台管理 为管理者提供用户信息查询和销售情况查询等功能 2 22 2 可行性分析可行性分析 2 2 12 2 1 需求可行性需求可行性 网上书店为人们提供了诸多方便 更加广阔的环境 人们不受时间 空间的限制 不受传统购物的诸多限制 可随时随在网上交易 更加广阔的市场 在网上这个世界将会变得很小 一个商家可以面对全球 的消费者 而一个消费者可以在全球的任何一家商家购物 更加快速的流通和低廉的价格 电子商务减少了商品流通的中间环节 节 省大量开支 从而大大降低了商品流通和交易成本 更加符合时代要求 如今人们越来越追求时尚 讲究个性 注重购物的环 境 网上购物 更能体现个性化的购物过程 综合应用所学知识 构建网上书店系统 并重点实现网上书店系统所涉及的功能 从而使本人把所学的理论知识能够很好的运用到实践当中 2 2 22 2 2 技术可行性技术可行性 近年来随着 Internet 技术的飞速发展及用户需求的不断升级 Web 页面技术也 3 不断的推陈出新 使得 Web 站点的功能越来越强大 能够提供的服务种类越来越繁多 从 HTML Client Script 到 CGI 从 JAVA 的诞生到 ActiveX Web 页面设计人员不断 受到冲击 微软公司在总结了以往技术 重新思考Web 页面设计的真正需要后 推 出了 Active Server Pages ASP 一种用以取代 CGI Common Gateway Interface 通用网关接口 的技术 简单讲 ASP 是位于服务器端的脚本运行环境 通过这种环境 用户可以创建和 运行动态的交互式 Web 服务器应用程序 如交互式的动态网页 包括使用 HTML 表单收集和处理信息 上传与下载等等 更重要的是 ASP 使用的 ActiveX 技术基 于开放设计环境 用户可以自己定义和制作组件加入其中 使自己的动态网页几乎具 有无限的扩充能力 这是传统的 Web 编写工具所远远不及的地方 使用ASP 还有个 好处 就在于 ASP 可利用 ADO Active Data Object 微软的一种新的数据访问模型 方便快捷地访问数据库 从而使得开发基于WWW 的应用系统成为可能 这也是本系统 选择 ASP 作为开发工具最重要的原因之一 4 3 3 总体设计总体设计 3 13 1 设计方案设计方案 为实现需求分析中所提到的网上书店的功能 本系统分为 4 层 分别为表示层 由 ASP NET Web 窗体组成 主要用于显示信息和与用户交互 商务逻辑层 用于抽象表示 层功能 为表示层提供服务 数据访问层 为商务逻辑层提供访问数据库系统的接口 和系统数据库 表示层页面包括 3 类 用户处理相关图书信息的 Book aspx 用于处理用户信息的 User aspx 页面 用于实现管理的 Manage asp 页面 商务逻辑层包含 Book cs User cs ShopCart cs Order cs Admin cs 文件 分 别封装了为实现对图书 用户 购物车 订单 管理进行操作而需要的方法 该层可以 直接访问数据访问层 并为表示层提供了访问接口 起到了表示层和数据访问层的桥梁 的作用 数访问层包含了 SqlAcess cs 文件 封装了对 SQL Server2008 数据库中数据的读取 和对储存过程的操作 图 3 1 系统分层图 3 23 2 数据库设计数据库设计 3 2 13 2 1 数据库概念设计数据库概念设计 该系统的数据库中涉及到的实体有 图书 用户 购物车 订单 5 图书的属性有 图书类别 图书名称 图书作者 图书译者 图书出版社 图书价 格 图书封面 图书介绍 用户的属性有 用户角色 用户名称 用户真名 用户密码 用户邮箱 用户提示 问题 提示问题答案 购物车的属性有 图书编号 图书名称 图书价格 购书数量 订单的属性有 订单日期 订单总额 所购图书名称 所购图书单价 所购图书数 量 3 2 23 2 2 数据库数据库E RE R图图 图 3 2 数据库 E R 图 3 2 33 2 3 数据库逻辑结构设计数据库逻辑结构设计 本系统是典型的电子商务系统 数据库包含 6 个表 1 图书类别表 e BookCategory 网站的图书种类繁多 用图书类别表存储网站图书种类信息 可以简化图书管理 该表字段说明如下表 3 1 所示 表 3 1 图书类别表 字段名字段名类型类型长度长度允许空允许空键值键值备注备注 CategoryIdint4否是图书类别 ID CategoryNamenvarchar50是否图书类别名称 2 图书信息表 e Booklnfo 6 图书信息表存储网站图书具体信息 该表引用 BookCategory 表的 CategoryId 字段 作为外键 具体字段说明如下表 3 2 所示 表 3 2 图书信息表 字段名字段名类型类型长度长度允许空允许空键值键值备注备注 BookIdint4否是图书 ID BookNamenvarchar50是否图书名称 Coverbinary50是否图书封面 CategoryIdint4是否图书类别 ID Authornvarchar50是否图书作者 Translatornvarchar50是否图书译者 Pressnvarchar50是否图书出版社 Pricedecimal9是否图书价格 Intorductionnvarchar200是否图书介绍 3 订单表 e Order 订单表用以存储用户订单 引用 Userlnfo 表中的 UserId 字段作为外键 其具体字 段内容如下表 3 3 所示 表 3 3 订单表 字段名字段名类型类型长度长度允许空允许空键值键值备注备注 OrderIdint4否是订单 ID UserIdint4是否用户 ID OrderDatedatetime8是否订单日期 Statusnvarchar50是否订单状态 4 订单信息表 e Orderlnfo 订单信息表包含具体订单信息 引用 BookInfo 表的 BookId 作为外键 具体字段说 明如下表 3 4 所示 表 3 4 订单信息表 字段名字段名类型类型长度长度允许空允许空键值键值备注备注 OrderIdint4否是订单 ID BookIdint4否是图书 ID 7 Quantityint4是否图书数量 UnitCostdecimal9是否图书价格 5 购物车表 e ShopCart 购物车表主要存储网站用户购物车信息 该表引用 Booklnfo 表的 BookId 作为外键 其具体字段说明如下表 3 5 所示 表 3 5 购物车表 字段名字段名类型类型长度长度允许空允许空键值键值备注备注 Idint4否是ID CartIdnvarchar50是否购物车 ID BookIdint4是否图书 ID Quantityint4是否图书数量 CreatedDatedatetime6是否创建日期 6 用户信息表 e Userlnfo 用户信息表主要用于储存网站用户信息 字段说明如下表 3 6 所示 表 3 6 用户信息表 字段名字段名类型类型长度长度允许空允许空键值键值备注备注 UserIdint4否是用户 ID UserNamenvarchar50是否用户名称 UserPwdnvarchar50是否用户密码 UserRolenvarchar50是否用户角色 UserRealNamenvarchar50是否用户真实姓名 Questionnvarchar50是否用户提问 Answernvarchar50是否提问答案 Emailnvarchar50是否邮箱地址 3 33 3模块划分模块划分 该系统的整体模块组织图所示 8 图 3 3 管理员功能设计图 图 3 4 普通用户功能设计图 该系统为普通用户和管理员提供了不同的操作界面 为普通用户设计的操作界设计 面如下图 3 5 所示 为管理员设计的操作界设计面如图 3 6 所示 9 Process 一 一 一 一 1 2 3 4 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 图 3 5 普通用户界面设计图 10 Process 一 一 一 一 1 2 3 4 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 图 3 6 管理员操作界面图 普通用户界面划分为修改信息 修改密码 管理购物车 管理订单 搜索等模块 管理员界面划分为修改信息 修改密码 管理图书类别 增加图书 管理图书信息 管 理订单 管理用户信息 查询销售信息和搜索等模块 11 4 4 实现数据库访问层实现数据库访问层 在动态网页设计中 很多都要涉及到对数据库的操作 这是一件枯燥 费时 而且 容易出错的工作 如果使用类来实现对数据库操作的封装 就可以使写出的程序在很小 的改动下完成后台数据库的操作 4 14 1 一般数据库操作的封装一般数据库操作的封装 SqlAcess cs 文件中封装了对一般数据库的操作 下面简单介绍下该文件中的主要数 据库访问函数 ExecuteNonQuery 函数 该函数执行 Sql 命令 参数为连接字符串 connString 命令类型 cmdType 存储过程 名称或 T SQL 命令 cmdText SQL 参数组 cmdParms 返回值为受影响的行数 val public static int ExecuteNonQuery string connString CommandType cmdType string cmdText params SqlParameter cmdParms SqlCommand cmd new SqlCommand 定义 SqlCommand 对象 using SqlConnection conn new SqlConnection connString 定义 SqlConnection 对象 PrepareCommand cmd conn null cmdType cmdText cmdParms 调用 PrepareCommand 方法 int val cmd ExecuteNonQuery 调用执行查询方法 cmd Parameters Clear 清空参数 return val 返回 val ExecuteReader 函数 该函数执行 Sql 命令 参数为连接字符串 connString 命令类型 cmdType 存储过程 名称或 T SQL 命令 cmdText SQL 参数组 cmdParms 返回值为 SqlDataReader 数据集 public static SqlDataReader ExecuteReader string connString CommandType cmdType string cmdText params SqlParameter cmdParms 12 SqlCommand cmd new SqlCommand 定义 SqlCommand 对象 SqlConnection conn new SqlConnection connString 定义 SqlConnection 对象 try PrepareCommand cmd conn null cmdType cmdText cmdParms 调用 PrepareCommand 方法 SqlDataReader rdr md ExecuteReader CommandBehavior CloseConnection cmd Parameters Clear 清空参数 return rdr catch 捕获异常 conn Close 关闭链接 throw 抛出异常 ExecuteDataset 函数 该函数通过 SqlConnection 执行 Sql 命令 参数为 SqlConnection 对象 connection 命 令类型 cmdType 存储过程名称或 T SQL 命令 cmdText SQL 参数组 cmdParms 返回值 为 DataSet 数据集 public static DataSet ExecuteDataset SqlConnection connection CommandType commandType string commandText params SqlParameter commandParameters 创建一个 SqlCommand 对象 并对其进行初始化 SqlCommand cmd new SqlCommand PrepareCommand cmd connection SqlTransaction null commandType commandText commandParameters 创建 SqlDataAdapter 对象以及 DataSet SqlDataAdapter da new SqlDataAdapter cmd DataSet ds new DataSet 填充 ds da Fill ds 清除 cmd 的参数集合 cmd Parameters Clear 13 return ds 返回 ds PrepareCommand 函数 该函数完成数据库的连接和对命令的执行 供以上函数调用 private static void PrepareCommand SqlCommand cmd SqlConnection conn SqlTransaction trans CommandType cmdType string cmdText SqlParameter cmdParms 判断连接的状态 如果是关闭连接 则打开 if conn State ConnectionState Open conn Open 关闭连接 cmd 属性赋值 cmd Connection conn cmd CommandText cmdText 是否需要用到事物处理 if trans null cmd Transaction trans cmd CommandType cmdType 添加 cmd 需要的存储过程参数 if cmdParms null foreach SqlParameter parm in cmdParms cmd Parameters Add parm 4 24 2存储过程操作的封装存储过程操作的封装 网上书店系统的商务逻辑层调用数据访问层函数 完成对 SQL Server 数据库中存储 过程的操作 这是因为使用存储过程封装应用有以下优点 代码模块化 以减少数据库操作员和程序员的错误 提高数据库安全性 14 减少网络通信流量 移植性较强 15 5 5 详细设计详细设计与实现与实现 5 15 1 用户管理模块用户管理模块 用户管理是一个网上书店系统补课缺少的部分 该模块主要实现用户注册 用户登 录 找回丢失密码和修改个人信息等功能 用户管理模块主要包括以下页面 用户注册页面 UserRegister aspx 代码隐藏文件为 UserRegister aspx cs 用户登录页面 UserLogin aspx 代码隐藏文件为 UserLogin aspx cs 找回丢失密码页面 UserGetPassWord aspx 代码隐藏文件 UserGetPassWord aspx cs 修改个人信息页面 UserChangeInfo aspx 代码隐藏文件为 UserChangeInfo aspx cs 图 5 1 User 类中的主要函数列表 5 1 15 1 1 用户注册用户注册 在如图 5 2 所设计的各项文本框中输入对应信息 然后单击 注册 按钮 可以注册 新用户 16 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 图 5 2 用户注册界面设计图 用户注册的功能由函数 AddUser Click 实现 函数 AddUser Click 代码如下 该段代 码保存在 UserRegister aspx cs 文件中 protected void AddUser Click object sender System EventArgs e 得到用户注册信息 string userName LoginName Text Trim 定义用户名 string password Password Text Trim 定义密码 string question Question Text Trim 定义问题 string answer Answer Text Trim 定义问题答案 string userrealname UserRealName Text Trim 定义用户真实姓名 string email Email Text Trim 定义邮件地址 string role 用户 User user new User int userId user RegisterUser userName password question answer userrealname email role 得到用户 ID 如果返回值为 1 表示用户名已经存在 17 if userId 1 Message Text 您注册的用户已经存在 else 设置用户为通过验证 System Web Security FormsAuthentication SetAuthCookie userId ToString false 迁移购物车记录 将用户重定向至用户帐户页面 Response Redirect UserLogin aspx 5 1 25 1 2 用户登录用户登录 在为用户登录所设计的图 5 3 中 输入对应信息 然后单击 登录 按钮 可以完 成用户登录 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 图 5 3 用户登录界面设计图 用户登录的功能由函数 LoginUser Click 实现 函数 LoginUser Click 代码如下 该段 代码保存在 UserLogin aspx cs 文件中 protected void LoginUser Click object sender System EventArgs e 实体化 User 对象 User user new User int userId user Login LoginName Text Password Text 注册用户 18 Session UserRole user GetUserRole userId 得到用户角色 if userId 0 如果返回为空 lblMessage Text 您输入的用户或密码有误 else System Web Security FormsAuthentication RedirectFromLoginPage userId ToString CheckCookie Checked 5 1 35 1 3 找回丢失密码找回丢失密码 在如图 5 4 所设计的 用户名 提示问题 问题答案 和 E mail 文本框中输 入对应信息 然后单击 提交 按钮 即可完成用户找回丢失密码的操作 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 图 5 4 找回丢失密码界面 用户找回丢失密码的功能由函数 Submit Click 实现 函数 Submit Click 代码如下所 示 该段代码保存在 UserGetPassWord aspx cs 文件中 其中 User 类中的 GetBackPassword 函数具体内容代码保存在了 User cs 中 protected void Submit Click object sender System EventArgs e 实例化 user 对象 User user new eBookShop User 19 int result user GetBackPassword LoginName Text Trim Question Text Trim Answer Text Trim Email Text 得到密码 if result 1 如果返回 1 Message Text 您的 6 位密码已发送 请到邮箱查收 提示成功 else Message Text 您的输入信息有误 提示失败 5 1 45 1 4 修改个人信息修改个人信息 在程序执行后的界面如图 5 5 所示 在真实姓名 问题 答案 E mail 文本框中输 入对应信息 然后单击 提交 按钮 即可完成用户个人信息的修改 图 5 5 修改个人信息界面 修改个人信息的功能由函数 UpdateUserInfo 实现 函数 UpdateUsernfo 代码如下所示 这段代码保存在文件 UserInfo aspx cs 中 void UpdateUserInfo 实例化 user 对象 User user new User 20 user ChangeProfile User Identity Name RealName Text Question Text Answer Text Email Text 改变用户信息 5 25 2 图书管理模块图书管理模块 图书管理是系统的重要组成部分 它主要实现图书类别的添加和删除 图书的添加 删除和修改 列表显示图书 图书搜索等功能 图 5 6 Book 类的主要函数列表 5 2 15 2 1 管理图书类别管理图书类别 图书类别管理的执行流程如图 5 7 所示 在如图 5 8 所示的图书类型文本框中输入 图书类型信息 然后点击 添加 按钮 可以完成图书类型的添加操作 21 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 图 5 7 图书类别管理的执行流程 图 5 8 管理图书类别 添加图书类型的功能由函数 Add Click 实现 Add Click 函数代码保存在 ManageBookType aspx cs 文件中 5 2 25 2 2 添加 删除 修改图书信息添加 删除 修改图书信息 添加 删除 修改图书信息的执行流程如图 5 9 所示 在本节代码实现后 如图 5 9 所示的 图书名称 作者 译者 出版社 价格 介绍 文本框中输入对应信息 并单击 浏览 按钮 选择图书封面后单击 确定 按钮 选择图书类别 然后单击 添加 按钮 即可完成新书的添加操作 22 开始 修改 选择添加 删除 修改 修改成功 删除成功 添加成功 结束 添加 确定修改 确定删除 确定添加 删除 填写修改信息 选中删除 填写图书信 息 图 5 9 添加 删除 修改图书信息的执行流程 图 5 10 添加图书实现图 5 2 35 2 3 列表显示图书列表显示图书 图书列表显示功能由 DataListBind 函数实现 函数 DataListBind 代码如下 该段代 码保存在文件 BookByType aspx cs 中 23 void DataListBind dl BookByType DataSource Product GetBookByCategory int Parse ViewState BookType Id ToString 设置数据源 dl BookByType DataBind 绑定数据 图 5 11 为按类别列表显示信息的界面实现图 图 5 11 列表显示图书图 5 2 45 2 4 搜索图书搜索图书 搜索图书的流程如图 5 12 所示 在如图 5 13 所示的 图书名称 作者 译者 出版社 文本框中输入对应信息 在 图书类型 下拉列表框中选择图书种类 然后 单击 查找 按钮以实现搜索功能 24 显示相关数据 存在 不存在 开始 数据库中搜索 信息是否存在 填写搜索信息 结束 图 5 12 搜索图书的执行流程 图 5 13 搜索图书 25 图 5 14 搜索结果 图 5 14 以列表形式实现了显示搜索结果的程序 图书具体搜索功能由函数 Bind 实 现 5 35 3 购物车管理模块购物车管理模块 购物车模块使用户可以在购物时随时查看自己购买的商品 并可以随时添加和删除 所购买的商品 图 5 15 ShopCart 类中的主要函数列图 5 3 15 3 1 查看购物列表查看购物列表 26 查看购物列表的执行流程如图 5 16 所示 用户可以通过点击图书旁边的 加入购物 车 按钮 将图书加入购物车 图 5 17 显示了用户购物车 具体包括图书编号 图书名 称 价格 数量 总金额记忆合计金额等内容 开始 查看购物列 表 更新购物 车 修改购物 车 结算 购物列 表 是否有 误 结束 是 否 图 5 16 查看购物车列表的执行流程 图 5 17 查看购物车列表 购物车列表显示功能由函数 showshopcart 实现 该代码保存在 MyShopCart aspx cs 中 5 3 25 3 2 结账结账 用户结账的执行流程如图 5 18 所示 图 5 19 为购物车结账界面 结账功能的实现与 27 前面查看购物列表功能实现相似 是 开始 判断数据是否正确 查看购物列表 提交 结束 修改购物列表 否 图 5 18 用户结账的执行流程 图 5 19 购物车结账界面 图 5 19 为代码实现后的截图 如果提交的购物记录出错 可跳转到购物车列表 程序 而后再选择对现有的数据库的删除与修改操作 5 45 4 订单管理模块订单管理模块 28 图 5 20 订单 Orders 类中的主要函数列图 5 4 15 4 1 客户订单管理客户订单管理 查询客户信息的执行流程如图 5 21 所示 图 5 22 显示了客户所提供的订单 包括订 单号 订单时间 订单总额等信息 开始 订单列表 订单细节查 询 结束 图 5 21 查询客户信息的执行流程 图 5 22 客户订单浏览设计图 客户订单浏览功能在函数 page load 中实现 其代码如下所示 该段代码保存在 MyOrder aspx cs 文件中 protected void Page Load object sender System EventArgs e 29 string userID User Identity Name 得到用户 ID Orders orderHistory new Orders 创建 Orders 对象 MyList DataSource orderHistory GetOrderList userID 设置数据源 MyList DataBind 数据绑定 if MyList Items Count 0 判断订单是否为空 MyList Visible false MyError Text 您没有订单记录 单击查询按钮可以查看具体某条订单的细节 如图 5 23 所示执行结果 图 5 23 客户订单细节浏览 5 4 25 4 2 管理员订单管理管理员订单管理 订单管理的执行流程如图 5 24 所示 图 5 25 的执行结果图为管理员显示了全部客 户已经提交的订单 改页面提供了浏览订单详细内容及订单处理的功能 30 查看第一条订单 开始 处理订单 查看该订单细节 该订单是否 需处理 查看下一条订单 结束 是否为最后 一条订单 是 是 否 否 图 5 24 订单管理的执行流程 31 图 5 25 管理员订单浏览 客户订单显示的功能在函数 Bind 中实现 其代码如下所示 该点代码保存在 ManageOrder aspx cs 文件中 void Bind try 实例化 Orders 对象 Orders orders new Orders DataSet ds orders GetAllOrder 定义 DataSet 对象 this Datagrid1 DataSource ds Tables 0 DefaultView 设置数据源 this Datagrid1 DataBind 数据绑定 this Message Text 您共有 ds Tables 0 Rows Count ToString 条订 单 提示订单条数 catch this Message Text 发生错误 提示失败 通过调用 Orders 类的 GetAllOrder 方法获得全部订单信息 并在列表中显示 5 55 5 后台管理模块后台管理模块 后台管理模块包含查询用户信息和查询销售信息 可以通过查询用户信息来增加管 理员 通过查询销售信息从总体上了解图书销售数量及金额 32 图 5 26 Admin 类中主要函数图 5 5 15 5 1 查询用户信息查询用户信息 查询用户信息的执行流程如图 5 27 所示 图 5 28 为管理员提供了用户列表显示及角 色管理的功能 角色管理的功能由函数 GridUsers UpdateCommand 实现 开始 显示用户列表 角色修改 保存 是否需修改 结束 是 否 图 5 27 查询用户信息的执行流程 图 5 28 用户管理 GridUsers UpdateCommand 函数代码如下所示 该段代码保存在 ManageUser aspx cs 33 文件中 void GridUsers UpdateCommand object source System Web UI WebControls DataGridCommandEventArgs e string role TextBox e Item FindControl Role Text Trim 得到用户角色 获取要更改的用户的 UserId int userId Convert ToInt32 GridUsers DataKeys e Item ItemIndex AdminDB admin new AdminDB 创建 admindb 对象 admin UpdateUserRole role userId ToString 改变用户角色 GridUsers EditItemIndex 1 退出编辑状态 BindGrid 绑定 5 5 25 5 2 查询销售情况查询销售情况 查询销售情况的执行流程如图 5 29 所示 图 5 30 所显示的查询销售情况页面为管 理员提供了按月 日查询图书销售种类 数量 金额的功能 开始 填写时间 是 否 图示结果为空 显示查询数据 所查信息 是否为空 结束 是否 继续查询 是 否 图 5 29 查询销售情况的执行流程 34 图 5 30 查询销售情况 该功能主要由函数 BindGrid实现 相关代码保存在ManageSales aspx cs文件中 35 6 6 系统测试系统测试 6 16 1 单元测设单元测设 测试一 在一般用户登陆时 用户名或密码有一项为空或者填写错误 系统是否出现 预先设定的操作提示 具体操作 用户名 密码 任意一项为空或者填写有误 结果 都出现相应的错误原因的信息提示 结论 要求用户必须填写正确的用户名和密码 才能进入管理页面 测试二 管理员删除一注册用户后 并让其登陆 看是否登陆成功 具体操作 管理员删除一会员表中的用户后 该用户在前台登陆 结果 该用户无法登陆 结论 用户数据删除功能正常 测试三 管理员删除一图书的信息 在前台按关键字查询 看是否能找到对应的信息 具体操作 在图书管理页面中的图书查看与修改页面中删除一图书的信息

温馨提示

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

最新文档

评论

0/150

提交评论