DbDataAdapter.Fill メソッド (Int32, Int32, DataTable[])
アセンブリ: System.Data (system.data.dll 内)

Public Function Fill ( _ startRecord As Integer, _ maxRecords As Integer, _ ParamArray dataTables As DataTable() _ ) As Integer
Dim instance As DbDataAdapter Dim startRecord As Integer Dim maxRecords As Integer Dim dataTables As DataTable() Dim returnValue As Integer returnValue = instance.Fill(startRecord, maxRecords, dataTables)
- dataTables
CommandBehavior 値の 1 つ。
DataTable で正常に追加または更新された行数。これには、行を返さないステートメントの影響を受ける行は含まれません。

Fill メソッドは、関連付けられた SelectCommand プロパティで指定された SELECT ステートメントを使用して、データ ソースから行を取得します。SELECT ステートメントに関連付けられた接続オブジェクトは、有効なものでなければなりませんが、開いている必要はありません。Fill を呼び出す前に接続が閉じていた場合は、接続が開かれ、データを取得した後で再び閉じられます。Fill を呼び出す前に接続が開いていた場合は、接続は開いたままになります。
次に、Fill は、DataSet 内にある指定された DataTable オブジェクトに行を追加します。DataTable オブジェクトが存在しない場合は、新しく作成します。DataTable オブジェクトを作成する場合、Fill は、通常、列名メタデータだけを作成します。ただし、MissingSchemaAction プロパティが AddWithKey に設定されている場合は、適切な主キーおよび制約も作成します。
DataTable へのデータの格納中に重複する列が見つかった場合、2 番目以降の列には、DbDataAdapter オブジェクトによって、"columnname1"、"columnname2"、"columnname3" のような形式で名前が生成されます。受信したデータに無名の列が含まれていた場合は、Column1、Column2 のような形式の名前で DataSet に列が格納されます。
パラメータとして DataTable を受け取る Fill のオーバーロードは、最初の結果だけを取得します。複数の結果を取得するには、パラメータとして DataSet を受け取る Fill のオーバーロードを使用します。
Fill メソッドは、同じ DataTable に対して複数回使用できます。主キーが存在する場合は、受信した行が既存の一致する行とマージされます。主キーが存在しない場合は、受信した行が DataTable に追加されます。
SelectCommand から OUTER JOIN の結果が返された場合、DataAdapter は、結果の DataTable に PrimaryKey の値を設定しません。行の重複が正しく解決されるようにするには、明示的に主キーを定義する必要があります。詳細については、「テーブルの主キーの定義」を参照してください。
![]() |
---|
複数の結果を返すバッチ SQL ステートメントを処理する場合、.NET Framework OLE DB 用データ プロバイダの FillSchema の実装では、最初の結果のスキーマ情報だけが取得されます。複数の結果のスキーマ情報を取得するには、MissingSchemaAction を AddWithKey に設定して Fill を使用します。 |

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DbDataAdapter.Fill メソッド (DataTable, IDbCommand, CommandBehavior)
アセンブリ: System.Data (system.data.dll 内)

Protected Overridable Function Fill ( _ dataTable As DataTable, _ command As IDbCommand, _ behavior As CommandBehavior _ ) As Integer
Dim dataTable As DataTable Dim command As IDbCommand Dim behavior As CommandBehavior Dim returnValue As Integer returnValue = Me.Fill(dataTable, command, behavior)
protected function Fill ( dataTable : DataTable, command : IDbCommand, behavior : CommandBehavior ) : int
戻り値
DataTable で正常に追加または更新された行数。これには、行を返さないステートメントの影響を受ける行は含まれません。

Fill メソッドは、関連付けられた SelectCommand プロパティで指定された SELECT ステートメントを使用して、データ ソースから行を取得します。SELECT ステートメントに関連付けられた接続オブジェクトは、有効なものでなければなりませんが、開いている必要はありません。Fill を呼び出す前に接続が閉じていた場合は、接続が開かれ、データを取得した後で再び閉じられます。Fill を呼び出す前に接続が開いていた場合は、接続は開いたままになります。
次に、Fill は、DataSet 内にある指定された DataTable オブジェクトに行を追加します。DataTable オブジェクトが存在しない場合は、新しく作成します。DataTable オブジェクトを作成する場合、Fill は、通常、列名メタデータだけを作成します。ただし、MissingSchemaAction プロパティが AddWithKey に設定されている場合は、適切な主キーおよび制約も作成します。
DataTable へのデータの格納中に重複する列が見つかった場合、2 番目以降の列には、DbDataAdapter オブジェクトによって、"columnname1"、"columnname2"、"columnname3" のような形式で名前が生成されます。受信したデータに無名の列が含まれていた場合は、Column1、Column2 のような形式の名前で DataSet に列が格納されます。
パラメータとして DataTable を受け取る Fill のオーバーロードは、最初の結果だけを取得します。複数の結果を取得するには、パラメータとして DataSet を受け取る Fill のオーバーロードを使用します。
Fill メソッドは、同じ DataTable に対して複数回使用できます。主キーが存在する場合は、受信した行が既存の一致する行とマージされます。主キーが存在しない場合は、受信した行が DataTable に追加されます。
SelectCommand から OUTER JOIN の結果が返された場合、DataAdapter は、結果の DataTable に PrimaryKey の値を設定しません。行の重複が正しく解決されるようにするには、明示的に主キーを定義する必要があります。詳細については、「テーブルの主キーの定義」を参照してください。
![]() |
---|
複数の結果を返すバッチ SQL ステートメントを処理する場合、.NET Framework OLE DB 用データ プロバイダの FillSchema の実装では、最初の結果のスキーマ情報だけが取得されます。複数の結果のスキーマ情報を取得するには、MissingSchemaAction を AddWithKey に設定して Fill を使用します。 |

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DbDataAdapter.Fill メソッド (DataTable[], Int32, Int32, IDbCommand, CommandBehavior)
アセンブリ: System.Data (system.data.dll 内)

Protected Overridable Function Fill ( _ dataTables As DataTable(), _ startRecord As Integer, _ maxRecords As Integer, _ command As IDbCommand, _ behavior As CommandBehavior _ ) As Integer
Dim dataTables As DataTable() Dim startRecord As Integer Dim maxRecords As Integer Dim command As IDbCommand Dim behavior As CommandBehavior Dim returnValue As Integer returnValue = Me.Fill(dataTables, startRecord, maxRecords, command, behavior)
protected virtual int Fill ( DataTable[] dataTables, int startRecord, int maxRecords, IDbCommand command, CommandBehavior behavior )
protected: virtual int Fill ( array<DataTable^>^ dataTables, int startRecord, int maxRecords, IDbCommand^ command, CommandBehavior behavior )
protected int Fill ( DataTable[] dataTables, int startRecord, int maxRecords, IDbCommand command, CommandBehavior behavior )
protected function Fill ( dataTables : DataTable[], startRecord : int, maxRecords : int, command : IDbCommand, behavior : CommandBehavior ) : int
戻り値
データ テーブルで追加または更新された行数。


maxRecords の値が 0 の場合は、開始レコード以降に見つかったすべてのレコードが取得されます。maxRecords が残りの行数より大きい場合は、残りの行が返され、エラーは発生しません。
Fill メソッドは、SELECT ステートメントを使用して、データ ソースからデータを取得します。SELECT ステートメントに関連付けられた IDbConnection オブジェクトは、有効なものである必要がありますが、開いている必要はありません。Fill を呼び出す前に IDbConnection が閉じていた場合は、接続が開かれ、データを取得した後で再び閉じられます。Fill を呼び出す前に接続が開いていた場合は、接続は開いたままになります。
コマンドが行を返さない場合は、DataSet にテーブルは追加されず、例外は生成されません。
DataTable へのデータの格納中に重複する列が見つかった場合、2 番目以降の列には、DbDataAdapter オブジェクトによって、"columnname1"、"columnname2"、"columnname3" のような形式で名前が生成されます。受信したデータに無名の列が含まれていた場合は、Column1、Column2 のような形式の名前で DataSet に列が格納されます。
指定したクエリが複数の結果を返す場合は、各結果セットが個別のテーブルに格納されます。2 番目以降の結果セットには、指定されたテーブル名に整数値を追加した名前が付けられます。たとえば、Table、Table1、Table2 のようになります。行を返さないクエリではテーブルは作成されません。したがって、挿入クエリの後で選択クエリを処理した場合、選択クエリで作成されるテーブルが最初に作成されるテーブルになるため、このテーブルが Table という名前になります。アプリケーションで列名およびテーブル名を使用するときは、これらの名前付けパターンとの衝突が発生しないように注意する必要があります。
Fill メソッドは、大文字と小文字の違いを除いて名前が一致する DataTable オブジェクトが DataSet 内に複数含まれる場合に、それらを区別します。この場合、Fill は、大文字と小文字を区別して比較を実行し、対応するテーブルを見つけます。正確に一致するテーブルが存在しない場合は、新しく作成します。この動作を表す C# コードの例を次に示します。
DataSet dataset = new DataSet(); dataset.Tables.Add("aaa"); dataset.Tables.Add("AAA"); adapter.Fill(dataset, "aaa"); // Fills "aaa", which already exists in the DataSet. adapter.Fill(dataset, "Aaa"); // Adds a new table called "Aaa".
Fill を呼び出したときに、大文字と小文字の違いを除いて名前が一致する DataTable が DataSet 内に 1 つだけ含まれている場合は、その DataTable が更新されます。この場合は、比較のときに大文字と小文字が区別されません。この動作を表す C# コードの例を次に示します。
DataSet dataset = new DataSet(); dataset.Tables.Add("aaa"); adapter.Fill(dataset, "AAA"); // Fills table "aaa" because only one similarly named table is in the DataSet.
データ テーブルへのデータの格納中にエラーが発生した場合は、エラーの発生前に追加された行は、データ テーブル内に残ります。残りの操作は中止されます。
バッチ SQL ステートメントのように、DataTable オブジェクトへのデータの格納に使用する SELECT ステートメントが複数の結果を返す場合は、次の点に注意してください。
-
バッチ SQL ステートメントが複数の結果を返す場合、maxRecords は、最初の結果だけに適用されます。これは、複数に分けられた結果が含まれる行についても同様です (.NET Framework OLE DB 用データ プロバイダだけ)。最上位の結果は maxRecords によって制限されますが、子の行はすべて追加されます。
![]() |
---|
DataSet には、maxRecords で指定したレコード数までのレコードだけが格納されます。ただし、クエリによって生成される結果セット全体は、それ以後もサーバーから返されます。 |

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DbDataAdapter.Fill メソッド (DataTable)
アセンブリ: System.Data (system.data.dll 内)

Dim instance As DbDataAdapter Dim dataTable As DataTable Dim returnValue As Integer returnValue = instance.Fill(dataTable)
戻り値
DataSet で正常に追加または更新された行数。これには、行を返さないステートメントの影響を受ける行は含まれません。


Fill メソッドは、関連付けられた SelectCommand プロパティで指定された SELECT ステートメントを使用して、データ ソースから行を取得します。SELECT ステートメントに関連付けられた接続オブジェクトは、有効なものでなければなりませんが、開いている必要はありません。Fill を呼び出す前に接続が閉じていた場合は、接続が開かれ、データを取得した後で再び閉じられます。Fill を呼び出す前に接続が開いていた場合は、接続は開いたままになります。
次に、Fill は、DataSet 内にある追加先の DataTable オブジェクトに行を追加します。DataTable オブジェクトが存在しない場合は、新しく作成します。DataTable オブジェクトを作成する場合、Fill は、通常、列名メタデータのみを作成します。ただし、MissingSchemaAction プロパティが AddWithKey に設定されている場合は、適切な主キーおよび制約も作成します。
DataTable へのデータの格納中に重複する列が見つかった場合、2 番目以降の列には、DbDataAdapter によって、"columnname1"、"columnname2"、"columnname3" のような形式で名前が生成されます。受信したデータに無名の列が含まれていた場合は、Column1、Column2 のような形式の名前で DataSet に列が格納されます。DataSet に複数結果セットを追加するときは、各結果セットが個別のテーブルに格納されます。
パラメータとして DataTable を受け取る Fill のオーバーロードは、最初の結果だけを取得します。複数の結果を取得するには、パラメータとして DataSet を受け取る Fill のオーバーロードを使用します。
Fill メソッドは、大文字と小文字の違いを除いて名前が一致する DataTable オブジェクトが DataSet 内に複数含まれる場合に、それらを区別します。この場合、Fill は、大文字と小文字を区別して比較を実行し、対応するテーブルを見つけます。正確に一致するテーブルが存在しない場合は、新しく作成します。この動作を表す C# コードの例を次に示します。
DataSet dataset = new DataSet(); dataset.Tables.Add("aaa"); dataset.Tables.Add("AAA"); adapter.Fill(dataset, "aaa"); // Fills "aaa", which already exists in the DataSet. adapter.Fill(dataset, "Aaa"); // Adds a new table called "Aaa".
Fill を呼び出したときに、大文字と小文字の違いを除いて名前が一致する DataTable が DataSet 内に 1 つだけ含まれている場合は、その DataTable が更新されます。この場合は、比較のときに大文字と小文字が区別されません。この動作を表す C# コードの例を次に示します。
DataSet dataset = new DataSet(); dataset.Tables.Add("aaa"); adapter.Fill(dataset, "AAA"); // Fills table "aaa" because only one similarly named table is in the DataSet.
Fill メソッドは、同じ DataTable に対して複数回使用できます。主キーが存在する場合は、受信した行が既存の一致する行とマージされます。主キーが存在しない場合は、受信した行が DataTable に追加されます。
SelectCommand から OUTER JOIN の結果が返された場合、DataAdapter は、結果の DataTable に PrimaryKey の値を設定しません。行の重複が正しく解決されるようにするには、明示的に主キーを定義する必要があります。詳細については、「テーブルの主キーの定義」を参照してください。
![]() |
---|
複数の結果を返すバッチ SQL ステートメントを処理する場合、.NET Framework データ プロバイダの Fill および FillSchema の実装では、最初の結果のスキーマ情報だけが取得されます。 |

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DbDataAdapter.Fill メソッド (DataSet, Int32, Int32, String, IDbCommand, CommandBehavior)
アセンブリ: System.Data (system.data.dll 内)

Protected Overridable Function Fill ( _ dataSet As DataSet, _ startRecord As Integer, _ maxRecords As Integer, _ srcTable As String, _ command As IDbCommand, _ behavior As CommandBehavior _ ) As Integer
Dim dataSet As DataSet Dim startRecord As Integer Dim maxRecords As Integer Dim srcTable As String Dim command As IDbCommand Dim behavior As CommandBehavior Dim returnValue As Integer returnValue = Me.Fill(dataSet, startRecord, maxRecords, srcTable, command, behavior)
protected virtual int Fill ( DataSet dataSet, int startRecord, int maxRecords, string srcTable, IDbCommand command, CommandBehavior behavior )
protected: virtual int Fill ( DataSet^ dataSet, int startRecord, int maxRecords, String^ srcTable, IDbCommand^ command, CommandBehavior behavior )
protected int Fill ( DataSet dataSet, int startRecord, int maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior )
protected function Fill ( dataSet : DataSet, startRecord : int, maxRecords : int, srcTable : String, command : IDbCommand, behavior : CommandBehavior ) : int
戻り値
DataSet で正常に追加または更新された行数。これには、行を返さないステートメントの影響を受ける行は含まれません。


Fill メソッドは、関連付けられた SelectCommand プロパティで指定された SELECT ステートメントを使用して、データ ソースから行を取得します。SELECT ステートメントに関連付けられた接続オブジェクトは、有効なものでなければなりませんが、開いている必要はありません。Fill を呼び出す前に接続が閉じていた場合は、接続が開かれ、データを取得した後で再び閉じられます。Fill を呼び出す前に接続が開いていた場合は、接続は開いたままになります。
次に、Fill は、DataSet 内にある追加先の DataTable オブジェクトに行を追加します。DataTable オブジェクトが存在しない場合は、新しく作成します。DataTable オブジェクトを作成する場合、Fill は、通常、列名メタデータのみを作成します。ただし、MissingSchemaAction プロパティが AddWithKey に設定されている場合は、適切な主キーおよび制約も作成します。
DataTable へのデータの格納中に重複する列が見つかった場合、2 番目以降の列には、DbDataAdapter によって、"columnname1"、"columnname2"、"columnname3" のような形式で名前が生成されます。受信したデータに無名の列が含まれていた場合は、Column1、Column2 のような形式の名前で DataSet に列が格納されます。DataSet に複数結果セットを追加するときは、各結果セットが個別のテーブルに格納されます。2 番目以降の結果セットには、指定されたテーブル名に整数値を追加した名前が付けられます。たとえば、Table、Table1、Table2 のようになります。アプリケーションで列名およびテーブル名を使用するときは、これらの名前付けパターンとの衝突が発生しないように注意する必要があります。
Fill メソッドは、大文字と小文字の違いを除いて名前が一致する DataTable オブジェクトが DataSet 内に複数含まれる場合に、それらを区別します。この場合、Fill は、大文字と小文字を区別して比較を実行し、対応するテーブルを見つけます。正確に一致するテーブルが存在しない場合は、新しく作成します。この動作を表す C# コードの例を次に示します。
DataSet dataset = new DataSet(); dataset.Tables.Add("aaa"); dataset.Tables.Add("AAA"); adapter.Fill(dataset, "aaa"); // Fills "aaa", which already exists in the DataSet. adapter.Fill(dataset, "Aaa"); // Adds a new table called "Aaa".
Fill を呼び出したときに、大文字と小文字の違いを除いて名前が一致する DataTable が DataSet 内に 1 つだけ含まれている場合は、その DataTable が更新されます。この場合は、比較のときに大文字と小文字が区別されません。この動作を表す C# コードの例を次に示します。
DataSet dataset = new DataSet(); dataset.Tables.Add("aaa"); adapter.Fill(dataset, "AAA"); // Fills table "aaa" because only one similarly named table is in the DataSet.
Fill メソッドは、同じ DataTable に対して複数回使用できます。主キーが存在する場合は、受信した行が既存の一致する行とマージされます。主キーが存在しない場合は、受信した行が DataTable に追加されます。
SelectCommand から OUTER JOIN の結果が返された場合、DataAdapter は、結果の DataTable に PrimaryKey の値を設定しません。行の重複が正しく解決されるようにするには、明示的に主キーを定義する必要があります。詳細については、「テーブルの主キーの定義」を参照してください。
![]() |
---|
複数の結果を返すバッチ SQL ステートメントを処理する場合、.NET Framework データ プロバイダの Fill および FillSchema の実装では、最初の結果のスキーマ情報だけが取得されます。 |

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DbDataAdapter.Fill メソッド (DataSet, Int32, Int32, String)
アセンブリ: System.Data (system.data.dll 内)

Public Function Fill ( _ dataSet As DataSet, _ startRecord As Integer, _ maxRecords As Integer, _ srcTable As String _ ) As Integer
Dim instance As DbDataAdapter Dim dataSet As DataSet Dim startRecord As Integer Dim maxRecords As Integer Dim srcTable As String Dim returnValue As Integer returnValue = instance.Fill(dataSet, startRecord, maxRecords, srcTable)
public function Fill ( dataSet : DataSet, startRecord : int, maxRecords : int, srcTable : String ) : int
戻り値
DataSet で正常に追加または更新された行数。これには、行を返さないステートメントの影響を受ける行は含まれません。


maxRecords の値が 0 の場合は、開始レコード以降に見つかったすべてのレコードが取得されます。maxRecords が残りの行数より大きい場合は、残りの行が返され、エラーは発生しません。
対応する SELECT コマンドが複数の結果を返す場合、Fill では、最初の結果だけに maxRecords が適用されます。
Fill メソッドは、SELECT ステートメントを使用して、データ ソースからデータを取得します。SELECT ステートメントに関連付けられた IDbConnection オブジェクトは、有効なものである必要がありますが、開いている必要はありません。Fill を呼び出す前に IDbConnection が閉じていた場合は、接続が開かれ、データを取得した後で再び閉じられます。Fill を呼び出す前に接続が開いていた場合は、接続は開いたままになります。
コマンドが行を返さない場合は、DataSet にテーブルは追加されず、例外は生成されません。
DataTable へのデータの格納中に重複する列が見つかった場合、2 番目以降の列には、DbDataAdapter オブジェクトによって、"columnname1"、"columnname2"、"columnname3" のような形式で名前が生成されます。受信したデータに無名の列が含まれていた場合は、Column1、Column2 のような形式の名前で DataSet に列が格納されます。
指定したクエリが複数の結果を返す場合は、各結果セットが個別のテーブルに格納されます。2 番目以降の結果セットには、指定されたテーブル名に整数値を追加した名前が付けられます。たとえば、Table、Table1、Table2 のようになります。行を返さないクエリではテーブルは作成されません。したがって、挿入クエリの後で選択クエリを処理した場合、選択クエリで作成されるテーブルが最初に作成されるテーブルになるため、このテーブルが "Table" という名前になります。アプリケーションで列名およびテーブル名を使用するときは、これらの名前付けパターンとの衝突が発生しないように注意する必要があります。
Fill メソッドは、大文字と小文字の違いを除いて名前が一致する DataTable オブジェクトが DataSet 内に複数含まれる場合に、それらを区別します。この場合、Fill は、大文字と小文字を区別して比較を実行し、対応するテーブルを見つけます。正確に一致するテーブルが存在しない場合は、新しく作成します。この動作を表す C# コードの例を次に示します。
DataSet dataset = new DataSet(); dataset.Tables.Add("aaa"); dataset.Tables.Add("AAA"); adapter.Fill(dataset, "aaa"); // Fills "aaa", which already exists in the DataSet. adapter.Fill(dataset, "Aaa"); // Adds a new table called "Aaa".
Fill を呼び出したときに、大文字と小文字の違いを除いて名前が一致する DataTable が DataSet 内に 1 つだけ含まれている場合は、その DataTable が更新されます。この場合は、比較のときに大文字と小文字が区別されません。この動作を表す C# コードの例を次に示します。
DataSet dataset = new DataSet(); dataset.Tables.Add("aaa"); adapter.Fill(dataset, "AAA"); // Fills table "aaa" because only one similarly named table is in the DataSet.
データ セットへのデータの格納中にエラーが発生した場合は、エラーの発生前に追加された行は、データ セット内に残ります。残りの操作は中止されます。
バッチ SQL ステートメントのように、DataSet へのデータの格納に使用する SELECT ステートメントが複数の結果を返す場合は、次の点に注意してください。
-
バッチ SQL ステートメントが複数の結果を返す場合、maxRecords は、最初の結果だけに適用されます。これは、複数に分けられた結果が含まれる行についても同様です (.NET Framework OLE DB 用データ プロバイダだけ)。最上位の結果は maxRecords によって制限されますが、子の行はすべて追加されます。
初回以降、Fill 呼び出しを使用して DataSet の内容を更新する場合は、次の 2 つの条件を満たす必要があります。
主キー情報が存在する場合、重複行は、DataSet に対応する DataTable 内に 1 つだけ現れるように調整されます。主キー情報は、FillSchema を使用するか、DataTable の PrimaryKey プロパティを指定するか、または MissingSchemaAction プロパティを AddWithKey に設定することによって、設定できます。
SelectCommand から OUTER JOIN の結果が返された場合、DataAdapter は、結果の DataTable に PrimaryKey の値を設定しません。行の重複が正しく解決されるようにするには、明示的に主キーを定義する必要があります。詳細については、「テーブルの主キーの定義」を参照してください。
![]() |
---|
複数の結果を返すバッチ SQL ステートメントを処理する場合、.NET Framework OLE DB 用データ プロバイダの FillSchema の実装では、最初の結果のスキーマ情報だけが取得されます。複数の結果のスキーマ情報を取得するには、MissingSchemaAction を AddWithKey に設定して Fill を使用します。 |

OleDbDataAdapter 派生クラスを使用して、DataSet に Categories テーブルのデータ ソースの行を、10 行目から開始して 15 行格納する例を示します。この例では、OleDbDataAdapter および DataSet が作成されていることを前提にしています。

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DbDataAdapter.Fill メソッド

名前 | 説明 |
---|---|
DbDataAdapter.Fill (DataSet) | DataSet 名を使用して、データ ソース内の行と一致するように、DataSet 内の行を追加または更新します。また、"Table" という名前の DataTable を作成します。 .NET Compact Framework によってサポートされています。 |
DbDataAdapter.Fill (DataTable) | DataSet 名、DataTable 名、および IDataReader 名を使用して、データ ソース内の列と一致するように、DataSet 内の指定した範囲の行を追加または更新します。 .NET Compact Framework によってサポートされています。 |
DbDataAdapter.Fill (DataSet, String) | DataSet 名および DataTable 名を使用して、データ ソース内の列と一致するように DataSet 内の行を追加または更新します。 .NET Compact Framework によってサポートされています。 |
DbDataAdapter.Fill (DataTable, IDataReader) | DataSet 名を使用して、データ ソース内の行と一致するように、DataSet 内の行を追加または更新します。また、DataTable を作成します。 |
DbDataAdapter.Fill (DataTable, IDbCommand, CommandBehavior) | 指定した DataTable 名および IDataReader 名を使用して、データ ソース内の列と一致するように DataTable 内の行を追加または更新します。 .NET Compact Framework によってサポートされています。 |
DbDataAdapter.Fill (Int32, Int32, DataTable[]) | DataTable 名、指定した SQL SELECT ステートメント、および CommandBehavior を使用して、データ ソース内の列と一致するように DataTable 内の行を追加または更新します。 .NET Compact Framework によってサポートされています。 |
DbDataAdapter.Fill (DataSet, Int32, Int32, String) | DataSet 名および DataTable 名を使用して、データ ソース内の行と一致するように、DataSet 内の指定した範囲の行を追加または更新します。 .NET Compact Framework によってサポートされています。 |
DbDataAdapter.Fill (DataTable[], IDataReader, Int32, Int32) | DataSet 名を使用して、データ ソース内の行と一致するように、DataSet 内の行を追加または更新します。また、DataTable を作成します。 |
DbDataAdapter.Fill (DataSet, String, IDataReader, Int32, Int32) | DataSet 名を使用して、データ ソース内の行と一致するように、DataSet 内の行を追加または更新します。また、DataTable を作成します。 |
DbDataAdapter.Fill (DataTable[], Int32, Int32, IDbCommand, CommandBehavior) | DataSet 名および DataTable 名を使用して、データ ソース内の行と一致するように、DataSet 内の指定した範囲の行を追加または更新します。 .NET Compact Framework によってサポートされています。 |
DbDataAdapter.Fill (DataSet, Int32, Int32, String, IDbCommand, CommandBehavior) | DataSet 名、ソース テーブル名、コマンド文字列、およびコマンド動作を使用して、データ ソース内の列と一致するように、DataSet 内の指定した範囲の行を追加または更新します。 .NET Compact Framework によってサポートされています。 |

DbDataAdapter.Fill メソッド (DataSet, String)
アセンブリ: System.Data (system.data.dll 内)

Dim instance As DbDataAdapter Dim dataSet As DataSet Dim srcTable As String Dim returnValue As Integer returnValue = instance.Fill(dataSet, srcTable)
戻り値
DataSet で正常に追加または更新された行数。これには、行を返さないステートメントの影響を受ける行は含まれません。


Fill メソッドは、SELECT ステートメントを使用して、データ ソースからデータを取得します。SELECT コマンドに関連付けられた IDbConnection オブジェクトは、有効なものである必要がありますが、開いている必要はありません。Fill を呼び出す前に IDbConnection が閉じていた場合は、接続が開かれ、データを取得した後で再び閉じられます。Fill を呼び出す前に接続が開いていた場合は、接続は開いたままになります。
コマンドが行を返さない場合は、DataSet にテーブルは追加されず、例外は生成されません。
DataTable へのデータの格納中に重複する列が見つかった場合、2 番目以降の列には、DbDataAdapter オブジェクトによって、columnname1、columnname2、columnname3 のような形式で名前が生成されます。受信したデータに無名の列が含まれていた場合は、Column1、Column2 のような形式の名前で DataSet に列が格納されます。
指定したクエリが複数の結果を返す場合は、各結果セットが個別のテーブルに格納されます。2 番目以降の結果セットには、指定されたテーブル名に整数値を追加した名前が付けられます。たとえば、Table、Table1、Table2 のようになります。行を返さないクエリではテーブルは作成されません。したがって、挿入クエリの後で選択クエリを処理した場合、選択クエリで作成されるテーブルが最初に作成されるテーブルになるため、このテーブルが Table という名前になります。アプリケーションで列名およびテーブル名を使用するときは、これらの名前付けパターンとの衝突が発生しないように注意する必要があります。
Fill メソッドは、大文字と小文字の違いを除いて名前が一致する DataTable オブジェクトが DataSet 内に複数含まれる場合に、それらを区別します。この場合、Fill は、大文字と小文字を区別して比較を実行し、対応するテーブルを見つけます。正確に一致するテーブルが存在しない場合は、新しく作成します。この動作を表す C# コードの例を次に示します。
DataSet dataset = new DataSet(); dataset.Tables.Add("aaa"); dataset.Tables.Add("AAA"); adapter.Fill(dataset, "aaa"); // Fills "aaa", which already exists in the DataSet. adapter.Fill(dataset, "Aaa"); // Adds a new table called "Aaa".
Fill を呼び出したときに、大文字と小文字の違いを除いて名前が一致する DataTable が DataSet 内に 1 つだけ含まれている場合は、その DataTable が更新されます。この場合は、比較のときに大文字と小文字が区別されません。この動作を表す C# コードの例を次に示します。
DataSet dataset = new DataSet(); dataset.Tables.Add("aaa"); adapter.Fill(dataset, "AAA"); // Fills table "aaa" because only one similarly named table is in the DataSet.
データ セットへのデータの格納中にエラーが発生した場合は、エラーの発生前に追加された行は、データ セット内に残ります。残りの操作は中止されます。
バッチ SQL ステートメントのように、DataSet へのデータの格納に使用する SELECT ステートメントが複数の結果を返す場合は、次の点に注意してください。
初回以降、Fill 呼び出しを使用して DataSet の内容を更新する場合は、次の 2 つの条件を満たす必要があります。
-
SQL ステートメントは、初回に DataSet にデータを格納するために使用したステートメントと一致させる必要があります。
-
キー列情報が存在している必要があります。主キー情報が存在する場合、重複行は、DataSet に対応する DataTable 内に 1 つだけ現れるように調整されます。主キー情報は、FillSchema を使用するか、DataTable の PrimaryKey プロパティを指定するか、または MissingSchemaAction プロパティを AddWithKey に設定することによって、設定できます。
SelectCommand から OUTER JOIN の結果が返された場合、DataAdapter は、結果の DataTable に PrimaryKey の値を設定しません。行の重複が正しく解決されるようにするには、明示的に主キーを定義する必要があります。詳細については、「テーブルの主キーの定義」を参照してください。
![]() |
---|
複数の結果を返すバッチ SQL ステートメントを処理する場合、.NET Framework OLE DB 用データ プロバイダの FillSchema の実装では、最初の結果のスキーマ情報だけが取得されます。複数の結果のスキーマ情報を取得するには、MissingSchemaAction を AddWithKey に設定して Fill を使用します。 |

OleDbDataAdapter 派生クラスを使用して、DataSet に categories テーブルの行を格納する例を次に示します。この例では、OleDbDataAdapter および DataSet が作成されていることを前提にしています。

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DbDataAdapter.Fill メソッド (DataSet)
アセンブリ: System.Data (system.data.dll 内)

Dim instance As DbDataAdapter Dim dataSet As DataSet Dim returnValue As Integer returnValue = instance.Fill(dataSet)
戻り値
DataSet で正常に追加または更新された行数。これには、行を返さないステートメントの影響を受ける行は含まれません。

Fill メソッドは、SELECT ステートメントを使用して、データ ソースからデータを取得します。SELECT コマンドに関連付けられた IDbConnection オブジェクトは、有効なものである必要がありますが、開いている必要はありません。Fill を呼び出す前に IDbConnection が閉じていた場合は、接続が開かれ、データを取得した後で再び閉じられます。Fill を呼び出す前に接続が開いていた場合は、接続は開いたままになります。
データ セットへのデータの格納中にエラーが発生した場合は、エラーの発生前に追加された行は、データ セット内に残ります。残りの操作は中止されます。
コマンドが行を返さない場合は、DataSet にテーブルは追加されず、例外は生成されません。
DataTable へのデータの格納中に重複する列が見つかった場合、2 番目以降の列には、DbDataAdapter によって、"columnname1"、"columnname2"、"columnname3" のような形式で名前が生成されます。受信したデータに無名の列が含まれていた場合は、Column1、Column2 のような形式の名前で DataSet に列が格納されます。
指定したクエリが複数の結果を返す場合は、クエリを返す各列の結果セットが個別のテーブルに格納されます。2 番目以降の結果セットには、指定されたテーブル名に整数値を追加した名前が付けられます。たとえば、Table、Table1、Table2 のようになります。行を返さないクエリではテーブルは作成されません。したがって、挿入クエリの後で選択クエリを処理した場合、選択クエリで作成されるテーブルが最初に作成されるテーブルになるため、このテーブルが "Table" という名前になります。アプリケーションで列名およびテーブル名を使用するときは、これらの名前付けパターンとの衝突が発生しないように注意する必要があります。
バッチ SQL ステートメントなど、DataSet へのデータの格納に使用する SELECT ステートメントが複数の結果を返す場合は、結果の 1 つにエラーが含まれていると、それ以降の結果はすべてスキップされ、DataSet に追加されません。
初回以降、Fill 呼び出しを使用して DataSet の内容を更新する場合は、次の 2 つの条件を満たす必要があります。
主キー情報が存在する場合、重複行は、DataSet に対応する DataTable 内に 1 つだけ現れるように調整されます。主キー情報は、FillSchema を使用するか、DataTable の PrimaryKey プロパティを指定するか、または MissingSchemaAction プロパティを AddWithKey に設定することによって、設定できます。
SelectCommand から OUTER JOIN の結果が返された場合、DataAdapter は、結果の DataTable に PrimaryKey の値を設定しません。行の重複が正しく解決されるようにするには、明示的に主キーを定義する必要があります。詳細については、「テーブルの主キーの定義」を参照してください。
![]() |
---|
複数の結果を返すバッチ SQL ステートメントを処理する場合、.NET Framework OLE DB 用データ プロバイダの FillSchema の実装では、最初の結果のスキーマ情報だけが取得されます。複数の結果のスキーマ情報を取得するには、MissingSchemaAction を AddWithKey に設定して Fill を使用します。 |

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からDbDataAdapter.Fillを検索する場合は、下記のリンクをクリックしてください。

- DbDataAdapter.Fillのページへのリンク