DataTableExtensions.CopyToDataTable Yöntem

Tanım

DataTable Giriş IEnumerable<T> nesnesi verilip nesnelerin kopyalarını DataRow içeren bir döndürür.

Aşırı Yüklemeler

CopyToDataTable<T>(IEnumerable<T>)

DataTable Genel parametrenin DataRowDataRowT olduğu bir giriş IEnumerable<T> nesnesi verildiğinde nesnelerin kopyalarını içeren bir döndürür.

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

DataRow Genel parametresinin TDataRowolduğu bir giriş IEnumerable<T> nesnesi verildiğinde nesneleri belirtilen DataTableöğesine kopyalar.

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

DataRow Genel parametresinin TDataRowolduğu bir giriş IEnumerable<T> nesnesi verildiğinde nesneleri belirtilen DataTableöğesine kopyalar.

CopyToDataTable<T>(IEnumerable<T>)

Kaynak:
DataTableExtensions.cs
Kaynak:
DataTableExtensions.cs
Kaynak:
DataTableExtensions.cs

DataTable Genel parametrenin DataRowDataRowT olduğu bir giriş IEnumerable<T> nesnesi verildiğinde nesnelerin kopyalarını içeren bir döndürür.

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ür Parametreleri

T

Genellikle kaynak dizisindeki DataRownesne türü.

Parametreler

source
IEnumerable<T>

Kaynak IEnumerable<T> dizisi.

Döndürülenler

DataTable Nesne türü DataRow olarak giriş dizisini içeren bir.

Özel durumlar

Kaynak IEnumerable<T> dizisidir null ve yeni bir tablo oluşturulamaz.

Kaynak dizisindeki A'nın DataRow durumu.Deleted

Kaynak dizi herhangi bir DataRow nesne içermiyor.

Kaynak dizisindeki bir DataRow ise şeklindedir null.

Örnekler

Aşağıdaki örnek, 8 Ağustos 2001'den sonraki siparişler için SalesOrderHeader tablosunu sorgular ve bu sorgudan bir DataTable oluşturmak için yöntemini kullanırCopyToDataTable. daha DataTable sonra , için ara sunucu işlevi gören bir BindingSourceDataGridViewöğesine bağlanır.

// 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

Açıklamalar

Giriş parametresinin parametresi Tsource yalnızca türünde DataRow veya türünden DataRowtüretilmiş olabilir.

Giriş dizisi herhangi bir kaynak olabilir IEnumerable<T> ; yalnızca bir sorgu veya üzerinden DataTablesorgu olamaz. Kaynak dizisi bir sorguysa, bu işleci çağırmanın hemen yürütmeyi zorlayacağını unutmayın. Kaynak sıranın numaralandırılması özel durumların da atmasına neden olabilir.

Hedef tablonun şeması, kaynak dizideki ilk DataRow satırın şemasını temel alır. Tablo meta verileri meta verilerden DataRow ve tablo değerlerinden sütun değerlerinden DataRowayıklanır. Yazılan DataTableiçin türler korunmaz. Veriler ve şema aktarılır, ancak çıkış tablosunun sonuçta elde edilen satırları türü belirtilen DataRow türde olmaz. RowState kaynaktan DataRow döndürülen DataTableöğesine kopya sırasında ve RowError özellikleri korunmaz.

Bir kaynakta DataRownull değerine sahip bir null başvuru veya null atanabilir tür bulunduğunda, bu yöntem hedefteki DataTable değeri değeriyle Valuedeğiştirir.

yöntemi tarafından döndürülen oluşturulan tablo varsayılan tablo adına sahiptir. öğesini adlandırmak DataTableveya başka DataTable bir DataSetişlem gerçekleştirmek istiyorsanız, tablo oluşturulduktan ve döndürüldükten sonra bunu yapmanız gerekir.

Daha fazla bilgi için bkz. Sorgudan DataTable Oluşturma.

Şunlara uygulanır

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

Kaynak:
DataTableExtensions.cs
Kaynak:
DataTableExtensions.cs
Kaynak:
DataTableExtensions.cs

DataRow Genel parametresinin TDataRowolduğu bir giriş IEnumerable<T> nesnesi verildiğinde nesneleri belirtilen DataTableöğesine kopyalar.

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ür Parametreleri

T

Genellikle kaynak dizisindeki DataRownesne türü.

Parametreler

source
IEnumerable<T>

Kaynak IEnumerable<T> dizisi.

table
DataTable

Hedef DataTable.

options
LoadOption

LoadOption Yükleme seçeneklerini belirten DataTable bir numaralandırma.

Özel durumlar

Kopyalanan DataRow nesneler hedef DataTableşemasına uymuyor.

Kaynak IEnumerable<T> dizisi veya null hedef DataTable şeklindedir null.

Kaynak dizisindeki A'nın DataRow durumu.Deleted

Kaynak dizi herhangi bir DataRow nesne içermiyor.

Kaynak dizisindeki bir DataRow ise şeklindedir null.

Açıklamalar

Giriş parametresinin parametresi Tsource yalnızca türünde DataRowveya türünden DataRowtüretilmiş bir tür olabilir.

Giriş dizisi yalnızca bir üzerinden sorgu değil herhangi IEnumerable<T> bir DataTablekaynak olabilir. Kaynak dizisi bir sorguysa, bu işleci çağırmanın hemen yürütmeyi zorlayacağını unutmayın. Kaynak sıranın numaralandırılması özel durumların da atmasına neden olabilir.

Hedef tablonun şeması, kaynak dizideki ilk DataRow satırın şemasını temel alır. Tablo meta verileri meta verilerden DataRow ve tablo değerlerinden sütun değerlerinden DataRowayıklanır. Yazılan DataTableiçin türler korunmaz. Veriler ve şema aktarılır, ancak çıkış tablosunun sonuçta elde edilen satırları türü belirtilen DataRow türde olmaz. RowState kaynaktan DataRow döndürülen DataTableöğesine kopya sırasında ve RowError özellikleri korunmaz.

Bir kaynakta DataRownull değerine sahip bir null başvuru veya null atanabilir tür bulunduğunda, bu yöntem hedefteki DataTable değeri değeriyle Valuedeğiştirir.

yöntemi tarafından döndürülen oluşturulan tablo varsayılan tablo adına sahiptir. öğesini adlandırmak DataTableveya başka DataTable bir DataSetişlem gerçekleştirmek istiyorsanız, tablo oluşturulduktan ve döndürüldükten sonra bunu yapmanız gerekir.

Daha fazla bilgi için bkz. Sorgudan DataTable Oluşturma.

Şunlara uygulanır

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

Kaynak:
DataTableExtensions.cs
Kaynak:
DataTableExtensions.cs
Kaynak:
DataTableExtensions.cs

DataRow Genel parametresinin TDataRowolduğu bir giriş IEnumerable<T> nesnesi verildiğinde nesneleri belirtilen DataTableöğesine kopyalar.

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ür Parametreleri

T

Genellikle kaynak dizisindeki DataRownesne türü.

Parametreler

source
IEnumerable<T>

Kaynak IEnumerable<T> dizisi.

table
DataTable

Hedef DataTable.

options
LoadOption

LoadOption Yükleme seçeneklerini belirten DataTable bir numaralandırma.

errorHandler
FillErrorEventHandler

Bir FillErrorEventHandler hatayı işleyecek yöntemi temsil eden bir temsilci.

Özel durumlar

Kopyalanan DataRow nesneler hedef DataTableşemasına uymuyor.

Kaynak IEnumerable<T> dizisi veya null hedef DataTable şeklindedir null.

Kaynak dizisindeki A'nın DataRow durumu.Deleted

-veya-

Kaynak dizi herhangi bir DataRow nesne içermiyor.

-veya-

Kaynak dizisindeki bir DataRow ise şeklindedir null.

Açıklamalar

Giriş parametresinin parametresi Tsource yalnızca türünde DataRowveya türünden DataRowtüretilmiş bir tür olabilir.

Giriş dizisi yalnızca bir üzerinden sorgu değil herhangi IEnumerable<T> bir DataTablekaynak olabilir. Kaynak dizisi bir sorguysa, bu işleci çağırmanın hemen yürütmeyi zorlayacağını unutmayın. Kaynak sıranın numaralandırılması özel durumların da atmasına neden olabilir.

Hedef tablonun şeması, kaynak dizideki ilk DataRow satırın şemasını temel alır. Tablo meta verileri meta verilerden DataRow ve tablo değerlerinden sütun değerlerinden DataRowayıklanır. Yazılan DataTableiçin türler korunmaz. Veriler ve şema aktarılır, ancak çıkış tablosunun sonuçta elde edilen satırları türü belirtilen DataRow türde olmaz. RowState kaynaktan DataRow döndürülen DataTableöğesine kopya sırasında ve RowError özellikleri korunmaz.

Bir kaynakta DataRownull değerine sahip bir null başvuru veya null atanabilir tür bulunduğunda, bu yöntem hedefteki DataTable değeri değeriyle Valuedeğiştirir.

yöntemi tarafından döndürülen oluşturulan tablo varsayılan tablo adına sahiptir. öğesini adlandırmak DataTableveya başka DataTable bir DataSetişlem gerçekleştirmek istiyorsanız, tablo oluşturulduktan ve döndürüldükten sonra bunu yapmanız gerekir.

Veri satırının hedef tabloya kopyalanması sırasında kısıtlama özel durumu gibi bir özel durum oluşturulursa, errorHandler temsilci çağrılır. A FillErrorEventArgs , aşağıdaki değerlerle temsilciye errorHandler geçirilir:

  • Values özelliği, kaynak verilerin bir kopyasına ayarlanır.

  • DataTable özelliği hedefine DataTableayarlanır.

  • Errors özelliği, yakalanan özel duruma ayarlanır.

Continue Temsilci çağrısı geri döndükten sonra özelliği okunur. Continue özelliği isetrue, kaynak dizisi numaralandırılmaya ve veri tablosuna yüklenmeye devam eder. Continue özelliği isefalse, özgün özel durum yönteminden CopyToDataTable oluşturulur.

Daha fazla bilgi için bkz. Sorgudan DataTable Oluşturma.

Şunlara uygulanır