Language

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)

ソース:
DataAdapter.cs
ソース:
DataAdapter.cs
ソース:
DataAdapter.cs
ソース:
DataAdapter.cs
ソース:
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
DataSet

レコードと必要に応じてスキーマを入力する DataSet 。

返品

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

実装

注釈

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

次に、Fill操作により、DataTable内のコピー先DataSetオブジェクトに行が追加され、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 ステートメントなど) を返す場合、結果の 1 つにエラーが含まれている場合、後続のすべての結果はスキップされ、DataSetには追加されません。

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

Note

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

こちらもご覧ください

適用対象

Fill(DataTable, IDataReader)

ソース:
DataAdapter.cs
ソース:
DataAdapter.cs
ソース:
DataAdapter.cs
ソース:
DataAdapter.cs
ソース:
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

パラメーター

dataTable
DataTable

レコードを入力する DataTable 。

dataReader
IDataReader

IDataReaderのインスタンス。

返品

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

注釈

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

こちらもご覧ください

適用対象

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

ソース:
DataAdapter.cs
ソース:
DataAdapter.cs
ソース:
DataAdapter.cs
ソース:
DataAdapter.cs
ソース:
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

パラメーター

dataTables
DataTable[]

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

dataReader
IDataReader

IDataReaderのインスタンス。

startRecord
Int32

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

maxRecords
Int32

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

返品

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

注釈

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

こちらもご覧ください

適用対象

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

ソース:
DataAdapter.cs
ソース:
DataAdapter.cs
ソース:
DataAdapter.cs
ソース:
DataAdapter.cs
ソース:
DataAdapter.cs

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

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

返品

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

注釈

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

こちらもご覧ください

適用対象