DataTableExtensions.CopyToDataTable Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 DataRowDataRow |
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) |
DataRow Genel parametresinin |
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) |
DataRow Genel parametresinin |
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 T
source
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 T
DataRowolduğ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.
- options
- LoadOption
LoadOption Yükleme seçeneklerini belirten DataTable bir numaralandırma.
Özel durumlar
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 T
source
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 T
DataRowolduğ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.
- 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
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 T
source
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.
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.