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 TDataRowolduğu bir giriş IEnumerable<T> nesnesi verildiğinde nesnelerin kopyalarını DataRow içeren bir döndürür.

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

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

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

DataRow Genel parametrenin 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 TDataRowolduğu bir giriş IEnumerable<T> nesnesi verildiğinde nesnelerin kopyalarını DataRow 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

Kaynak dizideki nesnelerin türü, genellikle DataRow.

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 bir DataRow , durumuna Deletedsahiptir.

Kaynak dizisinde herhangi bir DataRow nesne yok.

Kaynak dizisindeki bir DataRow değeridir 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 bir için ara sunucu işlevi gören öğesine BindingSourceDataGridViewbağ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 IEnumerable<T> bir kaynak olabilir; 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 oluşturulabilmesine 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. Tü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 kopyalama 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 tablonun varsayılan tablo adı vardır. öğesini adlandırmak DataTableveya herhangi DataTable bir DataSetişlemi 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 parametrenin 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

Kaynak dizideki nesnelerin türü, genellikle DataRow.

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 hedeftir DataTablenull.

Kaynak dizisindeki bir DataRow , durumuna Deletedsahiptir.

Kaynak dizisinde herhangi bir DataRow nesne yok.

Kaynak dizisindeki bir DataRow değeridir 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 oluşturulabilmesine 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. Tü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 kopyalama 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 tablonun varsayılan tablo adı vardır. öğesini adlandırmak DataTableveya herhangi DataTable bir DataSetişlemi 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 parametrenin 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

Kaynak dizideki nesnelerin türü, genellikle DataRow.

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 hedeftir DataTablenull.

Kaynak dizisindeki bir DataRow , durumuna Deletedsahiptir.

-veya-

Kaynak dizisinde herhangi bir DataRow nesne yok.

-veya-

Kaynak dizisindeki bir DataRow değeridir 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 oluşturulabilmesine 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. Tü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 kopyalama 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 tablonun varsayılan tablo adı vardır. öğesini adlandırmak DataTableveya herhangi DataTable bir DataSetişlemi gerçekleştirmek istiyorsanız, tablo oluşturulduktan ve döndürüldükten sonra bunu yapmanız gerekir.

Bir 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. , 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 Özellik, temsilci çağrısı geri döndükten sonra 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