C#三十六 三层架构的实现(上)

简介: C#三十六 三层架构的实现

C#程序设计及宿舍管理系统实战  

C#程序设计与宿舍管理系统实战-c#宿舍管理系统,c#学生宿舍管理系统-C#视频教程-后端开发-CSDN程序员研修院


2.1 使用DataSet构建三层结构    

   开发三层结构应用系统时,在表示层、业务逻辑层、数据访问层各层中如何使用DataSet呢?DataSet在三层结构中的层次如下图所示:


从图中可以看出,在三层结构中,DataSet的构建和解析工作主要在表示层、数据访问层完成,业务逻辑层主要对DataSet中的数据进行加工、处理和传递。简单地说,DataSet是整个三层结构中数据传递的介质。


2.2 三层结构中DataSet的使用


2.2.1 在表示层中使用DataSet


在表示层中使用DataSet需要做两件事。


(1)将DataSet中的数据展示给用户。


在Winform窗体控件中,DataGridView(数据表格)控件、ComboBox(下拉列表)控件等,他们都有一个数据源属性(DataSource),一般我们可以将Dataset或DataTable绑定到DataSource属性上即可实现数据展示。


(2)将用户的请求数据填充到DataSet中。


要将用户的请求数据填充到DataSet中,我们首先需要构建一个结构与用户请求数据结构相同的DataTable,然后将用户的请求数据填充到构建好的DataTable中,最后将DataTable添加到DataSet中。


表示层的DataSet如图2.3所示。


完成将DataSet中的数据展示给用户和将用户的请求数据填充到DataSet中的具体实现过程将在下面的综合示例中具体演示。


2.2.2 在业务逻辑中使用DataSet


在业务逻辑层使用DataSet需要做下面几件事:


(1)将接收的DataSet传递到下一层。


当业务逻辑层收到数据访问层返回的DataSet后接着将DataSet传递给表示层,或者是将表示层请求的DataSet传递给数据访问层。


(2)根据用户请求对DataSet中的数据进行处理。


当业务逻辑层收到请求或响应的DataSet后,根据用户的请求(例如:条件筛选数据)或业务规则会对DataSet中的数据进行处理。


业务逻辑层的DataSet如下图所示:


2.2.3 在数据访问层中使用DataSet


  在数据访问层中使用DataSet


在数据访问层中使用DataSet需要做如下事情:


(1)将数据库中的数据填充到DataSet中。


当用户的请求时查询请求时,数据访问层需要实现对数据库的查询访问,并将响应结果填充到DataSet中。


(2)将DataSet中的数据保存到数据库中。


当用户的请求时数据保存请求时,数据访问层首先对收到的DataSet进行解析,然后将解析出的数据保存到数据库中。


数据访问层的DataSet如下图所示:


从上面的讨论中,我们发现DataSet在三层结构的每一层中都扮演着重要的数据载体角色,而每一层中基本上都包含了创建DataSet、填充数据、传递DataSet,从DataSet中提取数据等几个步骤。

目录
相关文章
|
SQL 存储 数据库连接
C#三十六 三层架构的实现(下)
C#三十六 三层架构的实现(下)
66 0
|
SQL 分布式计算 数据库
C#三十五 三层架构企业应用
C#三十五 三层架构企业应用
67 0
|
6月前
|
开发框架 前端开发 NoSQL
【C#】医学实验室云LIS检验信息系统源码 采用B/S架构
【C#】医学实验室云LIS检验信息系统源码 采用B/S架构
129 1
|
6月前
|
C#
C# 三层级架构问题之 能加载文件或程序集或它的某一个依赖项。系统找不到指定的文件
C# 三层级架构问题之 能加载文件或程序集或它的某一个依赖项。系统找不到指定的文件
83 0
|
存储 数据处理 数据库
C#三层架构
DAL(Data Access Layer),数据访问层。与数据库打交道。访问数据库,对数据表进行Select,Insert,Update,Delete操作,并且将处理后的数据保存到数据库
|
SQL 数据库 C#
C#&SQL Server基于三层架构实现增删改查
C#&SQL Server基于三层架构实现增删改查
719 0
C#&SQL Server基于三层架构实现增删改查
|
开发框架 前端开发 NoSQL
基于C#开发 B/S架构的实验室管理系统 云LIS系统(MVC + SQLserver + Redis)
云LIS系统是将各种样本、免疫、临检、放免、及实验用的分析仪器,通过网络管理和传输实验分析过程中全部数据。对每一专业,实现检验申请、样本采集、样本核收、联机检验、质量控制、报告审核到报告发布的全环节的信息化管理平台。
318 0
|
程序员 C# 开发者
C#语法——委托,架构的血液
本篇文章主要介绍委托的应用。委托是大家最常见的语法了,但会用与精通之间的差别是巨大的。一个程序员如果不能精通委托,那么,他永远无法成为高级程序员。所以,让我们把委托刻到血液里吧。这样,你才能称为[Developer]。
3793 0
|
C# 数据库 C++
VS中C#连接SQLite数据库处理器架构“x86”不匹配的问题
原文链接 https://www.cnblogs.com/zhaoliankun/p/9088200.html 我的环境配置:windows 64,VS,SQLite(点击下载),System.Data.SQLite.DLL(点击下载)。
1826 0
下一篇
无影云桌面