DataTableExtensions.CopyToDataTable Metode

Definisi

Mengembalikan yang DataTable berisi salinan DataRow objek, diberikan objek input IEnumerable<T> .

Overload

CopyToDataTable<T>(IEnumerable<T>)

Mengembalikan DataTable yang berisi salinan DataRow objek, mengingat objek input IEnumerable<T> di mana parameter T generik adalah DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)

DataRow Menyalin objek ke objek yang ditentukan DataTable, mengingat objek input IEnumerable<T> di mana parameter T generik adalah DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)

DataRow Menyalin objek ke objek yang ditentukan DataTable, mengingat objek input IEnumerable<T> di mana parameter T generik adalah DataRow.

CopyToDataTable<T>(IEnumerable<T>)

Sumber:
DataTableExtensions.cs
Sumber:
DataTableExtensions.cs
Sumber:
DataTableExtensions.cs

Mengembalikan DataTable yang berisi salinan DataRow objek, mengingat objek input IEnumerable<T> di mana parameter T generik adalah 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

Jenis parameter

T

Jenis objek dalam urutan sumber, biasanya DataRow.

Parameter

source
IEnumerable<T>

Urutan sumber IEnumerable<T> .

Mengembalikan

DataTable yang berisi urutan input sebagai jenis DataRow objek.

Pengecualian

Urutan sumber IEnumerable<T> adalah null dan tabel baru tidak dapat dibuat.

DataRow Dalam urutan sumber memiliki status Deleted.

Urutan sumber tidak berisi objek apa pun DataRow .

DataRow Dalam urutan sumber adalah null.

Contoh

Contoh berikut mengkueri tabel SalesOrderHeader untuk pesanan setelah 8 Agustus 2001, dan menggunakan metode untuk membuat DataTable dari kueri tersebutCopyToDataTable. DataTable kemudian terikat ke BindingSource, yang bertindak sebagai proksi untuk 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

Keterangan

Parameter T parameter source input hanya dapat berjenis DataRow atau jenis yang berasal dari DataRow.

Urutan input bisa menjadi sumber apa pun IEnumerable<T> , tidak hanya kueri atau kueri melalui DataTable. Perhatikan bahwa jika urutan sumber adalah kueri, memanggil operator ini akan memaksa eksekusi segera. Menghitung urutan sumber juga dapat menyebabkan pengecualian dilemparkan.

Skema tabel tujuan didasarkan pada skema baris pertama DataRow dalam urutan sumber. Metadata tabel diekstrak dari DataRow metadata dan nilai tabel dari nilai DataRowkolom . Untuk jenis DataTable, jenis tidak dipertahankan. Data dan skema ditransfer, tetapi baris yang dihasilkan dari tabel output tidak akan berjenis DataRow . Properti RowState dan RowError tidak dipertahankan selama salinan dari sumber DataRow ke yang dikembalikan DataTable.

Ketika referensi null atau jenis null dengan nilai null ditemukan di sumber DataRow, metode ini menggantikan nilai di tujuan DataTable dengan nilai Value.

Tabel yang dihasilkan yang dikembalikan oleh metode memiliki nama tabel default. Jika Anda ingin memberi nama DataTable, lampirkan ke DataSet, atau lakukan operasi spesifik lainnya DataTable , Anda harus melakukannya setelah tabel dibuat dan dikembalikan.

Untuk informasi selengkapnya, lihat Membuat DataTable Dari Kueri.

Berlaku untuk

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)

Sumber:
DataTableExtensions.cs
Sumber:
DataTableExtensions.cs
Sumber:
DataTableExtensions.cs

DataRow Menyalin objek ke objek yang ditentukan DataTable, mengingat objek input IEnumerable<T> di mana parameter T generik adalah 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)

Jenis parameter

T

Jenis objek dalam urutan sumber, biasanya DataRow.

Parameter

source
IEnumerable<T>

Urutan sumber IEnumerable<T> .

table
DataTable

Tujuan DataTable.

options
LoadOption

LoadOption Enumerasi yang menentukan DataTable opsi pemuatan.

Pengecualian

Objek yang disalin DataRow tidak sesuai dengan skema tujuan DataTable.

Urutan sumber IEnumerable<T> adalah null atau tujuannya DataTable adalah null.

DataRow Dalam urutan sumber memiliki status Deleted.

Urutan sumber tidak berisi objek apa pun DataRow .

DataRow Dalam urutan sumber adalah null.

Keterangan

Parameter T parameter source input hanya dapat berjenis DataRow, atau jenis yang berasal dari DataRow.

Urutan input dapat menjadi sumber apa pun IEnumerable<T> , tidak hanya kueri melalui DataTable. Perhatikan bahwa jika urutan sumber adalah kueri, memanggil operator ini akan memaksa eksekusi segera. Menghitung urutan sumber juga dapat menyebabkan pengecualian dilemparkan.

Skema tabel tujuan didasarkan pada skema baris pertama DataRow dalam urutan sumber. Metadata tabel diekstrak dari DataRow metadata dan nilai tabel dari nilai DataRowkolom . Untuk jenis DataTable, jenis tidak dipertahankan. Data dan skema ditransfer, tetapi baris yang dihasilkan dari tabel output tidak akan berjenis DataRow . Properti RowState dan RowError tidak dipertahankan selama salinan dari sumber DataRow ke yang dikembalikan DataTable.

Ketika referensi null atau jenis null dengan nilai null ditemukan di sumber DataRow, metode ini menggantikan nilai di tujuan DataTable dengan nilai Value.

Tabel yang dihasilkan yang dikembalikan oleh metode memiliki nama tabel default. Jika Anda ingin memberi nama DataTable, lampirkan ke DataSet, atau lakukan operasi spesifik lainnya DataTable , Anda harus melakukannya setelah tabel dibuat dan dikembalikan.

Untuk informasi selengkapnya, lihat Membuat DataTable Dari Kueri.

Berlaku untuk

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)

Sumber:
DataTableExtensions.cs
Sumber:
DataTableExtensions.cs
Sumber:
DataTableExtensions.cs

DataRow Menyalin objek ke objek yang ditentukan DataTable, mengingat objek input IEnumerable<T> di mana parameter T generik adalah 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)

Jenis parameter

T

Jenis objek dalam urutan sumber, biasanya DataRow.

Parameter

source
IEnumerable<T>

Urutan sumber IEnumerable<T> .

table
DataTable

Tujuan DataTable.

options
LoadOption

LoadOption Enumerasi yang menentukan DataTable opsi pemuatan.

errorHandler
FillErrorEventHandler

FillErrorEventHandler Delegasi yang mewakili metode yang akan menangani kesalahan.

Pengecualian

Objek yang disalin DataRow tidak sesuai dengan skema tujuan DataTable.

Urutan sumber IEnumerable<T> adalah null atau tujuannya DataTable adalah null.

DataRow Dalam urutan sumber memiliki status Deleted.

-atau-

Urutan sumber tidak berisi objek apa pun DataRow .

-atau-

DataRow Dalam urutan sumber adalah null.

Keterangan

Parameter T parameter source input hanya dapat berjenis DataRow, atau jenis yang berasal dari DataRow.

Urutan input dapat menjadi sumber apa pun IEnumerable<T> , tidak hanya kueri melalui DataTable. Perhatikan bahwa jika urutan sumber adalah kueri, memanggil operator ini akan memaksa eksekusi segera. Menghitung urutan sumber juga dapat menyebabkan pengecualian dilemparkan.

Skema tabel tujuan didasarkan pada skema baris pertama DataRow dalam urutan sumber. Metadata tabel diekstrak dari DataRow metadata dan nilai tabel dari nilai DataRowkolom . Untuk jenis DataTable, jenis tidak dipertahankan. Data dan skema ditransfer, tetapi baris yang dihasilkan dari tabel output tidak akan berjenis DataRow . Properti RowState dan RowError tidak dipertahankan selama salinan dari sumber DataRow ke yang dikembalikan DataTable.

Ketika referensi null atau jenis null dengan nilai null ditemukan di sumber DataRow, metode ini menggantikan nilai di tujuan DataTable dengan nilai Value.

Tabel yang dihasilkan yang dikembalikan oleh metode memiliki nama tabel default. Jika Anda ingin memberi nama DataTable, lampirkan ke DataSet, atau lakukan operasi spesifik lainnya DataTable , Anda harus melakukannya setelah tabel dibuat dan dikembalikan.

Jika pengecualian dilemparkan selama salinan baris data ke dalam tabel target, seperti pengecualian batasan, errorHandler delegasi akan dipanggil. FillErrorEventArgs diteruskan ke errorHandler delegasi dengan nilai berikut:

  • Properti Values diatur ke salinan data sumber.

  • Properti DataTable diatur ke target DataTable.

  • Properti Errors diatur ke pengecualian yang tertangkap.

Properti Continue dibaca setelah panggilan delegasi kembali. Continue Jika properti adalah true, urutan sumber terus dijumlahkan dan dimuat ke dalam tabel data. Continue Jika properti adalah false, pengecualian asli dilemparkan CopyToDataTable dari metode .

Untuk informasi selengkapnya, lihat Membuat DataTable Dari Kueri.

Berlaku untuk