创建数据访问层(及三层间的关系)
来源:互联网 发布:java web项目开发书籍 编辑:程序博客网 时间:2024/05/02 01:55
http://msdn.microsoft.com/zh-cn/cc964016
该教程从头开始使用 Typed DataSet(强类型 DataSet)创建数据访问层 (DAL),以访问数据库中的信息。
步骤1 : 创建一个 Web 项目并连接到数据库
步骤2 :创建数据访问层
图3 :所有的数据访问代码都在 DAL 中定义,图 3 说明了使用 Typed DataSet 的应用程序不同层间的工作流程。
创建一个 Typed DataSet 和Table Adapter
要创建我们的 DAL ,要先将一个Typed DataSet 添加到我们的项目。为此,右键单击 Solution Explorer 中的项目节点,并选择 Add a New Item 。从模板列表中选择DataSet 选项,并将其命名为Northwind.xsd 。
图4 :选择添加一个新的DataSet 到您的项目
....................................
单击 Finish 结束向导。向导关闭后,返回到显示我们刚创建的DataTable 的 DataSet 设计器。可以看到Products 数据表中各列的列表(ProductID 、ProductName 等),以及ProductsTableAdapter 的方法(Fill() 和GetProducts() )。
图12 :Products DataTable 和ProductsTableAdapter 已被添加到Typed DataSet
这里,我们拥有一个带有单个 DataTable (Northwind.Products) 的Typed DataSet ,还有一个提供GetProducts() 方法的强类型DataAdapter 类 (NorthwindTableAdapters.ProductsTableAdapter) 。
编写AllProducts.aspx与AllProducts.aspx.cs后,运行得出如下结果。
图13 :显示在GridView 中的产品列表
------------
步骤3 :向数据访问层添加带参数的方法
右键单击TableAdapter 并选择 Add Query
由于我们希望只返回属于某一指定类别的那些产品信息,我使用的是GetProducts() 中的同一个 SELECT 语句,但是添加了下面的WHERE 子句:WHERE CategoryID = @CategoryID
向导结束后,DataSet 设计器包含新的TableAdapter 方法。
图18 :产品现在可按类别进行查询
使用同样的技术再添加 GetProductByProductID(productID) 方法
编写Beverages.aspx和Beverages.aspx.cs代码浏览可显示结果。
小结:创建DAL 应该是开发一个Web 应用程序的第一步,这要在开始创建您的表示层之前进行。数据访问层 (DAL) 将数据访问逻辑与表示逻辑清晰地分离开来。
BLL 将表示层与数据访问层分隔开来并且实施业务规则。
- 创建数据访问层(及三层间的关系)
- 三层开发,数据访问层代码(DAL 层)
- 三层架构的困惑:为什么要分出数据访问层
- 创建数据访问层
- 三层结构数据访问层代码
- 三层架构:表示层-业务逻辑层-数据访问层
- 三层架构:表示层-业务逻辑层-数据访问层
- 三层架构:表示层-业务逻辑层-数据访问层
- 三层架构:表示层-业务逻辑层-数据访问层
- 菜鸟级三层框架(EF+MVC)项目实战之 系列二 对数据访问层的抽象上
- 菜鸟级三层框架(EF+MVC)项目实战之 系列二 对数据访问层的抽象中
- 菜鸟级三层框架(EF+MVC)项目实战之 系列二 对数据访问层的抽象下
- 运用asp2.0创建和使用三层数据架构(C#)--【第一篇:简介之建立数据访问层】
- 三层架构:表示层——业务逻辑层——数据访问层
- 三层架构:表示层——业务逻辑层——数据访问层
- 三层架构:表示层-业务逻辑层-数据访问层2
- C# 三层及多层的引用关系
- asp.net三层架构,数据访问层。数据访问。构建类大database即可在数据访问层引用。
- iframe的边框为0问题
- 开发过程中Type.GetProperty()的使用
- httpclient post提交报java.net.UnknownHostException
- Xp-keys
- Ganglia的安装和配置 Nagios正在酝酿中
- 创建数据访问层(及三层间的关系)
- C#实现坐标轴及其上的点。
- 关于Fast I/O和IRP
- 有待研究的文章列表
- 蛮力字符串匹配
- Dojo –Dialog在组件中传值
- vs2008之MessageBox函数的用法
- jsp中如何避免客户端浏览器在刷新时,使用缓存的数据
- chrome中拖动滚动条时发出报警声