没有合适的资源?快使用搜索试试~ 我知道了~
创建类型化DataSet及架构讲解
3星 · 超过75%的资源 需积分: 10 31 下载量 145 浏览量
2009-10-31
09:21:37
上传
评论
收藏 263KB DOCX 举报
温馨提示
试读
22页
只有ADO.NET有DataSet对象,而且类型化DataSet是检索和更新关系表的优选方法(虽然DataSet并不局限于处理关系数据)。用户通过VS 2005设计器可创建类型化DataSet。类型化DataSet通过XML架构定义,并通过大量自动生成的VB 2005代码实现。非类型化DataSet是用户通过代码创建的运行时对象。DataSet没有对应的ADODB对象,但DataSet的两个类与非连接Recordset之间有以下相似之处
资源推荐
资源详情
资源评论
1.3 ADO.NET 的类型化 DataSet 对象
只有 ADO.NET 有 DataSet 对象,而且类型化 DataSet 是检索和更新关系
表的优选方法(虽然 DataSet 并不局限于处理关系数据)。用户通过 VS 2005
设计器可创建类型化 DataSet。类型化 DataSet 通过 XML 架构定义,并通过
大量自动生成的 VB 2005 代码实现。非类型化 DataSet 是用户通过代码创建
的运行时对象。DataSet 没有对应的 ADODB 对象,但 DataSet 的两个类与
非连接 Recordset 之间有以下相似之处。
● 均打开连接,检索并缓存要编辑的数据,然后关闭连接。
● 均绑定到简单和复杂的 Windows 窗体控件,以进行编辑。
● 均允许当连接关闭时编辑本地缓存的数据。
● 均能够保存到本地文件,并重新打开进行编辑。
● 均允许用户重新打开连接,并批量更新基表。
● 均对基表更新实现开放式并发。用户必须编写代码来恰当地处理并发冲突。
以下是 DataSet 与非连接 Recordset 的主要区别。
● DataSet 由从一个或多个单独基表中选择的一个或多个记录集(称为
DataTable 对象)的缓存副本组成。一个 Recordset 是一个记录集,它能够表
示一个或多个相关表的视图。
● 持久化 DataSet 可将 DataTables 的记录序列化成一个分层的、以元素为
中心的 XML Infoset 文档,并将其保存到本地文件系统。非连接 Recordset
将数据本地存储为一个扁平的且以属性为中心的 XML 文件。
● 通常通过主键/外键关系对 DataTables 建立关系(但不需要这样做)。
● 如果用户没有用 VS 2005 的 Data Source Con*guration Wizard 自动创
建 DataSet,则必须人工定义主键和外键约束以及表关系。
● 用户能够通过任何可访问的数据库服务器实例的基表创建 DataTables。
● 用户能够通过结构化(表格式)XML Infoset 文档创建 DataTables。
● TableAdapters 通过托管连接填充和更新 DataTables。TableAdapters
是 DataAdapter 对象的包装器。
● Data Source Con*guration Wizard 允许用户选择在 Server Explorer
中定义的已有数据连接,或创建新连接对象,然后生成参数化 SQL 查询或存储
过程,以完成 UPDATE、INSERT 和 DELETE 操作。这些查询是基于用户为填
充每一个 DataTable 而指定的 SELECT 查询或存储过程。
● DataSet 以 XML 格式缓存原始和修改的表数据的副本。因此,有大量行的
DataSet 所消耗的客户端 RAM 资源要比有相同数量行的 Recordset 消耗的资
源多得多。
● 用户能够编写代码来创建运行时数据连接、DataAdapters 以及基本
DataSet,但利用 VS 2005 自动过程生成创建类型化 DataSet 的代码要更容
易些,类型化 DataSet 由 XML 架构定义。
● 如果用户没有为新的 DataAdapter.BatchSize 属性指定大于 1 的值,
DataSet 将逐行进行更新,它会设置每批要更新的最多的行数。
图 1-5 对可更新的 ADODB Recordset 需要的对象与 ADO.NET 1.x 和
2.0 的类型化 DataSet 进行了比较。图中用灰背景表示 ADO.NET 2.0 的新组
件。ADODB 命令的参数是可选参数,但可更新的 TableAdapters 的参数不是
可选参数。TableAdapters 有 4 个标准命令:
SelectCommand、InsertCommand、UpdateCommand 和
DeleteCommand。ADO.NET 2.0 的新 BindingNavigator 组件的使用是可
选的。1.3.2 节(添加 DataGridView 和 DataNavigator 控件)将介绍如何使
BindingSource 满足 ADO.NET 2.0 的数据访问服务体系结构。
图ùù1-5
下面各小节将介绍利用 VS 2005 和 SQL Server 2000 或 2005 来生成图
1-5 所示 ADO.NET 对象的其他方法。
VS 2005 在窗体设计组件栏中将 TableAdapters、DataSet、BindingSources 和
Binding Navigators 物化为命名对象。TableAdapters 和 DataSet 还会出现在工具箱
的 ProjectName Components 段。Data 段有 DataSet、BindingSource 和
BindingNavigator 控件。在 VS 2005 的发展初期,这些运行时对象统称为数据组件,
BindingSource 被称为 DataConnector,而 BindingNavigator 则被称为
DataNavigator。本书用术语“数据组件”表示位于窗体设计组件栏中的命名设计时数据对
象。
1.3.1 通过 SQL Server 数据源添加类型化 DataSet
ADO.NET 将术语“数据源”看成是具有预定义、持久性数据库连接的类型化
DataSet 的同义词。创建 ADO.NET 数据源的过程类似于用 VB6 的 Data
Environment Designer 通过一个或多个表来指定 OLE DB 数据提供者。与
Data Environment Designer 不同的是,多表 DataSet 并没有 OLE DB
Shape 提供者为在 VB6 的 Hierarchical FlexGrid 控件中显示而创建的分层结
构。
Web 服务和对象实例还可以用作 ADO.NET 数据源,在后面的章节中会看到这一点。
以下是为新的 Windows 窗体项目添加新 SQL Server Northwind 数据源,并通过
Customers 表自动生成类型化 DataSet 及其组件的步骤。
(1) 选择 Data|Show Data Sources 菜单,打开 Data Sources 窗口,
并单击 Add New Data Source,启动 Data Source Con*guration
Wizard(如果需要的话)。
(2) 在 Choose a Data Source Type 页面,接受默认的 Database 类型,
并单击 Next 打开 Choose Your Database Connection 页面,页面的一个下
拉列表中将显示已有数据连接(如果有的话)。
(3) 单击 New Connection 按钮,打开简化 Add Connection 对话框,该
对话框通常默认为 Microsoft SQL Server Database File,此选项需要对用
户的 SQL Server 或 SQLX 实例附加 northwnd.mdb 副本。因此,单击
Change 按钮,打开 Change Data Source 对话框,在 Data Source 列表中
选择 Microsoft SQL Server,单击 Continue 按钮打开完整的 Add
Connection 对话框。
(4) 在 Select or Enter a Server Name 组合框中输入 localhost 或.\
SQLEXPRESS。另外,也可以选择有 Northwind 或 NorthwindCS 数据库的
本地或网络 SQL Server 或 MSDE 实例。
剩余21页未读,继续阅读
资源评论
- gsnake2013-05-17可以使用!还算明白
zhangjishu520
- 粉丝: 0
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功