DataTableExtensions.CopyToDataTable メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した入力 DataTable オブジェクトに応じて、DataRow オブジェクトのコピーを格納する IEnumerable<T> を返します。
オーバーロード
CopyToDataTable<T>(IEnumerable<T>) |
指定した入力 DataTable オブジェクトに応じて (ジェネリック パラメーター |
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) |
指定した入力 DataRow オブジェクトに応じて (ジェネリック パラメーター |
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) |
指定した入力 DataRow オブジェクトに応じて (ジェネリック パラメーター |
CopyToDataTable<T>(IEnumerable<T>)
指定した入力 DataTable オブジェクトに応じて (ジェネリック パラメーター T
は DataRow)、IEnumerable<T> オブジェクトのコピーを格納する DataRow を返します。
public:
generic <typename T>
where T : System::Data::DataRow[System::Runtime::CompilerServices::Extension]
static System::Data::DataTable ^ CopyToDataTable(System::Collections::Generic::IEnumerable<T> ^ source);
public static System.Data.DataTable CopyToDataTable<T> (this System.Collections.Generic.IEnumerable<T> source) where T : System.Data.DataRow;
static member CopyToDataTable : seq<'T (requires 'T :> System.Data.DataRow)> -> System.Data.DataTable (requires 'T :> System.Data.DataRow)
<Extension()>
Public Function CopyToDataTable(Of T As DataRow) (source As IEnumerable(Of T)) As DataTable
型パラメーター
- T
ソース シーケンスのオブジェクトの型 (通常は DataRow)。
パラメーター
- source
- IEnumerable<T>
ソース IEnumerable<T> シーケンス。
戻り値
DataTable オブジェクト型の入力シーケンスを格納する DataRow。
例外
ソース IEnumerable<T> シーケンスが null
で、新しいテーブルは作成できません。
ソース シーケンス内の DataRow が Deleted の状態です。
ソース シーケンスに DataRow オブジェクトは格納されていません。
ソース シーケンス内の DataRow が null
です。
例
次の例では、SalesOrderHeader テーブルに対して 2001 年 8 月 8 日以降の注文を照会し、 メソッドを CopyToDataTable 使用してそのクエリから を DataTable 作成します。 次に、DataTable が BindingSource にバインドされます。これは DataGridView のプロキシとして機能します。
// Bind the System.Windows.Forms.DataGridView object
// to the System.Windows.Forms.BindingSource object.
dataGridView.DataSource = bindingSource;
// Fill the DataSet.
DataSet ds = new DataSet();
ds.Locale = CultureInfo.InvariantCulture;
FillDataSet(ds);
DataTable orders = ds.Tables["SalesOrderHeader"];
// Query the SalesOrderHeader table for orders placed
// after August 8, 2001.
IEnumerable<DataRow> query =
from order in orders.AsEnumerable()
where order.Field<DateTime>("OrderDate") > new DateTime(2001, 8, 1)
select order;
// Create a table from the query.
DataTable boundTable = query.CopyToDataTable<DataRow>();
// Bind the table to a System.Windows.Forms.BindingSource object,
// which acts as a proxy for a System.Windows.Forms.DataGridView object.
bindingSource.DataSource = boundTable;
' Bind the System.Windows.Forms.DataGridView object
' to the System.Windows.Forms.BindingSource object.
dataGridView.DataSource = bindingSource
' Fill the DataSet.
Dim ds As New DataSet()
ds.Locale = CultureInfo.InvariantCulture
' See the FillDataSet method in the Loading Data Into a DataSet topic.
FillDataSet(ds)
Dim orders As DataTable = ds.Tables("SalesOrderHeader")
' Query the SalesOrderHeader table for orders placed
' after August 8, 2001.
Dim query = _
From order In orders.AsEnumerable() _
Where order.Field(Of DateTime)("OrderDate") > New DateTime(2001, 8, 1) _
Select order
' Create a table from the query.
Dim boundTable As DataTable = query.CopyToDataTable()
' Bind the table to a System.Windows.Forms.BindingSource object,
' which acts as a proxy for a System.Windows.Forms.DataGridView object.
bindingSource.DataSource = boundTable
注釈
入力パラメーターのパラメーター T
source
には、 型 DataRow または から DataRow派生した型のみを指定できます。
入力シーケンスには、クエリや に対するクエリだけでなく、任意 IEnumerable<T> のソースを DataTable指定できます。 ソース シーケンスがクエリの場合、この演算子を呼び出すと即時実行が強制されることに注意してください。 ソース シーケンスを列挙すると、例外がスローされる可能性もあります。
変換先テーブルのスキーマは、ソース シーケンスの最初 DataRow の行のスキーマに基づいています。 テーブル メタデータは、メタデータと DataRow の列値からテーブル値 DataRowから抽出されます。 型指定された DataTableの場合、型は保持されません。 データとスキーマは転送されますが、出力テーブルの結果の行は型指定された DataRow 型ではありません。 RowStateプロパティと RowError プロパティは、ソースDataRowから返された DataTableへのコピー中は保持されません。
null の値を持つ null 参照または null 許容型がソース DataRowで見つかった場合、このメソッドは、変換先 DataTable の値を の Value値に置き換えます。
メソッドによって返される生成されたテーブルには、既定のテーブル名があります。 にという名前 DataTableを付ける場合や、 に DataSetアタッチする場合、または他 DataTable の特定の操作を実行する場合は、テーブルを作成して返した後で実行する必要があります。
詳細については、「 クエリから DataTable を作成する」を参照してください。
適用対象
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)
指定した入力 DataRow オブジェクトに応じて (ジェネリック パラメーター T
は DataTable)、指定した IEnumerable<T> に DataRow オブジェクトをコピーします。
public:
generic <typename T>
where T : System::Data::DataRow[System::Runtime::CompilerServices::Extension]
static void CopyToDataTable(System::Collections::Generic::IEnumerable<T> ^ source, System::Data::DataTable ^ table, System::Data::LoadOption options);
public static void CopyToDataTable<T> (this System.Collections.Generic.IEnumerable<T> source, System.Data.DataTable table, System.Data.LoadOption options) where T : System.Data.DataRow;
static member CopyToDataTable : seq<'T (requires 'T :> System.Data.DataRow)> * System.Data.DataTable * System.Data.LoadOption -> unit (requires 'T :> System.Data.DataRow)
<Extension()>
Public Sub CopyToDataTable(Of T As DataRow) (source As IEnumerable(Of T), table As DataTable, options As LoadOption)
型パラメーター
- T
ソース シーケンスのオブジェクトの型 (通常は DataRow)。
パラメーター
- source
- IEnumerable<T>
ソース IEnumerable<T> シーケンス。
- options
- LoadOption
LoadOption 読み込みオプションを指定する DataTable 列挙体。
例外
転送元の IEnumerable<T> シーケンスが null
、または転送先の DataTable が null
です。
ソース シーケンス内の DataRow が Deleted の状態です。
ソース シーケンスに DataRow オブジェクトは格納されていません。
ソース シーケンス内の DataRow が null
です。
注釈
入力パラメーターのパラメーター T
source
には、 型 DataRow、または から DataRow派生した型のみを指定できます。
入力シーケンスは、 に対するクエリだけでなく、任意 IEnumerable<T> のソースにすることができます DataTable。 ソース シーケンスがクエリの場合、この演算子を呼び出すと即時実行が強制されることに注意してください。 ソース シーケンスを列挙すると、例外がスローされる可能性もあります。
変換先テーブルのスキーマは、ソース シーケンスの最初 DataRow の行のスキーマに基づいています。 テーブル メタデータは、メタデータと DataRow の列値からテーブル値 DataRowから抽出されます。 型指定された DataTableの場合、型は保持されません。 データとスキーマは転送されますが、出力テーブルの結果の行は型指定された DataRow 型ではありません。 RowStateプロパティと RowError プロパティは、ソースDataRowから返された DataTableへのコピー中は保持されません。
null の値を持つ null 参照または null 許容型がソース DataRowで見つかった場合、このメソッドは、変換先 DataTable の値を の Value値に置き換えます。
メソッドによって返される生成されたテーブルには、既定のテーブル名があります。 にという名前 DataTableを付ける場合や、 に DataSetアタッチする場合、または他 DataTable の特定の操作を実行する場合は、テーブルを作成して返した後で実行する必要があります。
詳細については、「 クエリから DataTable を作成する」を参照してください。
適用対象
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)
指定した入力 DataRow オブジェクトに応じて (ジェネリック パラメーター T
は DataTable)、指定した IEnumerable<T> に DataRow オブジェクトをコピーします。
public:
generic <typename T>
where T : System::Data::DataRow[System::Runtime::CompilerServices::Extension]
static void CopyToDataTable(System::Collections::Generic::IEnumerable<T> ^ source, System::Data::DataTable ^ table, System::Data::LoadOption options, System::Data::FillErrorEventHandler ^ errorHandler);
public static void CopyToDataTable<T> (this System.Collections.Generic.IEnumerable<T> source, System.Data.DataTable table, System.Data.LoadOption options, System.Data.FillErrorEventHandler errorHandler) where T : System.Data.DataRow;
public static void CopyToDataTable<T> (this System.Collections.Generic.IEnumerable<T> source, System.Data.DataTable table, System.Data.LoadOption options, System.Data.FillErrorEventHandler? errorHandler) where T : System.Data.DataRow;
static member CopyToDataTable : seq<'T (requires 'T :> System.Data.DataRow)> * System.Data.DataTable * System.Data.LoadOption * System.Data.FillErrorEventHandler -> unit (requires 'T :> System.Data.DataRow)
<Extension()>
Public Sub CopyToDataTable(Of T As DataRow) (source As IEnumerable(Of T), table As DataTable, options As LoadOption, errorHandler As FillErrorEventHandler)
型パラメーター
- T
ソース シーケンスのオブジェクトの型 (通常は DataRow)。
パラメーター
- source
- IEnumerable<T>
ソース IEnumerable<T> シーケンス。
- options
- LoadOption
LoadOption 読み込みオプションを指定する DataTable 列挙体。
- errorHandler
- FillErrorEventHandler
エラーを処理するメソッドを表す FillErrorEventHandler デリゲート。
例外
転送元の IEnumerable<T> シーケンスが null
、または転送先の DataTable が null
です。
ソース シーケンス内の DataRow が Deleted の状態です。
- または -
ソース シーケンスに DataRow オブジェクトは格納されていません。
- または -
ソース シーケンス内の DataRow が null
です。
注釈
入力パラメーターのパラメーター T
source
には、 型 DataRow、または から DataRow派生した型のみを指定できます。
入力シーケンスは、 に対するクエリだけでなく、任意 IEnumerable<T> のソースにすることができます DataTable。 ソース シーケンスがクエリの場合、この演算子を呼び出すと即時実行が強制されることに注意してください。 ソース シーケンスを列挙すると、例外がスローされる可能性もあります。
変換先テーブルのスキーマは、ソース シーケンスの最初 DataRow の行のスキーマに基づいています。 テーブル メタデータは、メタデータと DataRow の列値からテーブル値 DataRowから抽出されます。 型指定された DataTableの場合、型は保持されません。 データとスキーマは転送されますが、出力テーブルの結果の行は型指定された DataRow 型ではありません。 RowStateプロパティと RowError プロパティは、ソースDataRowから返された DataTableへのコピー中は保持されません。
null の値を持つ null 参照または null 許容型がソース DataRowで見つかった場合、このメソッドは、変換先 DataTable の値を の Value値に置き換えます。
メソッドによって返される生成されたテーブルには、既定のテーブル名があります。 にという名前 DataTableを付ける場合や、 に DataSetアタッチする場合、または他 DataTable の特定の操作を実行する場合は、テーブルを作成して返した後で実行する必要があります。
制約例外など、ターゲット テーブルへのデータ行のコピー中に例外がスローされた場合、 errorHandler
デリゲートが呼び出されます。 FillErrorEventArgsは、次の値をerrorHandler
使用してデリゲートに渡されます。
プロパティは Continue 、デリゲート呼び出しが返された後に読み取られます。 プロパティが の Continue 場合、 true
ソース シーケンスは引き続き列挙され、データ テーブルに読み込まれます。 プロパティが の Continue 場合、 false
メソッドから CopyToDataTable 元の例外がスローされます。
詳細については、「 クエリから DataTable を作成する」を参照してください。
適用対象
.NET