次の方法で共有


IDataAdapter.Fill(DataSet) メソッド

定義

DataSet 名を使用して、データ ソース内の行と一致するように、DataSet 内の行を追加または更新します。また、Table という名前の DataTable を作成します。

public:
 int Fill(System::Data::DataSet ^ dataSet);
public int Fill (System.Data.DataSet dataSet);
abstract member Fill : System.Data.DataSet -> int
Public Function Fill (dataSet As DataSet) As Integer

パラメーター

dataSet
DataSet

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

戻り値

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

注釈

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

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

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

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

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

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

注意

複数の結果を返すバッチ SQL ステートメントを処理する場合、.NET Framework データ プロバイダーの および FillSchemaFill実装では、最初の結果のみのスキーマ情報が取得されます。

適用対象

こちらもご覧ください