代码改变世界

填充DataSet时填充元数据

2010-05-31 17:54  DeguangLi  阅读(344)  评论(0编辑  收藏  举报

发表于 @ 2006年12月03日 16:12:00 

 

一般调用DataAdapter类的Fill只是填充数据,而想要加载相关表的元数据(如:列名、主键和约束).可以使用下面两种方法:

1.先填充元数据,再填充数据.例子:

dataAdapter.FillSchema(dataset,SchemaType.Source,"tableName");

dataAdapter.Fill(dataset,"TableName");

注意:要先调用FillSchema填充元数据再调用Fill填充到DataSet.

2.设置DataAdapter的MissingSchemaAction属性为MissingSchemaAction.AddWithKey,这样调用Fill填充时会将元数据一起填充.

例子:

dataAdapter.MissingSchemaAction=MissingSchemaAction.AddWithKey;

dataAdapter.Fill(dataset,"TableName");

PS.将DataAdapter 的 MissingSchemaAction 属性设置为 AddWithKey 就相当于使用 DataAdapter.FillSchema 方法。

两种方法添加架构信息主键、 AutoIncrement 字段、 空字段, 和唯一索引。

 

什么时候不使用 FillSchema 或者 MissingSchemaAction.AddWithKey

• 您将获得一个只读 DataSet 以避免添加必要开销时不要使用方法。

• 当您使用可视化设计工具来生成 DataSet 是因为用于 updateability 代码是已经并入工具生成 DataSet 类不使用方法

• 如果希望代替生成架构 XML 架构用于 DataSet DataSet 是从 XML 加载时不要使用方法。 

 

参考:

http://support.microsoft.com/kb/314145/zh-cn

http://support.microsoft.com/kb/310128/zh-cn