粮食市场竞价交易电子
商务系统开发
摘 要
进入 21 世纪,电子商务凭借互联网的支持迅速发展并逐渐成熟。其中,网上竞
价交易已经成为农业电子商务的重要组成部分,也是近年来研究的热点。随着电子商
务的快速发展,传统的 Web 应用开发技术暴露出许多不足之处,造成了 Web 应用开
发的效率降低、成本上升、扩充与维护困难、分工合作不好进行等问题,限制了互联
网的发展。针对以上不足之处寻求解决方案,建立一个功能完善的网上竞价交易系统。
本课题的主要目的是为粮食交易双方搭建了一个灵活自由并且安全可靠的交易
平台。粮食市场竞价交易电子商务系统是农产品在线竞价交易系统,用信息发布和配
送等采用电子化手段取代传统方式,通过网络及时将粮食信息反映给政府管理部门,
在突发事件来临时起到预警作用。网上竞价交易是新兴起的一种网上交易方式。它具
有成本低廉,方式灵活,运行快捷等特点。随着技术的进步和市场竞争的加剧,粮食
交易市场的运作愈来愈依赖于采用计算机互联网技术、数据库技术、网络安全技术等
现代信息技术组建的为粮食竞价交易活动提供服务的信息平台――粮食市场网上竞
价交易系统。
结合目前软件工程、WEB 技术、数据库等先进技术,应用 Microsoft Visio 进行
软件建模。以.NET 为开发平台,用 Visual 开发环境,利用 Microsoft 公司
提供的 、C#编程语言、SQL SERVER 2000 数据库实现农产品在线展示、会
员自助注册,供应商发布竞价信息,竞价购买、一口价购买、购物车的实现、留言板
以及订单管理等功能。把所有模块在.NET 中将系统进行整合,最后经过性能和功能
测试成功后,完成整个粮食竞价交易电子商务系统的设计与开发。
关键词:电子商务;竞价交易系统;粮食交易
Abstract
After entering the 21st century, E-commerce develop rapidly and maturity by virtue
of the Internet. The online auction becomes an important component of E-commerce
transactions, which is also the research hotspot in recent years. With E-commerce
applications developing rapidly, the traditional Web applications development technology
have exposed many inadequacies, which result in efficient reducing, cost increasing, and
the expansion and maintenance difficulties, not to carry out such issues as division of labor
of Web application development also limiting the development of the Internet. Owing to
the inadequacies of the above we need to find a solution to build a fully functional for
online auction trading system.
The main purpose of the subject is to set up a free, safe, reliable and flexible trading
platform for the both sides of the food trade. The grain market trading E-commerce system
is for agricultural products auction trading systems. It can publish the new information of
grain auction trading by means of electronic to replace the traditional way; can also reflect
the food information to the government administration section through the network in time,
which will play a role of the early warning before some unexpected events happen. Online
auction transaction is the emergence of a new way of agriculture online transactions. It is
low-cost, flexible and quick to run and so on. With the development of technology and
market competition, the operation of the food market is more and more dependent on the
use of Internet technology, database technology, network security technologies, such as the
formation of modern information technology for the food auction trading platform to
provide services-- The grain market online auction trading system.
With the current software engineering, WEB technology, databases, and other fields of
advanced technology, Microsoft Visio application software modeling, using the. NET
platform for the development, under Visual development environment, use the
Microsoft Corporation to provide , C # programming language, SQL SERVER
2000 database to achieve primary products display, online sales, a registered member
self-service, bidding management module, the shopping cart, news and message board,
orders management and other functions. All the modules in system will be
integrated, after the final performance and functional test is successful, the completion of
the entire e-commerce systems design and development.
Keywords: E-commerce; Auction Trading System; Grain Trading
目 录
第 1 章 前言..........................................................................................................................2
课题的研究背景及现状..........................................................................................2
课题的提出及意义................................................................................................3
课题的提出..................................................................................................3
课题的意义..................................................................................................4
课题的研究内容及重点........................................................................................5
系统的研究思路与方法........................................................................................5
第 2 章 课题相关业务与技术介绍....................................................................................7
业务介绍................................................................................................................7
电子商务的简介及发展..............................................................................7
网上竞价交易简介......................................................................................7
技术知识................................................................................................................8
应用框架的开发思想..................................................................................8
技术............................................................................................8
第 3 章 系统分析..............................................................................................................11
系统需求分析........................................................................................................11
识别角色与用例..................................................................................................11
识别角色与用例..........................................................................................11
系统用户活动图分析...................................................................................14
系统总体规划及功能需求....................................................................................14
非功能性需求......................................................................................................17
第 4 章 系统设计与实现..................................................................................................19
设计思想及总体方案..........................................................................................19
基于 技术的三层结构模型....................................................19
访问数据库的原理 ...............................................................20
系统总体方案设计..................................................................................21
主要功能结构设计..............................................................................................22
系统前台功能结构设计............................................................................22
系统后台功能结构设计............................................................................27
主要功能模块的设计与实现..............................................................................29
粮食竞价交易前台模块............................................................................29
系统后台功能模块....................................................................................35
第 5 章 重点难点解决方案..............................................................................................40
系统权限控制和数据安全..................................................................................40
权限控制和数据安全................................................................................40
数据备份和恢复........................................................................................42
购物车的实现....................................................................................................44
第 6 章 总结......................................................................................................................46
参考文献..............................................................................................................................47
致 谢..................................................................................................................................48
附录 外文资料翻译..........................................................................................................49
Introduction of ..............................................................................................49
介绍..............................................................................................................53
第 1 章 前言
近来,因特网已经进入了商业领域,网络就成为了新的商业环境。随着因特网技
术的飞速发展,电子商务越来越趋于成熟并渗透到商业团体的各个领域,网上商务在
技术上已经相当成熟,而且实用性非常强,市场潜力巨大。随着网上交易不断增多的
趋势和客户的需求量的增大,它对粮食企业发展带来的巨大作用和商机正在日益显示。
农业是我国的传统弱质产业,历来存在着生产经营分散,产品竞争力不强,流通环
节多,交易成本高,标准化程度低等问题。网络开始改变现有的粮食交易市场,逐渐产
生了农产品网上销售、在线竞价交易等农业电子商务新型业态和流通方式。
因此,建立一个跨区域的粮食市场竞价交易电子商务系统也就成为重中之重。本
课题要研究的就是结合先进的电子商务理念,通过对 技术分析、设计与实
现一个小型粮食市场竞价交易电子商务系统。
课题的研究背景及现状
近年来我国电子商务发展非常迅速,在加人 WTO 后,市场更加开放,将成为电
子商务在全球发展最快、潜力最大的地区之一。电子商务是信息时代商务模式的实质
性变革, 是未来贸易方式的发展方向。其实施是一个与社会大环境息息相关并独具完
整结构体系的系统工程。
电子商务是利用电子信息技术进行商务活动的一种先进手段,它对粮食企业发展
带来的巨大作用和商机正在日益显示。企业对企业(B2B)方式的电子商务,是当前
电子商务的重点,粮食行业 B2B 方式的电子商务系统的设计手段与实现方法,可为
供需双方建立可靠的交易平台,为促进粮食企业生产经营服务。农业电子商务突破了
传统的空间限制,电子商务可以提供 24 小时的全天候营业时间,可以将地理范围分
散的、少量的、单独的农产品交易规模化,另外通过网络交互式的销售方式,利用电
子商务手段及时获取市场行情,可以使其降低成本,提高经济效益。
粮食竞价交易电子商务系统作为跨区域粮食竞价交易系统的对外服务窗口,为客
户提供远程竞价交易服务,及时发布交易信息,向所有访问者提供竞价交易实时行情
报道。可以做到常年常时公开竞价销售,实现了网上挂牌销售,大大方便了客户,降
低了交易成本,增加了交易的透明度,体现了公开、公正、公平的原则,促进了全国
统一的粮食市场的发育和发展。
课题的提出及意义
课题的提出
当今社会,随着互联网的快速发展,信息的传播速度和范围越来越大,网络技术
使各个行业环境都发生了很大的变化。进入 21 世纪后,电子商务凭借互联网的支持迅
速发展并逐渐成熟。其中, 粮食网上竞价交易已经成为农业电子商务的重要组成部分,
也是近年来研究的热点。
随着我国农业经济的迅速发展,中国成为全球农业大国,农副产品(水果、蔬菜、
粮食、棉花等)批发市场仍采用相对落后的对手交易方式,特别是我国加入 WTO 后同
世界经济的全面接轨,农副产品批发市场交易方式的创新已不可避免,网上竞价交易成
为我国农副产品交易方式的必然选择,也是市场经济发展的必然趋势。
网上竞价交易是新兴起的一种网上交易方式。它具有成本低廉,方式灵活,运行
快捷等特点。随着技术的进步和市场竞争的加剧,粮食交易市场的运作愈来愈依赖于
采用计算机互联网技术、数据库技术、网络安全技术等现代信息技术组建的为粮食竞
价交易活动提供服务的信息平台――粮食市场网上竞价交易系统。
随着电子商务、电子政务等应用的快速发展,传统的 Web 应用开发技术暴露出
许多不足之处,造成了 Web 应用开发的效率降低、成本上升、扩充与维护困难、分
工合作不好进行等问题,限制了互联网的发展。针对以上不足之处寻求解决方案,建
立一个功能完善的网上竞价交易系统。
课题的意义
网上竞价交易是新兴起的一种网上交易方式。它具有成本低廉,方式灵活,运行
快捷等特点。本系统的主要目的是为粮食交易双方搭建了一个灵活自由并且安全可靠
的交易平台。粮食市场竞价交易电子商务系统可以实现农产品(粮油)在线销售和竞
价交易,采用网上发布竞价信息和在线竞价拍卖等电子化手段取代传统方式,此外还
可以通过网络及时将粮食信息反映给政府管理部门,在突发事件来临时起到预警作用。
该系统的应用价值在于:
粮食价格信息公开化,发布竞价信息便捷及时,操作简单,灵活方便。
加速粮食的交易速度,降低成本,减少人力资源的浪费。
利用网络快捷、跨地域优势进行信息传递,改变交易模式,不受地理位置限
制,尤其是异地交易。目前我国的粮食交易方式还是采用传统的手工操作方式,买卖
双方都到交易现场,由交易市场统一组织秩序,按照交易规则,举牌进行粮食拍卖、
竞价交易。这种交易方式手续繁琐、受时间和空间的限制。
提升市场份额和经济效益。粮食网上竞价交易突破了传统的空间限制,可以
提供 24 小时的全天候营业时间,使其有更多的机会将产品销售到更远的地方,同时
农业电子商务可以将地理范围分散的,少量的、单独的农产品交易规模化,另外,交
互式的销售方式,使其能够及时得到市场反馈,改进本身的工作,提供个性化服务,
建立稳定的顾客群,从而提升市场份额,获得更多的经济效益。
通过网络及时将粮食供求信息反映给政府管理部门,在突发事件来临时起到
预警作用。
小规模的粮食竞价交易系统可以促进全国粮食竞价交易平台的建设,将有关
粮油批发市场一起连接起来,大大提高粮食行业的电子商务应用水平,规范粮食交易
行为,促进全国统一的粮食市场的发育和发展。
粮食电子竞价交易系统最终要实现国内重要产销区省级粮食批发市场,构建
了全国粮食统一电子竞价交易系统平台,可加强粮食市场的宏观调控、做好政策性粮
油销售工作。对国家政策性粮食进行常年常时集中竞价销售,促进粮食市场的平稳供
应,有效防止粮价的大幅波动。全国粮食统一电子竞价交易系统平台竞价交易活动顺
利、有序进行,其交易频次及成交量在国际、国内同行业中无可比拟,对加强粮食宏
观调控、维护粮食市场价格的基本稳定,保护种粮农民利益,保障国家粮食安全,推
动我国粮食市场体系的发育和成长发挥了十分重要的作用。
课题的研究内容及重点
粮食市场网上竞价交易的兴起是农业电子快速商务发展的一个反映,本系统基于
各地粮食交易中心网络系统,发布各地的最新粮食信息,为粮食企业提供一个便捷可
靠交易平台。本系统以 B/S 三层体系结构作为基本架构,使用 和数据库
技术开发的一套功能较为齐全的适合于小规模网上竞价交易体系,为粮食交易双方搭
建了一个灵活自由并且安全可靠的交易平台。
本系统主要实现了以下功能:
1、会员注册、登录,修改信息;2、产品展示,查看详情;3、一口价购买,购
物车管理;4、竞价管理;5、留言管理;6、商品管理等。
总的来说,系统主要由前台商品展示销售与后台管理两部分组成:
(1). 前台商品展示及销售:该部分主要包括新品上架、推荐商品、一口价购买、
购物车、竞价购买,会员管理、留言管理及订单查询等。
(2). 后台管理:该部分主要包括商品管理、会员管理、竞价管理、订单管理、留
言管理和数据库备份与还原等。
几个功能模块简要说明如下:
会员管理:负责系统的所有会员包括用户信息的维护与管理。
销售管理:负责产品的一口价销售,包括购物车,订单管理等的实现。
竞价管理:管理竞价商品成交管理。
商品管理:对商品信息进行添加,修改和删除。
留言管理:主要包括留言板,公告信息等。
数据库备份与还原:对数据进行及时备份以便数据遭到破坏时进行还原。
粮食市场竞价交易电子商务系统的研究重点有以下几点:
1.如何改进现有的较为传统的竞价交易的基本业务流程,并将其运用到网络当中。
2.如何利用最先进的 , 技术,使它们与在线竞价交易相结合。
3.如何保证双方身份的真实性,尽可能的减少欺诈,降低交易风险。
4.如何获取准确的粮食供求信息,通过网络及时将粮食信息反映给政府管理部门,
在突发事件来临时起到预警作用。
系统的研究思路与方法
1. 研究思路与方法
结合目前软件工程技术、数据库等领域的先进技术,应用 Power Designer 的 UML
建模工具进行软件建模。以 为系统开发平台,用 Microsoft Visual Studio
2005 开发环境,利用 Microsoft 公司提供的 (C#编程语言)、SQL Server 2000
数据库实现会员管理、发布竞价信息、留言管理、竞价管理、一口价购买、订单管理
以及数据备份与还原等功能模块。
2. 系统开发环境
(1) 软件需求:
开发平台:Visual Studio2005
数据库系统:Microsoft SQL Server 2000 标准版
系统分析工具:Microsoft Office Visio2003,
开发环境:Microsoft XP Professional 简体中文版
(2).硬件需求:
服务器:CPU 以上,内存 2G,SCSI 硬盘 120G 以上,千兆网卡(推荐配置)
客户端:普通 PC 机,Windows 系列操作系统
(3).网络环境需求:
带宽:20M 以上
第 2 章 课题相关业务与技术介绍
业务介绍
电子商务的简介及发展
电子商务(Electronic Commerce),是指实现整个贸易活动的电子化。从涵盖范
围方面可以定义为:交易各方以电子交易方式而不是通过当面交换或直接面谈方式进
行的任何形式的商业交易。这一概念也用于通过计算机网络寻找信息以支持决策。一
般地讲,今天的电子商务通过计算机网络将买方和卖方的信息、产品和服务联系起来,
而未来的电子商务则通过构成信息高速公路的无数计算机网络中的一条将买方和卖
方联系起来。
电子商务可以分为企业(Business)对终端客户(Customer)的电子商务(即 B2C)
和企业对企业的电子商务(B2B)两种主要模式。B2C 是通过电子化、信息化的手段,
尤其是互联网技术把本企业或其它企业提供的产品和服务不经任何渠道,直接传递给
消费者的新型商务模式。电子商务 B2B 的内涵是企业通过内部信息系统平台和外部
网站将面向上游的供应商的采购业务和下游代理商的销售业务都有机地联系在一起,
从而降低彼此之间的交易成本,提高满意度。
中国发展电子商务的环境(网络基础建设等运行环境、法律环境、市场环境、网
上支付、信息安全、认证中心建设等条件)逐步完善已为电子商务的发展建立了基本
的条件。我国电子商务经历四阶段:
1990-1993 开展 EDI 应用起步阶段
1993-1997 开展“三金工程”阶段
1998-2000 进入互联网电子商务发展阶段,探索阶段
2001-2004 进入了理性务实发展阶段
2005-至今 进入了健康快速发展阶段中国电子商务的环境继续改善
网上竞价交易简介
网上竞价系统是在传统拍卖交易及竞标交易的基础上,利用计算机网络技术在互
联网上实现快速简洁的竞价交易的新型电子商务模式。网上竞价系统依托互联网和计
算机技术,竞买人通过计算机终端,以匿名形式,实现对拍卖商品的竞价采购,采用
网上竞价拍卖系统可进一步规范商品交易竞价行为,防止和预防竞价过程中的暗箱操
作,充分体现公开、公平、公正的原则,目前电子竞价拍卖系统已成为一种重要的商
品交易形式。它在企业与客户或供应商之间架起了一座安全、透明、互利的桥梁,既
节省了企业在营销及采购过程中浪费的大量费用又加快了企业运营运作,是新时期最
值得推广的电子商务交易模式之一。网上竞价系统主要用于产权交易、汽车拍卖、粮
油交易等领域。
粮食竞价交易系统除提供多市场联网交易服务外,还具有强大的远程交易功能,
作为跨区域粮食竞价交易系统的对外服务窗口,为客户提供远程竞价交易服务,及时
发布交易信息,向所有访问者提供竞价交易实时行情报道。
目前,全国各地网上粮食竞价交易系统已做到了常年常时公开竞价销售,实现了
网上挂牌销售,大大方便了客户,降低了交易成本,增加了交易的透明度,体现了公
开、公正、公平的原则,促进了全国统一的粮食市场的发育和发展。
技术知识
应用框架的开发思想
框架(framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实
例间交互的方法;是可被应用开发者定制的应用骨架。一个框架是一个可复用的设计
构件,它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任
分配和控制流程,表现为一组抽象类以及其实例之间协作的方法,它为构件复用提供
了上下文(Context)关系。
应用框架是实现了某种应用领域通用完备功能(除去特殊应用的部分)的底层服
务,使用这种框架的编程人员可以在一个通用功能已经实现的基础上开始具体的系统
开发。应用框架强调的是软件的设计重用性和系统的可扩充性,以缩短大型应用软件
系统的开发周期,提高开发质量。
应用框架的好处:模块化,开发活动隔离,让擅长该部分的开发者来完成; 可
重用性,大幅提高开发效率和质量;可扩展性,为了应对需求的变化;简单性,封装
处理流程的控制逻辑,使它对开发者透明,简化开发工作;可维护性,框架也可能包
含多个层,每一层关于应用要支持的业务都有某些假设,层次越往上其组件依赖的业
务假设越多,也对业务需求和业务规则的变化越敏感,让框架的不同层包含不同级别
的业务知识,能够减少因改变业务需求和业务规则所带来的连锁反应。
技术
ASP.NET 是微软新推出动态网页制作技术,它将 HTMI 代码和 ASP.NET 代
码分离,用 HTML 仅向用户提供操作,解决了代码重用,而且使代码变得清晰易懂,
执行效率也大大提高。
ASP.NET 主要由服务器端控件、服务器端事件处理、多种语言支持、Web 服
务、会话状态管理、高速缓存机制等几部分组成。由于它的服务器端组件屏蔽了一切
与网络有关的概念细节.ASP.NET 是完全基于对象的,每个对象都有自己的属性、
方法和事件。开发人员只要选用相应的控件并调整其属性,就可以建立业务解决方案。
这种结构为 Web 应用的开发提供了一种面向对象的方法,使得 Web 应用的开发和普
通单机应用一样方便,更加简单、灵活。另外,ASP.NET 页面实际上仅仅是一个文
本文件,它以扩展标记语言 XML 作为其数据格式,以简单对象访问协议 SOAP 作为
其协议.当用户用浏览器访问这个页面时,NGWS 将分析编译这个文件,生成一个
NGWS 类的二进制文件(中间代码)。ASP.NET 结构是一个三层系统:UI 层、业务
逻辑层和数据层。UI 层负责与用户交互,接收用户的输入并将服务器端传来的数据
呈现给客户。业务逻辑层负责接收浏览器传来的请求并将请求传给数据层,同时将请
求处理结果发给浏览器。它由 Web 表单、XML Web 服务和组件服务组成 其中 Web
表单是 ASP.NET 应用程序的核心所在,它是向客户呈现数据和信息的基础。也是
响应和处理客户与显示的 Web 表单交互生成的信息和数据的基础。数据层是通过
ADO.NET 操纵数据为事务逻辑层提供数据服务,如存储数据操作结果、返回数据
检索结果等。
在 基 础 上 加 入 了 许 多 新 的 功 能 和 控 件 , 通 过
Provider 模式为用户验证、角色管理等方面提供了非常强大易用的框架模型,支持泛
型,实现了微软的 Ajax(原来叫 Atlas)与 无缝集成,采用最先
进的技术以及创新意识提高了 WEB 应用程序的价值,最大程度满足了客户及最终用
户的需求。
技术的新特征:
1.共享代码。和普遍的页面一样,任意的代码文件也可以动态的编译。
引入了 App-Code 目录,可以被所有的页面引用。 在 中,这些文件
都必须编译并放在 Bin 目录下。
2.使用新控件“MasterPage”,实现网站中界面风格的统一。
3.使用“SqlCacheDependency”实现数据库缓存同步更新功能,是数据库缓存与数
据库实际内容的同步,突破了一个技术难题。
4.使用最新的 Profile 类,保存用户的个人配置信息。
5.数据表示层多了 GridView 控件,这和 DataGrid 有些类似。
6.数据连接有了更多的选择。 对于小型应用可以使用 SqlDataSource 控件建立数
据连接, 更大型的应用则使用 ObjectDataSource 控件。
7.层次型数据 提供了 XmlDataSource 和 SiteMapDataSource 数据源控
件, UI 层同样增加了 TreeView 和 Menu 控件。
8. 表 单 验 证 方 面 提 供 了 ValidateEmptyText , Validation Groups ,
SetFocusOnError, 这些为我们带来了极大的方便。
第 3 章 系统分析
需求分析是从用户角度和开发者角度来阐述需求,是信息系统开发的第一步也是
最重要的一步。系统分析是系统设计与实施的出发点,对本课题而言,系统分析就是
明确:电子商务竞价交易过程中具体发生哪些行为,有些什么特征或属性。
系统需求分析
如何实现农业的电子商务,如何把粮食竞价交易业务建在 Internet 上,涉及到建
立电子商务网站、开发符合 Internet 特点的有效的业务应用、管理网上交易信息、保
证网上数据安全、快速反映市场变化以及充分满足 Internet 业务进一步发展的要求等。
在线竞价系统是对外展示粮食交易信息、从事农产品交易活动的窗口和界面。如何设
计、建立一个经济、实用、安全、高效、稳定的在线竞价交易网站是值得考虑的问题。
通过对一些典型电子商务竞价网站的考察、分析,本系统主要实现以下功能:
(1) 统一友好的操作界面,能保证系统的易用性。
(2) 规范、完善的产品信息显示。
(3) 可按产品大类进行查看粮食销售信息。
(4) 实现一口价购买,购物车,下订单。
(5) 新品及推荐商品的展示。
(6) 竞价管理,查看竞价结果。
(7) 通过留言板模块实现高质量的客户服务。
(8) 系统运行高效,程序流程清晰。
识别角色与用例
识别角色与用例
1. 确定系统范围和边界
粮食竞价交易电子商务系统用于粮食交易企业在线交易活动的平台,是农业电子
商务的重要形式之一。在线竞价交易活动的范围很广,这里只是针对粮食产品的销售。
2. 识别参与者
通过对系统需求的分析,可以确定系统中有三个参与者:粮食供应商、采购商、
管理员。
参与者的描述如下:
●粮食供应商:主要负责粮食供应工作,竞价信息的发布,是粮食竞价交易系统
的主要参与者之一。
●采购商:是系统的最主要用户,注册后可以进行一口价购买或参与竞价购买。
●管理员:是系统的维护者,可以发布商品,进行会员管理,留言管理,竞价管
理,订单管理等。
3. 识别用例
前面已经识别出了参与者,通过对需求的进一步分析,可以确定系统中有如下用
例存在:
●会员管理
●商品管理
●留言管理
●竞价管理
●购物车管理
●订单管理
4. 系统用例图
根据分析,得到系统总体用例图如图 3-1:
图 3-1 粮食竞价交易系统总体用例图
采购商会员
竞价管理
商品管理
订单管理
修改会员信息
竞价信息
查看商品信息
会员审核
管理员
会员管理
留言管理
供应商会员
用户留言
会员注册登录
订单信息
添加删除商品
根据分析,得到后台系统管理用例图如图 3-2:
图 3-2 系统管理用例图
后台管理员
商品管理
留言管理
订单管理
用户管理
备份数据
竞价管理
恢复数据
系统用户活动图分析
图 3-3 系统用户活动图
系统总体规划及功能需求
本课题就是利用 技术和先进的信息化理念,着力为粮食交易企业打造
通用性强,方便实用的电子商务竞价交易网站。
通过对其他一些竞价交易网站的调查,我们发现,一般包括如下功能:
产品展示、查看详情,一口价购买,购物车管理,竞价管理,会员注册、登录,
修改信息,留言管理,商品管理及订单管理等。
普通用户 采购商会员 供应商会员 管理员
[否]
[是]
进入系统
是否注册 注册会员
登录系统
浏览商品 一口价购买
竞价成功
交易成功
竞价购买
下订单
发布竞价信息
修改订单信息
会员管理
总的来说,系统主要由前台商品展示、一口价及竞价销售与后台管理两部分组成:
(1). 前台商品展示及销售:该部分主要包括最新商品、推荐商品、一口价购买、
购物车、竞价购买,会员管理、留言管理及订单查询等。
(2). 后台管理:该部分主要包括产品信息管理、会员管理、竞价管理、订单管理、
新闻管理、留言管理等。
几个主要功能模块简要说明如下:
会员管理:用户注册,登录,会员信息修改,管理员审核会员及系统用户管理。
销售管理:负责粮食商品的在线销售,包括购物车,订单管理等的实现。
竞价管理:管理竞价商品成交管理。
商品管理:管理销售产品录入和修改。
留言管理:主要包括留言板,公告信息等。
网站前台功能模块结构图如图 3-4 所示:
图 3-4 前台功能模块结构图
粮食竞价交易电子商务系统前台
商品展示 商品查询 购物车 会员管理
新
品
展
示
推
荐
商
品
按
类
别
查
询
关
键
字
查
询
放
入
购
物
车
删
除
购
物
车
查
看
购
物
车
会
员
注
册
会
员
登
录
商品竞价 留言板
订单管理
订
单
查
询
订
单
执
行
本网站后台功能模块结构图如图 3-5 所示:
图 3-5 后台功能结构图
通过系统需求分析,系统结构设计,构建系统框架,完成了会员管理、留言管理、
商品管理、竞价管理和购物车等功能模块的设计与实现,最终实现系统原型。
-
图 3-6 系统总功能结构图
粮食竞价交易EC系统
留
言
管
理
一
口
价
购
买
商
品
管
理
竞
价
管
理
系
统
管
理
用
户
管
理
粮食竞价交易电子商务系统后台
订单管理 会员管理 商品管理 新闻管理
订
单
查
看
订
单
管
理
用
户
审
核
用
户
添
加
修
改
商
品
添
加
商
品
删
除
库
存
管
理
新
闻
录
入
新
闻
查
询
留言版管理 竞价管理
6 个功能模块简要说明如下:
会员管理:一般注册用户只能浏览信息,查看留言,一口价购买等;通过审核成
为会员后可以进行竞价交易,发布竞价信息等高级功能。
留言管理:对用户留言信息进行浏览、回复和删除。
商品管理:添加商品,修改和删除等操作。
一口价购买:此功能使用户能够即时购买商品,下订单。
竞价管理:用户参与竞价,根据会员出价记录,出价高者即可以中标。
系统管理:对系统用户包括用户进行修改、删除和数据库备份与还原。
非功能性需求
1.可用性要求
系统要以满足粮食竞价交易的业务需求为首要目标,要保证系统的实用性和经济
的可行性。计算机系统、通讯网络系统、数据设计,在技术上必须是成熟的,实践检
验上是成功的,经济上是可能实现的。系统要保证可扩充性、可维护性。系统软硬件
都应留有扩充升级的接口;系统要便于维护,系统对用户的需求发展有较强的适应能
力。
2.可靠性要求
系统必须运行良好、安全性高。从系统的组成要素而言,可靠性是系统成功的基
础。
3.先进性要求
系统尽可能跟踪国内外先进的计算机软硬件技术、信息技术及网络通信技术,使
系统具有较高的性能价格比。采用先进的体系结构和技术发展的主流产品,保证整个
系统高效运行。
4.标准性要求
系统采用统一的信息数据项、信息分类编码标准、数据及文件格式、网络通讯规
格、通讯接口。计算机硬件及软件都要遵守有关国家标准、专业标准、软件文档规范。
系统与企业现有信息系统共用相同的标准信息、各系统的专用信息必须遵循相同
的编码规则和标准,以保证系统今后顺利融入企业的整个信息系统当中。
5.安全性及保密性要求
系统是一个紧密联系的中枢系统,因此必须保证信息的安全,有较好的数据安全
措施,有较强的数据备份和系统恢复功能。要充分考虑数据的保密措施,各种数据必
须受到严格控制,防止非正常渠道的提取、修改。管理系统的数据库必须分层次和级
别、保证数据库在各种级别保密程度上的查询访问,防止信息被任意查询和破坏,对
各种各样的计算机病毒,系统都应具有高度的免疫力。
(1)数据安全
用户密码采用 MD5 方法加密,保证用户信息安全。数据库可以进行备份还原。
(2)网络安全
系统采用 B/S 运行模式,数据安全性较好,为了绝对安全,在数据的保密上要有
所防范。
6.人机结合要求
粮食竞价交易系统要便于用户操作,友好的人机界面是系统设计的重要原则之一。
为使系统保持统一性,整个系统各个子部分的风格一致,易于操作。
7.系统网络结构及特点
进行粮食竞价交易系统网络布局特点:
(1)系统网络架构采用基于微软局域网架构;
(2)各部门计算机连接到中央服务器,所有数据都是动态实时更新;
(3)充分利用现有网络资源;
(4)最简单,最安全,最方便的接入方式。
第 4 章 系统设计与实现
设计思想及总体方案
基于 技术的三层结构模型
结构是一个三层系统:UI 层、业务逻辑层和数据层。UI 层负责与用户
交互,接收用户的输入并将服务器端传来的数据呈现给客户。业务逻辑层负责接收浏
览器传来的请求并将请求传给数据层,同时将请求处理结果发给浏览器。它由 Web
表单、XML Web 服务和组件服务组成。其中 Web 表单是 应用程序的核心
所在,它是向客户呈现数据和信息的基础,也是响应和处理客户与显示的 Web 表单
交互生成的信息和数据的基础。数据层是通过 操纵数据为事务逻辑层提供
数据服务,如存储数据操作结果、返回数据检索结果等。
包通常所需要处理的是要么是一个具体的功能区域(业务逻辑),要么是一个具
体的技术区域(技术逻辑)。业务逻辑主要考虑的是对系统业务功能的实现,而技术
逻辑则是进一步考虑用户界面、数据库或通信机制等形成的技术方案。把技术逻辑和
业务逻辑区分开来是极其重要的,这是为了当修改程序的某一部分时不会对另一部分
产生影响,更加便于进行“复用”,同时易于应对来自业务逻辑的变更需求。
三层结构是一种成熟、简单并得到普遍应用的应用程序架构,它将应用程序结构
划分三层独立的包,包括用户表示层、业务逻辑层、数据访问层。其中将实现人机界
面的所有表单和组件放在表示层,将所有业务规则和逻辑的实现封装在负责业务逻辑
组件中,将所有和数据库的交互封装在数据访问组件中。
结构是一个三层的系统, 的这三层分为:表示层(UI)、应用
逻辑层和数据层,其结构模型如图 4-1 所示。
客
户
端
浏
览
器
UI层
数
据
库
Web
表单
XML
Web服务
组件服务
应用逻辑层
SOAP
二进
制
XML
数据层
图 4-1 系统结构模型
(1)UI 层
负责与用户交互,接收用户的输入并将服务器端传来的数据呈现给用户。
(2)应用逻辑层
负责接收浏览器传来的请求并将请求传给数据层,同时将请求处理结果发送给
浏览器。它由 Web 表单、XML 服务和组件服务组成,其中 Web 表单是
应用程序所在,它是向用户呈现数据和信息的基础,也是响应和处理用户与显示
的 Web 表单交互生成的信息和数据的基础。
(3)数据访问层
通过 数据库接口操纵数据为业务逻辑层提供数据服务,如存储数据操
作结果,返回数据检索结果等。
通常, 页面可以简单地看成一般的 HTML 页面,页面上包含标记特殊
功能的一些代码,当安装.NET 时,本地的 IIS Web 服务器会自动配置以查找扩展名
为.aspx 的文件,用 模块(名为 的文件)处理这些文件。
模块分析 ASPX 文件的内容,并将文件内容分解成单独的命令已建立
代码的整体结构。当完成此工作后, 模块将各命令放置到预定义的类定义
中(不需要放在一起也不需要按编写顺序放置),然后使用这个类定义一个特殊的
对象 page。该对象要完成的任务之一就是生成 HTML 流,这些 HTML 流可
以返回到 IIS,再从 IIS 返回到用户。简言之,在用户请求 IIS 服务器提供一个页面时,
IIS 服务器就根据页面上的文本、HTML 和代码建立该页面。
访问数据库的原理
与数据库相连, 提供了如下 3 种方式:通过 ODBC 相连;通过 OLEDB
相连;直接与 SQL Server 相连。3 种方式由于应用层次的差异,使得效率由低到高,
独立性由高到低。对于相连数据库的数据处理,也有 2 种方式,即一种是通过 DataSet
来隔离异构的数据源,另一种是以流方式从数据源读取(DataReader 方式)。
传统的应用程序是通过先建立到数据库的连接,在程序的整个运行过程中维护连
接的方式来设计的。 采取了断开连接方式的数据结构。当浏览器向 Web 服
务器请求网页时,服务器处理这个请求,并将所请求的网页发送给浏览器,然后连接
就被断开,直到浏览器发出下一个请求。
的另一个创新是引入了数据集(Dataset)。一个数据集是内存中提供数
据关系图的高速缓冲区。数据集对数据源一无所知,它们可以由程序或通过从数据仓
库中调入数据而被生成、填充。不论数据从何处获取,数据集都是通过使用同样的程
序模板而被操作的,并且它使用相同的潜在的数据缓冲区。
系统总体方案设计
前面已经介绍了“三层架构”,本课题的系统实现就是采用这种架构。
我们将解决方案的组件分割到不同的层中。每一层中的组件应保持内聚性,并且
应大致在同一抽象级别。每一层都与它下面的各层保持松散耦合。从最低级别的抽象
开始称为第 1 层。这是系统的基础。通过将第 J 层放置在第 J-1 层的上面逐步向上完
成抽象阶梯,直到到达功能的最高级别称为第 N 层。客户端应用程序使用基于服务
器的应用程序提供一组服务。这些服务应用程序在最高层公开。因此,客户端只需与
最高层交互,而无需直接了解其他较低层。当然,三层或多层结构也可以直接操作较
低的层而不是仅仅操作下一级的层。
粮食竞价交易电子商务系统全面提供了计算机解决方案,该系统逻辑上是一个三
层 B/S 的数据库应用结构,根据系统功能的划分,结合三层 B/S 结构的 Web 数据库
系统分层结构,该系统的技术实现方案设计如下:
会
员
注
册
登
录
用
户
功
能
处
理
层
系统平台层
用
户
留
言
管
理
用
户
竞
价
购
买
商
品
信
息
管
理
订
单
信
息
管
理
系
统
权
限
管
理
前台用户功能界面 管理员功能界面用户接口层
用
户
一
口
价
购
买
应用系统开发平台:Microsoft Visual Studio 2005,C#,.NET Framework
数据库平台:SQL server 2000
数据库访问技术:ADO. NET
网络通信协议:HTTP,TCP/ I P,FTP
操作系统:Wi ndows XP
前台用户 后台用户
图 4-2 系统的技术实现方案
在本课题系统设计中,设计了 4 个项目库,分别对应 4 层。说明如下:
Model 项目库:实体规范层,用于定义系统中的各个抽象对象实体。
SQLServerDal 项目库:数据库访问层,提供对外部系统(如数据库)的访问。
MisBLL 项目库:中间业务规范层,以类库的形式封装系统需要处理的业务逻辑,
实现应用程序的业务功能。
Web 项目:表现层,即用户接口层,是系统与用户沟通的唯一途径,也是系统
功能的展现。
这样设计,有如下优点:
降低前端页面逻辑密度程度:分离代码的各个部分,可以共享代码。
减少代码重复:在 应用程序中,所有和数据处理相关的页面都用到相
同的操作数据库的方法,抽象出单独的数据层大大地降低了代码的复用率,同时也提
高了效率。
分离职责和问题:修改 页面所用的技巧不同于编写数据库访问代码所
使用的技巧。在项目开发中,这两部分的工作可以分开由不同人员来完成。通过分离
视图和模型,可以保证两部分工作同时进行。
优化的可能性:将职责分成特定的类可以提高进行优化的可能性。在某些情况下
对数据进行缓存,可以提高应用程序的总体性能。
可测试性:通过将模型与视图分离,开发人员可以在 环境以外测试业
务逻辑层。
主要功能结构设计
该系统采用流行的 B/S 模式,可以在 Windows 操作系统平台上运行,Web 服务
器为 IIS,数据库服务器为 Microsoft SQL Server2000,开发工具采用的 Microsoft
Visual Studio .NET 和 DreamWeaver。
系统前台功能结构设计
前台功能模块划分
系统前台主要包括用户管理、留言管理、商品管理、竞价管理、一口价管理和订
单管理,功能模块图见图 4-3:
图 4-3 粮食竞价交易系统前台功能图
类图的设计
通过上面的分析,结合系统用户实际竞价交易流程,发现前台管理部分主要涉及
到用户管理、留言管理、、竞价管理、一口价管理、查看订单信息和商品管理 6 个部
分,所以分别将这 6 个部分抽象为 6 个类。这些类的属性有主要有:用户编号,用户
名,商品编号,类别编号,竞价编号等。详细见图 4-4:
图 4-4 系统前台类图
FK_TB_BOOKI _REFERENCE_BUY
FK_TB_CLASS_REFERENCE_TB_BOOKI
FK_TB_ORDER_REFERENCE_BUY
FK_TB_ORDER_REFERENCE_TB_DETAI
FK_BUY_REFERENCE_TB_MEMBE
FK_TB_MEMBE_REFERENCE_TB_LEAVE
FK_TB_LEAVE_REFERENCE_TB_REPLY
FK_TB_I MAGE_REFERENCE_TB_CLASS
buy
i d
User Name
buyi d
buyname
booki d
bookname
aut hor
company
hot Pr i ce
pr i ce
quant i t y
st at e
yes
i nt
var char ( 50)
var char ( 50)
var char ( 50)
i nt
var char ( 50)
var char ( 50)
var char ( 50)
var char ( 20)
var char ( 20)
var char ( 50)
i nt
var char ( 50)
<pk>
<f k>
t b_Admi n
Admi nI D
Admi nName
Passwor d
Real Name
Emai l
LoadDat e
i nt
var char ( 50)
var char ( 50)
var char ( 50)
var char ( 50)
dat et i me
<pk>
t b_BookI nf o
BookI D
i d
Cl assI D
BookName
BookI nt r oduce
Aut hor
Company
BookUr l
Mar ket Pr i ce
Hot Pr i ce
quant i t y
uni t
pl ace
FDat e
LDat e
I sr ef i nement
I sHot
I sDi scount
LoadDat e
i nt
i nt
i nt
var char ( 50)
nt ext
var char ( 50)
var char ( 50)
var char ( 200)
f l oat
f l oat
i nt
var char ( 50)
var char ( 50)
var char ( 50)
var char ( 50)
i nt
i nt
bi t
dat et i me
<pk>
<f k>
t b_Cl ass
Cl assI D
BookI D
Cl assName
Cat egor yUr l
i nt
i nt
var char ( 50)
var char ( 50)
<pk>
<f k>
t b_Det ai l
Det ai l I D
BookI D
Num
Or der I D
Tot ai l Pr i ce
Remar k
i nt
i nt
i nt
i nt
f l oat
var char ( 200)
<pk>
t b_I mage
I mageI D
Cl assI D
I mageName
I mageUr l
i nt
i nt
var char ( 50)
var char ( 200)
<pk>
<f k>
t b_LeaveWor d
I D
Ui d
Subj ect
Cont ent
Dat eTi me
I P
i nt
nvar char ( 50)
nvar char ( 50)
nt ext
dat et i me
nvar char ( 20)
<pk, f k>
t b_Member
Member I D
User Name
I D
Passwor d
CompanyName
r ol e
r ol ename
ci t y
Phonecode
Emai l
Addr ess
Post Code
At t achI mage
LoadDat e
st at e
i nt
var char ( 50)
i nt
var char ( 50)
var char ( 50)
bi t
var char ( 50)
var char ( 50)
var char ( 20)
var char ( 50)
var char ( 200)
char ( 10)
var char ( 200)
dat et i me
i nt
<pk>
<f k>
t b_Or der I nf o
Or der I D
i d
Det ai l I D
Or der Dat e
BooksFee
Shi pFee
Tot al Pr i ce
Shi pType
Recei ver Name
Recei ver Phone
Recei ver Post Code
Recei ver Addr ess
Recei ver Emai l
I sConf i r m
I sSend
I sEnd
Admi nI D
Conf i r mTi me
i nt
i nt
i nt
dat et i me
f l oat
f l oat
f l oat
var char ( 50)
var char ( 50)
var char ( 20)
char ( 10)
var char ( 200)
var char ( 50)
bi t
bi t
bi t
i nt
dat et i me
<pk>
<f k1>
<f k2>
t b_Repl y
I D
UName
Cont ent
Dat eTi me
Repl yI D
I P
i nt
nvar char ( 50)
nt ext
dat et i me
i nt
nvar char ( 20)
<pk>
粮食竞价交易EC系统
留
言
管
理
一
口
价
购
买
商
品
管
理
竞
价
管
理
订
单
信
息
用
户
管
理
数据库设计
设计数据库时,要确定需要建立的表每个表,所包含的数据及其类型,每个表的
访问权限,各表之间的相互关系,如何确定关键字,是否允许输入为空以及规则和缺
省值等。数据库中的表存放在数据库服务器中。
数据库的数据完整性是指数据的正确性与相容性,也就是在多用户,多进程共享
数据的环境中,保证更新的一致性,保证数据库中的数据是正确的,不出现与实际不
符的情况。完整性可以由两个方面来控制:
约束机制:一种是静态约束,对关键表的某些字段的值设置约束条件,当输入任
何其它不合法字符,系统将根据约束条件自动判断是否接受。还有一种是动态约束,
设置触发器,当删除、修改一个数据库中某一个表中的某条记录时,其它与之相关数
据也要做某些相应的操作才能保证数据库之间数据的完整性。
事务控制:对重要操作进行事务控制,利用回滚机制,保护数据一致性。例如:
在进行项目、论文的修改或删除操作时,不仅要修改或删除项目信息表或论文信息表,
同时也要调整与之相对应的其他表,两者必须同步进行,否则全部执行失败,以保持
数据的一致性。
在充分考虑了粮食竞价交易实际情况和用户需求后,依据对系统功能模块设计的
内容,对该系统设计了相应的数据库。针对不同的功能模块设计了相应的数据表。本
节按照功能的化分给出主要数据表的设计。
(1)会员管理模块
会员信息表(tb_Member)主要存放了用户的相关信息:用户名称、用户密码、
公司名、公司类型、所在地、资质证书、是否审核以及注册时间等。
表 4-1 会员信息表
字段名 主键 数据类型 长度 允许空 字段描述
MemberID √ Int 4 用户编号
UserName varchar 50 用户名称
Password varchar 50 用户密码
CompanyName varchar 50 √ 公司名
City varchar 50 √ 所在地
Phonecode varchar 50 √ 电话
Email varchar 50 √ Email
Address varchar 200 √ 详细地址
PostCode varchar 10 √ 邮编
AttachImage varchar 200 √ 资质证书
state Int 2 状态(0 1)
LoadDate datetime 8 录入日期
(2) 商品管理模块
商品管理模块主要包括商品类别、商品类别图片和商品信息几个表:
商品类别表(tb_Class)的属性有类别编号、类别名称、类别图片地址等。
表 4-2 类别表
字段名 主键 数据类型 长度 允许空 字段描述
ClassID √ Int 4 类别编号
ClassName varchar 50 类别名称
CategoryUrl varchar 50 类别图片地址
Remarks varchar 50 √ 备注
类别图片表 (tb_pic)包括类别编号、图片路径、图片名称等。
表 4-3 类别图片表
字段名 主键 数据类型 长度 允许空 字段描述
id √ Int 4 类别编号
userid varchar 50 用户编号
imageUrl varchar 50 图片路径
name varchar 100 图片名称
商品图片信息表(tb_Image) 包括图片编号、图片路径、图片名称等
表 4-4 商品图片表
字段名 主键 数据类型 长度 允许空 字段描述
ImageID √ Int 4 图片编号
ImageName varchar 50 图片名称
ImageUrl varchar 100 图片地址
竞价商品信息表(tb_GoodsInfo)主要包括商品编号、商品类型、商品名称、
供应商名、公司名称、一口价、起拍价、数量以及商品简介等。
表 4-5 商品信息表
字段名 主键 数据类型 长度 允许空 字段描述
GoodsID √ Int 4 货物编号
ClassID Int 4 商品类型
GoodsName varchar 50 商品名称
GoodsIntroduce ntext 500 √ 商品简介
Author Int 4 √ 供应商名
GoodsUrl varchar 50 √ 商品图片
MarketPrice varchar 50 一口价
HotPrice varchar 50 起拍价
quantity Int 4 数量
unit varchar 10 √ 单位(吨)
place varchar 200 √ 所在地
state Bit 1 √ 状态(0 1)
(3)订单管理模块
订单信息表(tb_OrderInfo)包括订单编号、会员编号、商品总价、接收者名称,
接收者地址及订单状态等。
表 4-6 订单信息表
字段名 主键 数据类型 长度 允许空 字段描述
OrderID √ Int 4 订单编号
OrderDate varchar 50 会员编号
GoodsFee float 8 商品总价
ReceiverName varchar 50 接收者名称
ReceiverPhone varchar 50 √ 接收者电话
ReceiverPostCode varchar 50 √ 邮编
ReceiverAddress varchar 100 √ 接收详细地址
ReceiverEmail varchar 50 √ 接收者 Email
state Int 4 √ 发货状态
orderTime datetime 8 √ 订单时间
(4)竞价管理模块
竞价信息表(tb_buy)有竞价编号、会员编号、商品编号、出价、竞价成败等。
表 4-7 竞价表
字段名 主键 数据类型 长度 允许空 字段描述
id √ Int 4 竞价编号
buyId varchar 50 会员编号
buyname varchar 50 竞价会员名
goodsid Int 4 商品编号
goodsname varchar 50 商品名称
company varchar 50 √ 供应商
hotPrice varchar 50 一口价
FirstPrice varchar 50 起拍价
Price varchar 50 出价
quantity varchar 50 数量
authorplace varchar 50 √ 所在地
state Int 4 竞价状态
yes varchar 50 竞价成败
Remarks varchar 50 √ 备注
(5)留言管理模块
留言表(tb_LeaveWord)包括留言编号、会员编号、会员名、标题、留言内容、
留言时间等。
表 4-8 留言表
字段名 主键 数据类型 长度 允许空 字段描述
ID √ Int 4 留言编号
Uid varchar 50 会员编号
Uname varchar 50 √ 会员名
Subject varchar 50 标题
Content ntext 300 留言内容
DateTime datetime 8 √ 留言时间
留言回复表(tb_Reply)包括留言编号、回复人编号、会员编号、标题、留言内容
及留言时间。
表 4-9 留言回复表
字段名 主键 数据类型 长度 允许空 字段描述
ID √ Int 4 留言编号
ReplyID varchar 50 回复人编号
ReplyName varchar 50 回复人名称
Subject varchar 50 标题
Content ntext 300 留言内容
DateTime datetime 8 √ 留言时间
系统后台功能结构设计
后台功能模块划分
后台管理员维护整个系统正常运行,主要功能有会员管理,管理员管理,留言管
理,商品管理,订单管理以及系统管理等。其中有三个功能与前台用户相似,这里就
不在叙述。为了系统的正常运行和安全稳定,构建了系统后台管理系统,重点模块的
详细功能模块图见图 4-5:
图 4-5 系统后台管理功能图
系统后台管理
商
品
管
理
用
户
管
理
订
单
管
理
角
色
管
理
权
限
管
理
其中:用户管理是对系统用户进行管理,包括用户拥有的角色,用户拥有的权限,
用户的可登录性;角色管理是对用户角色进行设置;权限管理是对系统的各种权限进
行设定和编辑。以下分析主要针对用户管理,角色管理和权限管理 3 个部分。
类图的设计
1. 类图分析
分析发现,用户管理,角色管理和权限管理 3 个部分应该包括:角色,权限,角
色权限,用户角色 4 个部分(用户详细信息在基础信息管理系统中)。进行抽象得出 4
个类:角色,权限,角色权限,用户角色。类图分析如图 4-6:
图 4-6 系统管理子系统类图
数据库设计
系统的安全始终是客户的一个重要要求,也是我们设计系统时应该重点考虑的一
个部分。而权限控制也是系统安全的一部分。为此,对权限控制作如下设计:系统启
用时,由系统管理员设置角色,并按需要为每种角色分配权限,然后为每个用户设置
归属的角色,用户只能访问和操作自己拥有权限的页面和操作。
(1) 管理员定制角色时,只要指定角色名称就行,因此角色表只有角色编号和角
色名称两个字段即可,详细设计如下:
0. . *
0. . *
0. . 1
0. . *
用户角色
+
+
+
用户编号
用户名
密码
: st r i ng
: st r i ng
: st r i ng
权限
-
+
+
+
+
编号
权限编号
权限名称
权限链接
上级权限
: i nt
: st r i ng
: st i ng
: st r i ng
: st r i ng
角色
+
+
编号
名称
: i nt
: st r i ng
角色权限
表 4-9 角色表
字段名 主键 数据类型 长度 允许空 字段描述
RoleID √ int 角色编号
RoleName varchar 20 角色名称
(2) 用户所归属的角色由系统管理员指定,管理员可随时修改用户所归属角色。
详细设计如下:
表 4-10 管理员表
字段名 主键 数据类型 长度 允许空 字段描述
AdminID √ Int 4 管理员编号
AdminName varchar 50 管理员名称
Password varchar 50 管理员密码
RoleID Int 4 角色编号
LoadDate datetime 8 录入日期
主要功能模块的设计与实现
粮食竞价交易前台模块
设计思想
一个系统的前台界面是整个系统的对外窗口,它不仅能够提供可供参考的各种信
息,使客户能够及时了解各种粮食供需信息,向用户提供在线留言及回复功能,很好
的实现了互动作用。系统的主要功能在于竞价粮食商品的展示,通过前台会员登录后
进行在线竞价交易,因此前台页面的美观和易操作性及界面友好实用对用户来说是首
要的。主要功能模块具体的实现步骤如下显示:
用户界面
本系统前台主要包括用户中心、用户留言、一口价竞买和在线竞价。在系统主
页 中,用户不但可以直接看到各类产品展示、商品类别列表、新闻公告等,
还可以通过导航栏链接进入不同的页面,如查看推荐商品、热卖商品、在线留言等。
图 4-7 系统首页界面
系统首页 这个页面由 4 部分组成,这样做是为了便于管理各个模块,
而且更方便分析错误的所在之处。 各个组成部分有:
导航栏,这个基本上属于静态,只是提供到各个板块的链接服务。
左边栏,这一栏提供了用户登录功能并可以转到注册页面,这一栏还包括公告信
息显示。
右边栏,这一栏提供了竞价产品信息的展示,用户登录后可以直接一口价购买或
进行竞价购买。
尾栏,这一栏显示的是版权信息。
主页面 用户登录后的显示效果如图 4-8 所示:
图 4-8 用户登录后界面
用户留言
留言板是系统提供的用户进行交流的平台,在这里用户可以把自己的想法、建议
以及供求信息等发布到这里,系统管理员以公告的形式发布留言或对会员留言进行回
复。如图 4-9,4-10 所示:
图 4-9 用户留言界面
图 4-10 查看用户留言列表
发布竞价商品
供应商可以进行添加商品,发布竞价信息,其中包括:类别,商品名称,产
地,供应商,一口价,起拍价,商品图像等。
界面效果如图 4-11 所示:
图 4-11 发布竞价信息
一口价购买模块
在这个页面中使用 Request 对象的 QueryString()方法来获得传递过来的 beer_id
参数,利用这个参数来查看商品的详细信息:
string beerID=(string)["beer_id"];
最后定义了一个 HyperLink 服务器控件,用来链接到 页面,实现购
买功能。在它的 NavigateUrl 属性中,把当前选中的商品的 beer_id 作为参数传递给
,以便在其中使用:
="
点击“放入购物车”可以将此商品放人购物车以待下订单结算等。
购物车模块
页面实现购物车的功能,用户可以进行修改数量或删除商品的操作,
确认购买后可以点击下订单进入结算页面。当点击“查看购物车”之后,页面被重定向
到该页,显示如图 4-12 所示:
图 4-12 查看购物车
图 4-13 下订单界面
会员竞价交易
采购商点击查看商品信息,可以进行出价,出价范围在起拍价和一口价之间,其
中商品详细信息包括:类别,商品名称,产地,供应商,数量,一口价,起拍价,商
品图像,商品简单描述等。
界面效果如图 4-14 所示:
图 4-14 查看详情-会员出价页面
采购商点击竞价管理,可以对竞价商品出价进行修改或删除。
显示效果如图 4-15 所示:
图 4-15 竞价管理信息
系统后台功能模块
在设计系统的后台界面时,一般使用框架技术来规划整个网页界面的显示布局。
在.NET 开发环境中可以使用 Web 用户控件来达到类似框架的设计功能。在.NET 开
发环境中生成的 Web 用户控件是 aspx 文件,可以单独对该控件进行页面设置和脚本
程序的编写。
本系统的网页界面总体布局采用的是级联样式表(CSS)来设计,页面分为左侧导
航和右侧主页面。左侧导航控制整个页面的界面布局显示内容和相应脚本程序的运行,
左端是一个级联菜单,其设计主要采用的是 Javascript 脚本语言,这个菜单是用户进
行操作的基础,通过菜单项上的超链接可以进行不同的页面显示和操作。右端是系统
的主要显示页面,基本上大多数的操作都在这里进行。
图 4-16 竞价管理信息
会员管理
管理员可以对会员信息进行管理,可以对会员进行审核和删除。
界面效果如图 4-17 所示:
图 4-17 用户管理
商品管理
管理员可以对商品信息进行管理,对商品信息进行修改和删除。
界面效果如图 4-18 所示:
图 4-18 商品管理
管理员可以对商品类别信息进行管理,对商品类别进行添加和删除。
界面效果如图 4-19 所示:
图 4-19 类别图片管理
留言管理
管理员可以对会员的留言信息进行管理,对留言进行回复和删除。
界面效果如图 4-20 所示:
图 4-20 留言管理
订单管理
管理员可以查看会员订单,打印订单,
界面效果如图 4-21:
图 4-21 订单信息
竞价管理
管理员可以查看会员竞价信息,对竞价结果进行确定或删除。
界面效果如图 4-22 所示:
图 4-22 竞价管理
数据库备份还原
管理员可以随时备份系统数据,以便在数据被破坏时,可以直接在系统中恢复系
统数据。详见第五章。
第 5 章 重点难点解决方案
系统权限控制和数据安全
权限控制和数据安全
为了充分体现系统的安全性,系统在数据维护和权限管理方面做了充分的考虑。
数据维护方面:系统提供数据备份和恢复接口给系统管理管理员,管理员也可以
授予给他人。这样可以随时备份和恢复数据。
权限管理方面:所有用户的权限均由系统管理员动态分配。用户只能看到自己权
限范围内的页面,只能操作完成自己权限内的操作。
另外,重要的一点是:系统采用 独有的 Forms 身份验证,所有用户只
能登录通过身份验证后才能进入系统。为防止机器软件通过无数次尝试密码破译,登
录时添加了验证码功能。同时,所有用户进入系统的口令都是采用不可逆 MD5 加密
算法加密储存和传输的,这样保证系统用户的安全性。系统用户名称和用户角色可以
由系统管理员随时动态指定。
用户登录需要验证使用该系统用户是否合法,这是基于系统安全性的考虑;然后
提取用户的权限信息,根据对权限信息的确认进入相应的管理界面。
登录子系统模块采用的是数据库基于表单的身份验证。对于登录用户提供的帐号
和 密 码 , 把 它 作 为 查 询 条 件 在 用 户 表 user 中 查 询 。 利 用 数 据 阅 读 器 对 象
SQLDataReader 获取结果集,如果是非法用户,结果集为空,否则结果集不为空,当
为合法用户时,继续进行权限信息的查询,查询出帐号所属的权限信息正确后,根据
权限信息,组合不同的功能模块,进入不同的管理界面。
当输入的帐号或密码错误时向客户端发出客户端脚本块给用户提示信息。如图
5-1 所示。
图 5-1 登录错误提示
出错显示代码实现如下:
if (!isRegUserExist)
{
("<script>alert(\"用户名不存在或密码错误请重新输
入!\")</script>");
}
登录流程图如下图 5-2:
图 5-2 登录系统流程图
系统通过用 Session 存放用户登录的信息,以便在操作页面显示当前用户。
Session["admin"]="admin"; Session["Name"]="admin";
在限制用户访问的页面需要验证用户是否登录。
验证用户是否登录实现代码如下:
if (Session["admin"] == null || Session["admin"].ToString() == "")
{
("../");
}
用户登录
输入用户登录信息
合法性验证
查找所属权限
对权限信息组合功能模块
错误提示
进入管理界面
重新登录
非法用户
合法用户
数据备份和恢复
1. 数据备份:
为了系统的安全,管理员可以随时备份系统数据,备份操作如图 5-3:
图 5-3 数据恢复
备份数据库实现的后台代码如下:
string CurrTime = ();
string path = ;
path += "_db_";
path += CurrTime;
path += ".bak";
= "您备份的数据库名称:"+path;
string name = path;
string time = ();
string queryStr = "BACKUP DATABASE credit TO disk =
'..\\BACKUP\\" + path + "' WITH FORMAT,NAME ='Full Backup of credit'";
string insertStr = "Insert Into db(dbName,dbTime) values ('" + name +
"','" + time + "')";
SqlConnection nwConn = new SqlConnection();
=
["creditConnectionString"].ToStr
ing();
();
SqlCommand sqc = new SqlCommand(queryStr, nwConn);
SqlCommand cmd = new SqlCommand(insertStr, nwConn);
();
();
();
("<script>alert(\"数据已成功备份!\")</script>");
2. 数据恢复:
如果系统数据被破坏,管理员可以直接在系统中恢复系统数据,操作如图 5-4:
图 5-4 数据恢复
还原数据库的后台代码如下:
string path = ["dbName"].ToString();
SqlConnection nwConn = new SqlConnection();
="server=localhost;database=master;user=sa;pwd=sa";
string queryStr = "RESTORE DATABASE credit FROM disk
='..\\backup\\" + path + "'";
();
SqlCommand sqc = new SqlCommand(queryStr, nwConn);
();
();
("<script>alert(\"数据已成功还原!\")</script>");
购物车的实现
购物车模块是本系统的难点部分,购物车中存储用户本次购买各种商品的信息。
本系统中购物车是以数据库表的形式存在数据库中的。当用户登录以后就可以购买商
品了,点击“放入购物车”后,用户的购物信息就会存入数据库的 shoppingcart 表中,
只要用户没有提交订单,该条购物信息就会一直存储在该表中,用户可以随时查看自
己购物车中的商品信息。
会员进行一口价购买时可以把商品放人购物车,查看购物车内容,然后对自己购
物情况进行修改或者确认,删除等操作。点击“下订单”可以显示相关的订单信息和应
付总金额。顾客对定单进行确认。该模块包括 ,,
三个页面的设计与实现。
页面实现将用户的购买信息添加到 shoppingcart 表中的功能。其中
使用了存储过程 addtoshoppingcart 实现将用户的购买信息添加到购物车表中,程序中
给 Command 对象添加了两个参数:@username 参数接收当前登录的用户名;@beer_id
参数接收用户选择的商品编号。
CREATE PROCEDURE addtoshoppingcart
@username varchar(50),@goods_id varchar(50)
AS
Declare @bname varchar(50),@price varchar
if exists(select * from shoppingcart where beer_id=@ goods _id)
begin
update shoppingcart set quantity=quantity+1 where goods _id=@ goods _id
end
else
begin
select @bname=bname,@price=price from product where goods _id=@goods_id
insert into shoppingcart(username,beer_id,bname,quantity,price)
values(@username,@ goods _id,@bname,1,@price)
end
GO
Session["username"].ToString()用来获得当前登录的用户名称,goods_id 通过网页
的链接语句传过来,并通过 Request 对象的 QueryString()方法来获取这个参数,接收
这两个参数后,用 Command 对象的 ExecuteNonQuery()方法来执行存储过程。存储过
程中定义了两个参数分别用来接收当前登录的用户名称和商品编号。
放入购物车的这个过程是这样的:先将传过来的商品 Id 与 shoppingcart 表中存在
的商品 ID 进行比对,如果购物车中有相同的 ID 那说明已经存在这样的商品了,直接
把此商品的数量再加 1 就行了;如果购物车中没有商品跟这个商品 ID 相同,那说明
购物车中没有这样的商品,所以得把这个商品添加到 shoppingcart 表中。
第 6 章 总结
本系统的主要目的是为粮食交易双方搭建了一个灵活自由,操作方便并且安全可
靠的交易平台。粮食交易双方通过网络进行农产品竞价交易,从而实现跨地区的粮食
交易。采用网上发布信息和在线竞价交易等电子化手段取代传统交易方式,使交易成
本大大降低。此外还可以通过网络及时将粮食信息反映给政府管理部门,在突发事件
来临时起到预警作用。
本系统划分为以下几个模块:会员管理模块、一口价交易模块、在线竞价交易模
块和订单管理模块以及留言管理模块。系统实现了以下重要的功能:用户注册、发布
竞价信息、用户留言、竞价交易、一口价购买、后台商品管理、订单管理以及数据获
取及分析、图表显示等。应用该系统,交易双方企业可以随时方便地提交需要发布的
交易信息或参与竞价,实现在线竞价交易而无须掌握复杂的技术,对于企业用户降低
成本,提高工作效率有极大的帮助。整个系统功能完善,界面友好,使用方便快捷。
在欧阳老师的指导下,我经过三个月的努力终于完成了粮食市场竞价交易电子商
务系统的设计和实现。
整 个 课 程 设 计 过 程 中 , 我 查 阅 了 很 多 电 子 商 务 竞 价 交 易 和 SQL Server 、
方面的资料,也受到欧阳老师的不倦教诲,这些为我们顺利完成毕业设
计提供了莫大的帮助!在设计过程中,我重温了自己四年所学知识,对这些知识也有
了更深的理解,同时也学到了很多以前没有接触过的业务上的和技术上的知识。感受
最深的一点就是:“世上无难事,只怕有心人”!在系统实现过程中,我遇到很多技术
上的难题,经过几天的不懈努力,多方请教终于得到解决。我深深的感受到了方法总
比困难多。我坚信有困难才有压力,有压力才有动力!
参考文献
[1] 王珊 萨师煊等. 数据库系统概论 [M]. 北京:高等教育出版社,
[2] 陈学平. 电子商务网站建设与全程实例 [M]. 科学出版社,
[3] 刘强、蓝跃飞等.南方粮食交易市场可行性研究 [M].南昌有色冶金设计研究院,
[4] 李玉林、王岩等. 网络编程从入门到精通 [M].清华大学出版社,
[5] 张跃廷 苏宇. 程序开发范例宝典(C#) [M]. 北京:人民邮电出版社,
[6] 张莉,王强. SQLServer 数据库原理及应用教程 [M]. 北京:清华大学出版社,2003.
[7] 赫刚、袁永刚等. 开发指南[M]. 人民邮电出版社,
[8] Evjen 等著,杨亚译. 高级编程[M] .北京:清华大学出版社,
[9] 胡迎松,彭利文.基于.NTE 的 Web 应用三层结构设计技术[J].计算机工程,2003. 6
[10] 施伟伟,张蓓. 征服 Ajax— 快速入门与项目实践 [M]. 北京:人民邮电出版社,
2006.
[11] 樊建. + 项目开发实例 [M]. 北京:清华大学出版社,2004.
[12] 陈冠军. 典型模块设计与实现 [M]. 北京:人民邮电出版社,2007.
[13] 刘庆国,聂元铭. 企业级开发案例精解(C#编程篇)[M]. 北京:人民邮电出版社,
2006.
[14] Jacquie Barker,Grant Palmer. Beginning C# Objects: From Concepts to Code [M]. Beijing:
Publishing House of Electronics Industry,2006.
[15] Xin Chen. Developing Application Frameworks in .Net [M]. Beijing: Publishing House of
Electronics Industry,2005 .
致 谢
介绍
作为网站开发人员,我们的生活都是围绕着数据工作。我们创建数据库来存储数
据,发明代码来检索并修改它,创建了网页来搜集并总结。这是冗长系列的第一个教
程,它开发技术来为了完成 ASP 里的普通功能。我们开始于创建一个使用典型的
Datasets 由数据进入层构成的软件架构,Datasets 是一个用于加强定制的事务规则的
事务逻辑层和一个由 ASP 页组成的保护层。ASP 页用于参与一个普通页布局。一旦
这个背后的基础有了保证,我们将进入报告,说明如何从一个网络应用中陈列,总结,
收集和确认数据。这些教程被调整得很简明并在大量的屏幕视图上提供逐步的说明来
使你通过这个过程。每一个教程在 C#和 VB 中是有用的并包含使用的全部代码的下
载。这第一个教程相当长,但是剩下的可能更难理解。
因为有了这些教程,我们将使用放置于 App_data 字典里的 Northwind 数据库的微
软 SQL 服务器 2005 专版。除数据库文件之外,App_data 册子也包含 SQL 语句来创
建数据库,以防你想使用一个不同的数据库版本。如果你喜欢的话,这些语句也能从
微软直接下载。如果你使用 Northwind 数据库的一个不同 SQL 服务器版本,你将需
要更新在应用层的网络配置文件的 Northwind 连接语句。一个网络应用层是建立于是
用 Visual Studio 2005 专业版本作为一个文件基于系统的网站项目。然而,所有的教
程将与 Visual Studio 2005 的免费版本,Visual Web 开发者运行得同样好。
在这个教程中,我们将始于最初并创建数据进入层,紧接着是在第二教程创建事
物逻辑层并在第三教程的页面布局和导航上工作。在第三个教程以后的教程将以前三
个教程为基础。我们得到许多来覆盖第一个教程,所以开启 Visual Studio 并让我们开
始动手吧!
第一步:创建一个网站项目并与数据库连接。
在我们能创建我们自己的数据进入层之前,我们首先需要创建一个 web 站点并建
立自己的数据库。始于创建一个新文件基于系统的 ASP 网站站点。为了完成这个,
需要文件菜单并选择新的网站站点,显示新的网站站点对话框。选择 ASP 网站站点
模式,将本地的下拉菜单设置到文件系统,选择一个册子来放置站点并将语言设置
为 C#。
这将建立一个包含 ASP 网页和 App_Data 文件夹的新网站。
随着网站建立,下一步就是添加一个引用到数据库在 Visual Studio 的服务器资源管理
器。通过添加一个数据库的服务器资源管理器中您可以添加表,存储过程,视图,等
等都来自在 Visual Studio 。您还可以查看表的数据或创建您自己的查询或者用手或
图形通过查询生成器。此外,当我们建立类型数据集的航空我们需要指出的 Visual
Studio 的数据库从该类型的 Datasets 应该建造。虽然我们可以提供这方面信息,在该
时间点外, Visual Studio 会自动填入下拉列表中的数据库已经登记在服务器资源管
理器。
进行添加 Northwind 数据库的服务器资源管理器取决于您是否要使用 SQL Server
2005 Express 版数据库中的 App_Data 文件夹或您是否有 Microsoft SQL Server 2000
或安装了 2005 数据库服务器。
使用数据库中的 App_Data 文件夹
如果您没有 SQL Server 2000 或 2005 数据库服务器连接,或者您只想避免向数据
库服务器添加数据库,您可以使用 SQL Server 2005 Express 版版本的 Northwind 数据
库,其位于在下载网站的 App_Data 文件夹( ) 。
一个放置在 App_Data 文件夹中的数据库会自动添加到服务器资源管理器。假设
你的机子上安装有 SQL Server 2005 Express 版,您应该会看到一个在服务器资源管理
器命名为 的节点,你可以扩大和探讨其表,视图,存储过程,等
等。
App_Data 文件夹还可以持有的 Microsoft Access 。 mdb 文件,像其对应的 SQL
Server ,会自动添加到服务器资源管理器。如果您不想使用任何的 SQL Server 的选
项,您随时可以下载的 Microsoft Access 版本的 Northwind 数据库文件和下拉到
App_Data 目录。请记住,但是, Access 数据库 SQL Server 那样功能丰富,也不是
设计用来在网站上的情形。此外,70 个教程将利用某些数据库级别的功能,这些功
能不被访问支持。
在 Microsoft SQL Server 2000 或 2005 年的数据库服务器中连接数据库。另外,你还
可以连接到安装在一台数据库服务器的 Northwind 数据库。如果数据库服务器还没有
安装 Northwind 数据库,您首先必须将其添加到数据库服务器通过运行包含在本教程
的下载的安装脚本或下载 Northwind 数据库的 SQL Server 2000 版本和直接来自微软
的网站的安装脚本。
一旦你的数据库安装好了,请转到在 Visual Studio 中的服务器资源管理器,右键单击
数据连接节点,并选择添加连接。如果您没有看到的服务器资源管理器在浏览/服务
器资源管理器下,或按下按 Ctrl + Alt +S,这将新增连接对话框,在那里你可以指定
要连接到的服务器,身份验证信息,资料库名称。一旦你成功配置数据库连接信息并
点击 OK 按钮,该数据库将被作为一个节点下的数据连接节点。您可以展开数据库节
点,以探讨其表,视图,存储过程,等等。
步骤 2 :创建数据访问层
当使用数据一种选择是,嵌入的数据直接进入具体逻辑的表现层(在 Web 应用
程序, ASP 页弥补表现层)。这可能采取的形式是的 ASP 页面的代码部分写入书面
ADO 程式码或从标记的部分使用 SqlDataSource 控件。在这两种情况下,这种做法使
数据访问逻辑与表示层紧密得联系在一起。然而,所建议的办法是数据访问逻辑独立
于表现层。这个单独的层被称为数据访问层简称 DAL,并且它通常是作为一个单独
的执行类库项目。这些层架构的优点都被很好地记载(见这个教程结尾关于这些优点
的信息的“更长远的部分”) ,它是我们将采取的这一系列的办法。
所有的代码特定于具体的基本数据源-如建立一个数据库连接,执行 INSERT ,
UPDATE 和 DELETE 命令,等等-应设在 DAL。介绍层不应含有任何这些数据访问代
码的引用,但应该相反使用呼叫到 DAL 中及所有数据请求。数据访问层的方法通常
包含用于访问基础数据库数据。 Northwind 数据库,例如,包含产品和分类表,记录
他们所属的销售的产品和类别,在我们 DAL 中,我们将有方法如下:
GetCategories (),这将返回有关的所有类别
GetProducts (),这将返回有关的所有产品
GetProductsByCategoryID (别 ID),这将返回所有产品属于指定类别
GetProductByProductID (productID),这将返回有关特定产品
这些方法,调用时,将连接到数据库,发放适当的查询,并返回结果。我们如何
回报这些结果是很重要的。这些方法可以简单地返回一个由数据库查询填充的
DataSet 或 DataReader,但理想地,这些结果应退还使用强类型对象。强类型对象的
架构在编译的时候是一个严格的定义,而相反的,松散型对象,直到运行架构都不清
楚。
例如, DataReader 和 DataSet 的(默认情况下)是松散型的物体,因为它们的架
构由列来定义由数据库查询返回用来填充它们。要从一个松散型的 DataTable 访问特
定栏,我们需要使用的语法如下: [索引] [ “ columnName ” ]。在这
个例子中该数据表的松散型展示的是,我们需要使用字符串或序索引存取栏名称。强
类型的 DataTable,另一方面,将每一列执行属性,导致代码看起来是这样的:
[索引] . columnName 。
返回强类型的对象,开发商可以创建自己的自定义业务对象或使用类型数据集。
业务对象由开发者作为一个阶级完成,其性能通常反映的业务对象代表的基本数据库
表的列。一个典型 的 DataSet 是一类为您生成由 Visual Studio 基于数据库模式和其
成员是根据这一架构的强类型。类型化的 DataSet 类,本身包括类,其延长使用 ADO
的 DataSet , DataTable 的,和 DataRow 类。除强类型 DataTables 外 ,类型化的
DataSet 现在也包括 TableAdapters ,这些类填充 DataSet 中的 DataTables 和宣传修改
的 DataTables 回到数据库。
注:欲了解更多有关使用类型的 DataSet 与自定义业务对象的优点和缺点,请参考设
计数据层组件并在层间传递数据。
我们将为这些教程的架构使用强类型数据集。图 3 显示了使用类型数据集的应用
程序的不同层次的工作流程。
创建一个类型化的 DataSet 和表适配器
要开始制作我们的 dal,我们开始于向我们的项目增加类型化的 DataSet。为实现
这一目标,右键单击解决方案资源管理器的项目节点并选择添加一个新项目。从模板
列表中选择数据集属性,并将它命名为 。
在点击添加后,在出现提示向 App_Code 文件夹添加的 DataSet 时,选择是。类
型化的 DataSet 的设计将显示出来,TableAdapter 配置向导将启动,让您可以向类型
化的 DataSet 添加您的第一个 TableAdapter。
类型化的 DataSet 是一个强类型的数据收集;它是由强类型 DataTable 组成,每一
个又是由强类型的 DataRow 实例组成。我们将为每一基本数据库表创建一个强类型
的 DataTable,我们需要在此教程系列与其一起运作。让我们首先为产品表创建一个
DataTable 的。
请记住,强类型 DataTables 不包括任何有关如何获取数据的基本数据库表的信息。
为了检索数据来填充 DataTable ,我们使用 TableAdapter 类,其作为我们的数据访问
层 行 使 职 责 。 我 们 的 产 品 数 据 表 , TableAdapter 将 包 含 的 方 法 - GetProducts ()
GetProductByCategoryID (类别 ID ) ,等等-我们将从表现层援引。该数据表的作
用是作为强类型对象用于传递之间的数据层。
该 TableAdapter 配置向导首先提示您选择数据库工作。下拉列表中显示在服务器
资源管理器中的这些数据库。如果您没有向服务器资源管理器增加 Northwind 数据库,
您可以在这个时候单击新的连接按钮来这样做。
在选择数据库后,然后点击下一步,如果您要在 文件保存连接字符串
时你会被询问。通过存储连接字符串您将避免它在 TableAdapter 类中难编码,,如果
连接字符串信息未来变化了它可以简化事情。如果您选择放置在<connectionStrings>
部分配置文件中存储连接字符串,它可以选择性得加密,以提高安全性或通过的新
的 ASP 属性页在 IIS 的 GUI 管理工具修改,这对于管理员来说是比较理想。