IDataAdapter.FillSchema 方法

将名为“Table”的 DataTable 添加到指定的 DataSet 中,并根据指定的 SchemaType 配置架构以匹配数据源中的架构。

**命名空间:**System.Data
**程序集:**System.Data(在 system.data.dll 中)

语法

声明
Function FillSchema ( _
    dataSet As DataSet, _
    schemaType As SchemaType _
) As DataTable()
用法
Dim instance As IDataAdapter
Dim dataSet As DataSet
Dim schemaType As SchemaType
Dim returnValue As DataTable()

returnValue = instance.FillSchema(dataSet, schemaType)
DataTable[] FillSchema (
    DataSet dataSet,
    SchemaType schemaType
)
array<DataTable^>^ FillSchema (
    DataSet^ dataSet, 
    SchemaType schemaType
)
DataTable[] FillSchema (
    DataSet dataSet, 
    SchemaType schemaType
)
function FillSchema (
    dataSet : DataSet, 
    schemaType : SchemaType
) : DataTable[]

参数

  • dataSet
    要用数据源中的架构填充的 DataSet

返回值

DataTable 对象的数组,这些对象包含从数据源返回的架构信息。

备注

FillSchema 方法使用 SelectCommand 从数据源中检索架构。与 SelectCommand 关联的连接对象必须有效,但不需要将其打开。如果调用 FillSchema 之前连接已关闭,则将其打开以检索数据,然后再将其关闭。如果调用 FillSchema 之前连接已打开,它将保持打开状态。

FillSchema 操作将 DataTable 添加到目标 DataSet 中。然后,它向 DataTableDataColumnCollection 中添加列,并且当数据源中存在以下 DataColumn 属性时配置这些属性:

FillSchema 还根据以下规则配置 PrimaryKeyConstraints 属性:

  • 如果 SelectCommand 返回一个或多个主键列,则它们被用作 DataTable 的主键列。

  • 如果未返回主键列,但返回了唯一列,则当且仅当所有唯一列都不可为空时,将唯一列用作主键。如果任何一列都可以为空,则将 UniqueConstraint 添加到 ConstraintCollection 中,但不设置 PrimaryKey 属性。

  • 如果既返回了主键列又返回了唯一列,则主键列用作 DataTable 的主键列。

请注意,主键和唯一约束按照上述规则添加到 ConstraintCollection 中,但不添加其他约束类型。

如果 IDataAdapter 在填充 DataTable 时遇到重复列,它将以“columnname1”、“columnname2”、“columnname3”这样依次排序的模式命名后面的列。如果传入数据包含未命名的列,它们将按“Column1”、“Column2”的模式放在 DataSet 中。向 DataSet 添加多个结果集时,每个结果集都放在一个单独的表中。将整数值追加到指定的表名从而对其他结果集进行命名(例如“Table”、“Table1”、“Table2”等)。在应用程序中使用列名和表名时应小心,一定不要与这些命名模式发生冲突。

FillSchema 不返回任何行。使用 Fill 方法将行添加到 DataTable 中。

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0、1.0

请参见

参考

IDataAdapter 接口
IDataAdapter 成员
System.Data 命名空间
Fill