三层架构的数据库编程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目名称“StudentInfoBLL”,单击“确定”,如图所示。在建立了表示层对业务逻辑 层的引用后,在表示层的引用目录下就会出现业务逻辑层项目的名称,如图所示。
http://www.xcdnpx.com/ http://www.dgxcdn.com http://www.dgxcpx.com http://www.xcwxpx.com http://www.xunchi-px.com/ http://www.oemfy.com http://www.0759mz.com http://www.lczx188.com http://www.189287.com/ http://www.0316baowencailiao.com/ http://www.lfbwff.com/
主编 杨克玉 阮进军
第八章
三层架构的ADO.NET数据库编程
本章任务
• • • • 能够理解和掌握三层架构中每层的功能和各层之间的逻辑关系 能够搭建三层架构软件开发框架 能基于三层架构实现数据增、删、改、查操作 能使用OOP思想实现三层架构
任务8.1 “学生信息管理系统”项目
——搭建三层架构开发框架
C#程序设计
http://www.hd8go.com http://www.hd88go.com http://www.sj93.cn http://www.oemgc.com/ http://www.189288.com http://www.hzp580.com http://www.yjoem.com http://www.hd8go.com http://www.hd88go.com http://www.sj93.cn http://www.oemgc.com/ http://www.oemdg.com/ http://www.xcdnpx.com/ http://www.skfjk.com http://www.oemdg.com http://www.189288.com http://www.hzp580.com http://www.yjoem.com http://www.zhongtezc.com http://www.oemdg.com/http://www.yanjigz.com/ http://www.xcdnpx.com/http://www.189286.com/ http://www.skfjk.com http://www.oemdg.com http://www.xcdnpx.com/ http://www.dgxcdn.com http://www.dgxcpx.com http://www.xcwxpx.com http://www.zhongtezc.com http://www.yanjigz.com/ http://www.189286.com/ http://www.xunchi-px.com/ http://www.0759mz.com http://www.xcdnpx.com/http://www.oemfy.com http://www.dgxcdn.com http://www.dgxcpx.com http://www.xcwxpx.com http://www.lczx188.com http://www.189287.com/ http://www.0316baowencailiao.com/ http://www.xunchi-px.com/ http://www.oemfy.com http://www.0759mz.com http://www.lfbwff.com/ http://www.lczx188.com http://www.189287.com/ http://www.0316baowencailiao.com/ http://www.lfbwff.com/
搭建数据访问层及建立各层依赖关系
创建数据访问层的步骤与创建业务逻辑层类似,只是需要重新填写项目名称为
“StudentInfoDAL”,其它的操作步骤和选项与创建业务逻辑层完全一样。 在“解决方案资源管理器”中,右键单击表示层( StudentInfo项目)的“引用”, http://www.hd8go.com http://www.hd88go.com http://www.sj93.cn http://www.oemgc.com/
使用三层架构的意义
我们可以通过到电器商城购物这一生活中的场景来理解三层架构在软件开发中的优势。 这里可以把电器商城看作一个整体,它包括商品导购员、收银员和仓库管理员三类角色。 当一名顾客到超市购买商品时,商城将以如下的流程为顾客提供服务: (1)导购员接待顾客,根据顾客要求购买商品的型号填写单据,然后将填写好的单据交给 收银员; (2)收银员根据导购员的单据向顾客收取相应的费用,打印出货单,然后将出货单交给仓 库管理员申请出货; (3)仓库管理员根据收银员提交的出货单从仓库对应的商品存放位置,取出货物交给导购 员,然后导购员将商品交给客户。
——用三层架构实现学生信息查询
任务8.2.1 “学生信息管理系统”项目
——用三层架构实现学生信息查询
使用三层架构开发应用系统时,首先应根据需求设计表示层的用户界面, 然后对系统需要实现的功能进行认真分析,根据功能需求先设计规划数据访问 层的类及相应的方法,再设计业务逻辑层的类,最后完成表示层后台代码。根 据本节任务的功能需求,在数据访问层我们设计一个用于对数据库中表 StudentInfo操作的类StudentInfoDB,并为该类设计三个方法: GetStuInfoByStuId、GetStuInfoByName和GetStuInfoList,分别 用于实现按学号查询、按姓名查询和返回所有学生信息三个功能,其返回值类 型均为DataTable。在业务逻辑层设计类StuInfoManager为数据访问提 供服务,并为其设计方法GetStuInfo,方法的参数与返回值类型如下: DataTable GetStuInfo(string condition, string keywords),其中 condition为查询条件,keywords为查询条件的值。整个功能实现的时序 图如图所示。
在Visual Studio2008的IDE开发环境中,选择“文件”→“新建”→“项目”命令,
板为“Windows应用程序”,填写项目名称为“StudentInfo”,同时在“解决方案”
搭建业务逻辑层
在Visual Studio2008的IDE开发环境中,选择“文件”→“新建”→“项目”命
令,在弹出的“新建项目”对话框中选择项目类型为“Visual C#”,模板为“类库”, 填写项目名称为“StudentInfoBLL”,同时在“解决方案”下拉列表框中选择“添入 解决方案”,如图所示
http://www.oemdg.com/ http://www.xcdnpx.com/ http://www.skfjk.com http://www.oemdg.com 选择“添加引用”命令,在弹出的“添加引用”对话框中选择“项目”选项卡,选中项 http://www.zhongtezc.com http://www.yanjigz.com/ http://www.189286.com/ http://www.189288.com http://www.hzp580.com http://www.yjoem.com
任务8.2 “学生信息管理系统”项目
设计“学生信息管理系统”窗体的主界面。用户可以在工具栏的下拉列表框中选择 查询条件是按学号查询还是按姓名查询,在文本框中输入相应的信息后,点击“查找” 按钮,在数据库中查询满足条件的数据,并显示在窗体上的DataGridView控件上。如 果未设置查询条件,则返回数据库中所有学生的信息
•
•
•
三层间的依赖关系
微软推荐的三层式结构,从下至上分别为:数据访问层、业务逻辑层和表示层,各层
之间相互依赖,相互协作来实现软件的各项功能,其体系结构如左图所示,三层之间的 依赖关系和数据传递方向如右图所示。
基于三层架构实现数据增删改查
在三层架构下实现对数据库中数据的访问和操作,可以使用ADO.Net来实现。表 示层将用户输入的数据或数据查询请求发送给业务逻辑层,业务逻辑层对用户的输入 数据进行校验和处理,然后将数据发送给数据访问层,由数据访问层通过Sql语句或 调用数据库的存储过程来实现数据的操作,并将操作结果以 DataSet、DataTalbe http://www.hd8go.com http://www.hd88go.com http://www.sj93.cn http://www.oemgc.com/ http://www.189288.com http://www.hzp580.com http://www.yjoem.com http://www.oemdg.com/ http://www.xcdnpx.com/ http://www.skfjk.com http://www.oemdg.com 或DataReader等数据集的方式返回给业务逻辑层,当业务逻辑层收到响应的数据集 http://www.zhongtezc.com http://www.yanjigz.com/ http://www.189286.com/ http://www.xcdnpx.com/ http://www.dgxcdn.com http://www.dgxcpx.com http://www.xcwxpx.com 后,根据用户的要求(如筛选条件或业务规则)对数据集中的数据进行处理,然后把 http://www.xunchi-px.com/ http://www.oemfy.com http://www.0759mz.com http://www.lczx188.com http://www.189287.com/ http://www.0316baowencailiao.com/ http://www.lfbwff.com/ 处理后的数据集返回给表示层,最后由表示层的后台代码对数据集进行解析,显示在 窗体相应的数据显示控件上,整个过程如图所示
2、搭建业务逻辑层
3、搭建数据访问层
4、建立各层间的依赖关系
搭建表示层
创建一个新项目,在弹出的“新建项目”对话框中选择项目类型为“Visual C#”,模
下拉列表框中选择“创建解决方案”,并选择 “创建解决方案的目录”复选框,如图 所示
http://www.hd8go.com http://www.hd88go.com http://www.sj93.cn http://www.oemgc.com/ http://www.189288.com http://www.hzp580.com http://www.yjoem.com http://www.oemdg.com/ http://www.xcdnpx.com/ http://www.skfjk.com http://www.oemdg.com http://www.zhongtezc.com http://www.yanjigz.com/ http://www.189286.com/ http://www.xcdnpx.com/ http://www.dgxcdn.com http://www.dgxcpx.com http://www.xcwxpx.com http://www.xunchi-px.com/ http://www.oemfy.com http://www.0759mz.com http://www.lczx188.com http://www.189287.com/ http://www.0316baowencailiao.com/ http://www.lfbwff.com/
• 在Visual Studio2008中创建“学生信息管理系统”项 目的解决方案。在解决方案中分别建立UI层项目、BLL 层类库项目和DAL层类库项目,并添加各层之间的依赖关
系,完成三层架构开发框架的搭建。
任务8.1 “学生信息管理系统”项目
——搭建三层架构Байду номын сангаас发框架
分四步实现三层架构的设计
1、搭建表示层