剖析解读ADO.NET构造相关问题

开发 后端
对于学习ADO.NET构造其他数据提供者的DataAdapter,具体的实现检索数据库中的数据并填充DataSet的实现方法类似于以上方法。

ADO.NET构造开发内容包括:更容易的设计集成、扩充的部署选项、更为丰富多彩的登录和个性化服务以及更好的数据访问和同步,为此我也苦恼很久,后来终于让我找到了解决办法。

ADO.NET构造使用强类型DataSet的好处

ADO.NET构造的另一个好处是可被继承以创建一个强类型DataSet。强类型DataSet的好处包括设计时类型检查,以及Microsoft Visual Studio.NET用于强类型DataSet语句结束所带来的好处。修改了DataSet的架构或关系结构后,就可以创建一个强类型DataSet,将行和列作为对象的属性公开,而不是作为集合中的项公开。例如,不公开客户表中行的姓名列,而公开Customer对象的Name属性。

类型化DataSet从DataSet类派生,因此不会牺牲DataSet的任何功能。也就是说,ADO.NET构造类型化DataSet仍能远程访问,并作为数据绑定控件(例如DataGrid)的数据源提供。如果架构事先不可知,仍能受益于通用DataSet的功能,但却不能受益于强类型DataSet的附加功能。#t#

处理强类型DataSet中的空引用

使用强类型DataSet时,可以使用DataSet的XML架构定义语言(XSD)架构来确保强类型DataSet可以正确处理空引用。nullValue标识符使您可用一个指定的值String.Empty代替DBNull、保留空引用或引发异常。选择哪个选项取决于应用程序的上下文。默认情况下,ADO.NET构造如果遇到空引用,就会引发异常。

刷新DataSet中的数据

如果想用服务器上的更新值刷新DataSet中的值,就使用DataAdapter.Fill。如果有在DataTable上定义的主键,DataAdapter.Fill会根据主键进行新行匹配,并且当更改到现有行时应用服务器上的值。即使刷新之前修改了这些数据,ADO.NET构造刷新行的RowState仍被设置为Unchanged。注意,如果没有为DataTable定义主键,DataAdapter.Fill就用可能重复的主键值添加新行。 #t#

如果想用来自服务器的当前值刷新表,并同时保留对表中的行所做的任何更改,必须首先用DataAdapter.Fill填充表,并填充一个新的DataTable,然后用preserveChanges值true将DataTable合并到DataSet之中。
在DataSet中搜索数据

在DataSet中查询与特定条件相匹配的行时,ADO.NET构造可以利用基于索引的查找提高搜索性能。当将PrimaryKey值赋给DataTable时,会创建一个索引。当给DataTable创建DataView时,也会创建一个索引。下面是一些利用基于索引进行查找的技巧。

责任编辑:chenqingxiang 来源: CSDN
相关推荐

2009-12-25 16:26:03

ADO.NET控制

2009-12-22 10:15:17

ADO.NET规则

2009-12-29 14:24:40

使用ADO.NET

2009-12-31 14:28:09

ADO.NET参数

2009-12-18 16:44:57

ADO.NET统计

2009-11-04 11:40:38

ADO.NET Dat

2009-11-12 10:15:37

ADO.NET使用

2009-12-22 15:03:51

ADO.NET使用

2009-12-22 15:33:33

ADO.NET参数

2009-12-28 13:53:01

ADO.NET记录集

2009-12-21 16:45:41

ADO.NET程序

2009-12-22 15:20:25

ADO.NET功能

2009-07-06 10:43:51

ADO.NET

2009-12-23 11:25:30

ADO.NET处理

2009-12-24 09:26:01

ADO.Net Tea

2009-11-12 10:45:45

ADO.NET连接测试

2009-10-29 10:57:28

ADO.NET Dat

2009-11-13 13:35:54

ADO.NET数据服务

2009-11-12 14:26:34

ADO.NET执行事务

2009-11-04 10:48:02

ADO.NET Dat
点赞
收藏

51CTO技术栈公众号