DataAdapter.Fill 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在 DataSet 中添加或刷新行以与数据源中的行匹配。
重载
Fill(DataSet) |
在 DataSet 中添加或刷新行以与数据源中的行匹配。 |
Fill(DataTable, IDataReader) |
在 DataTable 中添加或刷新行以与使用 DataTable 名称和指定的 IDataReader 的数据源中的行匹配。 |
Fill(DataTable[], IDataReader, Int32, Int32) |
在 DataTable 对象集合的指定范围中添加或刷新行以与数据源中的行匹配。 |
Fill(DataSet, String, IDataReader, Int32, Int32) |
Fill(DataSet)
- Source:
- DataAdapter.cs
- Source:
- DataAdapter.cs
- Source:
- DataAdapter.cs
在 DataSet 中添加或刷新行以与数据源中的行匹配。
public:
virtual int Fill(System::Data::DataSet ^ dataSet);
public:
abstract int Fill(System::Data::DataSet ^ dataSet);
public virtual int Fill (System.Data.DataSet dataSet);
public abstract int Fill (System.Data.DataSet dataSet);
abstract member Fill : System.Data.DataSet -> int
override this.Fill : System.Data.DataSet -> int
abstract member Fill : System.Data.DataSet -> int
Public Overridable Function Fill (dataSet As DataSet) As Integer
Public MustOverride Function Fill (dataSet As DataSet) As Integer
参数
返回
已在 DataSet 中成功添加或刷新的行数。 这不包括受不返回行的语句影响的行。
实现
注解
方法 Fill 使用关联 SelectCommand 属性指定的 SELECT 语句从数据源检索行。 与 SELECT 语句关联的连接对象必须有效,但不需要打开。 如果在调用 之前 Fill 关闭了连接,则会打开该连接以检索数据,然后关闭。 如果连接在调用 之前 Fill 处于打开状态,它将保持打开状态。
然后,该Fill操作会将行添加到 中DataSet的目标DataTable对象,如果它们尚不存在,DataTable则创建这些对象。 创建 DataTable 对象时, Fill 该操作通常只创建列名元数据。 但是,如果 属性 MissingSchemaAction 设置为 AddWithKey
,也会创建适当的主键和约束。
如果 SelectCommand
返回 OUTER JOIN 的结果,则 DataAdapter
不会为生成的 PrimaryKey 设置 DataTable值。 必须显式定义主键,以确保正确解析重复行。 有关详细信息,请参阅定义主键。
如果数据适配器在填充 DataTable时遇到重复列,它将使用模式“columnname1”、“columnname2”、“columnname3”等为后续列生成名称。 如果传入数据包含未命名的列,则根据模式“Column1”、“Column2”等将其放置在 DataSet 中。 将多个结果集添加到时, DataSet 每个结果集都放置在单独的表中。 其他结果集通过将整型值追加到指定的表名称 (例如“Table”、“Table1”、“Table2”等) 来命名。 使用列名和表名的应用程序应确保不会发生与这些命名模式冲突的情况。
当用于填充 DataSet 的 SELECT 语句返回多个结果(例如批处理 SQL 语句)时,如果其中一个结果包含错误,则跳过所有后续结果,并且不会添加到 。DataSet
可以在同一FillDataTable个 上多次使用 方法。 如果存在主键,传入的行将与已存在的匹配行合并。 如果不存在主键,传入行将追加到 。DataTable
注意
处理返回多个结果的批处理 SQL 语句时,针对 OLE DB .NET Framework数据提供程序的 实现FillSchema仅检索第一个结果的架构信息。 若要检索多个结果的架构信息,请使用 Fill , MissingSchemaAction 并将 设置为 AddWithKey
。
另请参阅
适用于
Fill(DataTable, IDataReader)
- Source:
- DataAdapter.cs
- Source:
- DataAdapter.cs
- Source:
- DataAdapter.cs
在 DataTable 中添加或刷新行以与使用 DataTable 名称和指定的 IDataReader 的数据源中的行匹配。
protected:
virtual int Fill(System::Data::DataTable ^ dataTable, System::Data::IDataReader ^ dataReader);
protected virtual int Fill (System.Data.DataTable dataTable, System.Data.IDataReader dataReader);
abstract member Fill : System.Data.DataTable * System.Data.IDataReader -> int
override this.Fill : System.Data.DataTable * System.Data.IDataReader -> int
Protected Overridable Function Fill (dataTable As DataTable, dataReader As IDataReader) As Integer
参数
- dataReader
- IDataReader
IDataReader 的一个实例。
返回
已在 DataTable 中成功添加或刷新的行数。 这不包括受不返回行的语句影响的行。
注解
有关其他信息,请参阅 的 DataAdapter.Fill(DataSet) 备注。
另请参阅
适用于
Fill(DataTable[], IDataReader, Int32, Int32)
- Source:
- DataAdapter.cs
- Source:
- DataAdapter.cs
- Source:
- DataAdapter.cs
在 DataTable 对象集合的指定范围中添加或刷新行以与数据源中的行匹配。
protected:
virtual int Fill(cli::array <System::Data::DataTable ^> ^ dataTables, System::Data::IDataReader ^ dataReader, int startRecord, int maxRecords);
protected virtual int Fill (System.Data.DataTable[] dataTables, System.Data.IDataReader dataReader, int startRecord, int maxRecords);
abstract member Fill : System.Data.DataTable[] * System.Data.IDataReader * int * int -> int
override this.Fill : System.Data.DataTable[] * System.Data.IDataReader * int * int -> int
Protected Overridable Function Fill (dataTables As DataTable(), dataReader As IDataReader, startRecord As Integer, maxRecords As Integer) As Integer
参数
- dataReader
- IDataReader
IDataReader 的一个实例。
- startRecord
- Int32
起始记录的从零开始的索引。
- maxRecords
- Int32
指示最大记录数的整数。
返回
已在 DataTable 中成功添加或刷新的行数。 这不包括受不返回行的语句影响的行。
注解
有关其他信息,请参阅 的 System.Data.Common.DataAdapter.Fill(System.Data.DataSet)
备注。
另请参阅
适用于
Fill(DataSet, String, IDataReader, Int32, Int32)
- Source:
- DataAdapter.cs
- Source:
- DataAdapter.cs
- Source:
- DataAdapter.cs
protected:
virtual int Fill(System::Data::DataSet ^ dataSet, System::String ^ srcTable, System::Data::IDataReader ^ dataReader, int startRecord, int maxRecords);
protected virtual int Fill (System.Data.DataSet dataSet, string srcTable, System.Data.IDataReader dataReader, int startRecord, int maxRecords);
abstract member Fill : System.Data.DataSet * string * System.Data.IDataReader * int * int -> int
override this.Fill : System.Data.DataSet * string * System.Data.IDataReader * int * int -> int
Protected Overridable Function Fill (dataSet As DataSet, srcTable As String, dataReader As IDataReader, startRecord As Integer, maxRecords As Integer) As Integer
参数
- srcTable
- String
一个字符串,指示源表的名称。
- dataReader
- IDataReader
IDataReader 的一个实例。
- startRecord
- Int32
起始记录的从零开始的索引。
- maxRecords
- Int32
指示最大记录数的整数。
返回
已在 DataSet 中成功添加或刷新的行数。 这不包括受不返回行的语句影响的行。
注解
有关其他信息,请参阅 的 System.Data.Common.DataAdapter.Fill(System.Data.DataSet)
备注。