DataAdapter.Fill メソッド

定義

データ ソース内の行と一致するように、DataSet の行を追加または更新します。

オーバーロード

Fill(DataSet)

データ ソース内の行と一致するように、DataSet の行を追加または更新します。

Fill(DataTable, IDataReader)

DataTable 名と指定した DataTable を使用して、データ ソース内の行と一致するように、IDataReader 内の行を追加または更新します。

Fill(DataTable[], IDataReader, Int32, Int32)

データ ソース内の行と一致するように、DataTable オブジェクトのコレクション内の指定した範囲の行を追加または更新します。

Fill(DataSet, String, IDataReader, Int32, Int32)

DataSet 名および DataSet 名を使用して、データ ソース内の行と一致するように、DataTable 内の指定した範囲の行を追加または更新します。

Fill(DataSet)

データ ソース内の行と一致するように、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
DataSet

レコードおよび必要に応じてスキーマを格納するための DataSet

戻り値

Int32

DataSet で正常に追加または更新された行数。 これには、行を返さないステートメントの影響を受ける行は含まれません。

実装

注釈

このメソッドは Fill 、関連付けられた SelectCommand プロパティで指定された SELECT ステートメントを使用して、データ ソースから行を取得します。 SELECT ステートメントに関連付けられている接続オブジェクトは有効である必要がありますが、開く必要はありません。 接続が呼び出される前に Fill 閉じられた場合は、データを取得するために接続が開き、その後閉じられます。 呼び出される前に Fill 接続が開いている場合は、開いたままです。

Fillその後、操作によって行がコピー先DataTableオブジェクトにDataSet追加され、オブジェクトがまだ存在しない場合は作成DataTableされます。 オブジェクトを作成する DataTable 場合、通常、この操作では Fill 列名のメタデータのみが作成されます。 ただし、プロパティが MissingSchemaAction 設定 AddWithKeyされている場合は、適切な主キーと制約も作成されます。

SelectCommand が OUTER JOIN の結果を返す場合、 DataAdapter は、生成される PrimaryKeyDataTable値を設定しません。 重複する行が正しく解決されるように、主キーを明示的に定義する必要があります。 詳しくは、「主キーの定義」をご覧ください。

データ アダプターでは、データ アダプターでデータの設定 DataTable中に重複する列が検出された場合、パターン "columnname1"、"columnname2"、"columnname3" などを使用して、後続の列の名前が生成されます。 受信データに名前のない列が含まれている場合は、"Column1"、"Column2" などのパターンに従って配置 DataSet されます。 複数の結果セットが各結果セットに DataSet 追加されると、個別のテーブルに配置されます。 追加の結果セットには、指定したテーブル名に整数値 ("Table"、"Table1"、"Table2" など) を追加することで名前が付けられます。 列名とテーブル名を使用するアプリケーションでは、これらの名前付けパターンとの競合が発生しないようにする必要があります。

SELECT ステートメントを使用してDataSetバッチ SQL ステートメントなどの複数の結果を返す場合、いずれかの結果にエラーが含まれている場合、後続のすべての結果はスキップされ、追加されませんDataSet

同じDataTable方法でFill複数回使用できます。 主キーが存在する場合、受信行は、既に存在する一致する行とマージされます。 主キーが存在しない場合は、受信行が DataTable.

注意

複数の結果を返すバッチ SQL ステートメントを処理する場合、OLE DB のFillSchema.NET Framework Data Providerの実装では、最初の結果についてのみスキーマ情報が取得されます。 複数の結果のスキーマ情報を取得するには、次に設定してMissingSchemaAction使用FillしますAddWithKey

こちらもご覧ください

適用対象

Fill(DataTable, IDataReader)

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

パラメーター

dataTable
DataTable

レコードの格納先の DataTable

dataReader
IDataReader

IDataReader のインスタンス。

戻り値

Int32

DataTable で正常に追加または更新された行数。 これには、行を返さないステートメントの影響を受ける行は含まれません。

注釈

詳細については、解説を DataAdapter.Fill(DataSet) 参照してください。

こちらもご覧ください

適用対象

Fill(DataTable[], IDataReader, Int32, Int32)

データ ソース内の行と一致するように、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

パラメーター

dataTables
DataTable[]

レコードの格納先の DataTable オブジェクトのコレクション。

dataReader
IDataReader

IDataReader のインスタンス。

startRecord
Int32

開始レコードの 0 から始まるインデックス。

maxRecords
Int32

最大レコード数を示す整数。

戻り値

Int32

DataTable で正常に追加または更新された行数。 これには、行を返さないステートメントの影響を受ける行は含まれません。

注釈

詳細については、解説を System.Data.Common.DataAdapter.Fill(System.Data.DataSet) 参照してください。

こちらもご覧ください

適用対象

Fill(DataSet, String, IDataReader, Int32, Int32)

DataSet 名および DataSet 名を使用して、データ ソース内の行と一致するように、DataTable 内の指定した範囲の行を追加または更新します。

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

パラメーター

dataSet
DataSet

レコードの格納先の DataSet

srcTable
String

ソース テーブルの名前を示す文字列。

dataReader
IDataReader

IDataReader のインスタンス。

startRecord
Int32

開始レコードの 0 から始まるインデックス。

maxRecords
Int32

最大レコード数を示す整数。

戻り値

Int32

DataSet で正常に追加または更新された行数。 これには、行を返さないステートメントの影響を受ける行は含まれません。

注釈

詳細については、解説を System.Data.Common.DataAdapter.Fill(System.Data.DataSet) 参照してください。

こちらもご覧ください

適用対象