础。
使用强类型使用强类型 DataSet 的好处的好处
DataSet 的另一个好处是可被继承以创建一个强类型 DataSet。强类型 DataSet 的好处包括设计时类型检查,以及 Microsoft
Visual Studio .NET 用于强类型 DataSet 语句结束所带来的好处。修改了 DataSet 的架构或关系结构后,就可以创建一个强
类型 DataSet,把行和列作为对象的属性公开,而不是作为集合中的项公开。例如,不公开客户表中行的姓名列,而公开
Customer 对象的 Name 属性。类型化 DataSet 从 DataSet 类派生,因此不会牺牲 DataSet 的任何功能。也就是说,类型化
DataSet 仍能远程访问,并作为数据绑定控件(例如 DataGrid)的数据源提供。如果架构事先不可知,仍能受益于通用
DataSet 的功能,但却不能受益于强类型 DataSet 的附加功能。
处理强类型处理强类型 DataSet 中的空引用中的空引用
使用强类型 DataSet 时,可以批注 DataSet 的 XML 架构定义语言 (XSD) 架构,以确保强类型 DataSet 正确处理空引用。
nullValue 批注使您可用一个指定的值 String.Empty 代替 DBNull、保留空引用或引发异常。选择哪个选项取决于应用程序的上
下文。默认情况下,如果遇到空引用,就会引发异常。
有关更多信息,请参阅 Working with a Typed DataSet。
刷新刷新 DataSet 中的数据中的数据
如果想用服务器上的更新值刷新 DataSet 中的值,就使用 DataAdapter.Fill。如果有在 DataTable 上定义的主
键,DataAdapter.Fill 会根据主键进行新行匹配,并且当更改到现有行时应用服务器上的值。即使刷新之前修改了它们,刷新
行的 RowState 仍被设置为 Unchanged。注意,如果没有为 DataTable 定义主键,DataAdapter.Fill 就用可能重复的主键值
添加新行。
如果想用来自服务器的当前值刷新表,并同时保留对表中的行所做的任何更改,必须首先用 DataAdapter.Fill 填充表,并填
充一个新的 DataTable,然后用 preserveChanges 值 true 把 DataTableMerge 到 DataSet 中。
在在 DataSet 中搜索数据中搜索数据
在 DataSet 中查询与特定条件相匹配的行时,可以利用基于索引的查找提高搜索性能。当把 PrimaryKey 值赋给 DataTable
时,会创建一个索引。当给 DataTable 创建 DataView 时,也会创建一个索引。下面是一些利用基于索引进行查找的技巧。
•
如果对组成 DataTable 的 PrimaryKey的列进行查询,要使用 DataTable.Rows.Find 而不是 DataTable.Select。
•
对于涉及到非主键列的查询,可以使用 DataView 为数据的多个查询提高性能。当把排序顺序应用到 DataView 时,就会建
立一个搜索时使用的索引。DataView 公开 Find 和 FindRows 方法,以便查询基础 DataTable 中的数据。