DataTableExtensions.CopyToDataTable Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí hodnotu , DataTable která obsahuje kopie DataRow objektů vzhledem ke vstupnímu IEnumerable<T> objektu.
Přetížení
CopyToDataTable<T>(IEnumerable<T>) |
Vrátí hodnotu , DataTable která obsahuje kopie DataRow objektů vzhledem ke vstupnímu IEnumerable<T> objektu, kde je DataRowobecný parametr |
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) |
Zkopíruje DataRow objekty do zadaného DataTableobjektu , který je vstupním objektemIEnumerable<T>, kde je DataRowobecný parametr |
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) |
Zkopíruje DataRow objekty do zadaného DataTableobjektu , který je vstupním objektemIEnumerable<T>, kde je DataRowobecný parametr |
CopyToDataTable<T>(IEnumerable<T>)
- Zdroj:
- DataTableExtensions.cs
- Zdroj:
- DataTableExtensions.cs
- Zdroj:
- DataTableExtensions.cs
Vrátí hodnotu , DataTable která obsahuje kopie DataRow objektů vzhledem ke vstupnímu IEnumerable<T> objektu, kde je DataRowobecný parametr T
.
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
Parametry typu
- T
Typ objektů ve zdrojové sekvenci, obvykle DataRow.
Parametry
- source
- IEnumerable<T>
Zdrojová IEnumerable<T> sekvence.
Návraty
A DataTable , který obsahuje vstupní sekvenci jako typ DataRow objektů.
Výjimky
Zdrojová IEnumerable<T> sekvence je null
a novou tabulku nelze vytvořit.
Ve DataRow zdrojové sekvenci má stav Deleted.
Zdrojová sekvence neobsahuje žádné DataRow objekty.
Ve DataRow zdrojové sekvenci je null
.
Příklady
Následující příklad se dotazuje tabulky SalesOrderHeader na objednávky po 8. srpnu 2001 a použije metodu CopyToDataTable k vytvoření DataTable z tohoto dotazu. Pak DataTable je vázán na BindingSource, který funguje jako proxy pro 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
Poznámky
Parametr T
vstupního parametru source
může být pouze typu DataRow nebo odvozeného z DataRow.
Vstupní sekvence může být libovolný IEnumerable<T> zdroj, nejen dotaz nebo dotaz nad DataTable. Všimněte si, že pokud je zdrojová sekvence dotazem, volání tohoto operátoru vynutí okamžité spuštění. Vytvoření výčtu zdrojové sekvence může také způsobit vyvolání výjimek.
Schéma cílové tabulky je založené na schématu prvního DataRow řádku ve zdrojové sekvenci. Metadata tabulky se extrahují z DataRow metadat a hodnoty tabulky z hodnot DataRowsloupců . Typové DataTabletypy se nezachovají. Data a schéma se přenesou, ale výsledné řádky výstupní tabulky nebudou typovaného DataRow typu. Vlastnosti RowState a RowError se nezachovají během kopírování ze zdroje DataRow do vráceného DataTableobjektu .
Pokud se ve zdroji DataRownajde odkaz s hodnotou null nebo typ s možnou hodnotou null , tato metoda nahradí hodnotu v cíli DataTable hodnotou Value.
Vygenerovaná tabulka vrácená metodou má výchozí název tabulky. Pokud chcete pojmenovat , připojit ho DataTablek objektu nebo provést jakoukoli jinou DataTableDataSetkonkrétní operaci, musíte to udělat po vytvoření a vrácení tabulky.
Další informace najdete v tématu Vytvoření datové tabulky z dotazu.
Platí pro
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)
- Zdroj:
- DataTableExtensions.cs
- Zdroj:
- DataTableExtensions.cs
- Zdroj:
- DataTableExtensions.cs
Zkopíruje DataRow objekty do zadaného DataTableobjektu , který je vstupním objektemIEnumerable<T>, kde je DataRowobecný parametr T
.
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)
Parametry typu
- T
Typ objektů ve zdrojové sekvenci, obvykle DataRow.
Parametry
- source
- IEnumerable<T>
Zdrojová IEnumerable<T> sekvence.
- options
- LoadOption
Výčet LoadOption , který určuje DataTable možnosti načtení.
Výjimky
Zdrojová IEnumerable<T> sekvence je null
nebo cíl DataTable je null
.
Ve DataRow zdrojové sekvenci má stav Deleted.
Zdrojová sekvence neobsahuje žádné DataRow objekty.
Ve DataRow zdrojové sekvenci je null
.
Poznámky
Parametr T
vstupního parametru source
může být pouze typu DataRownebo typu odvozeného z DataRow.
Vstupní sekvence může být libovolný IEnumerable<T> zdroj, nejen dotaz na DataTable. Všimněte si, že pokud je zdrojová sekvence dotazem, volání tohoto operátoru vynutí okamžité spuštění. Vytvoření výčtu zdrojové sekvence může také způsobit vyvolání výjimek.
Schéma cílové tabulky je založené na schématu prvního DataRow řádku ve zdrojové sekvenci. Metadata tabulky se extrahují z DataRow metadat a hodnoty tabulky z hodnot DataRowsloupců . Typové DataTabletypy se nezachovají. Data a schéma se přenesou, ale výsledné řádky výstupní tabulky nebudou typovaného DataRow typu. Vlastnosti RowState a RowError se nezachovají během kopírování ze zdroje DataRow do vráceného DataTableobjektu .
Pokud se ve zdroji DataRownajde odkaz s hodnotou null nebo typ s možnou hodnotou null , tato metoda nahradí hodnotu v cíli DataTable hodnotou Value.
Vygenerovaná tabulka vrácená metodou má výchozí název tabulky. Pokud chcete pojmenovat , připojit ho DataTablek objektu nebo provést jakoukoli jinou DataTableDataSetkonkrétní operaci, musíte to udělat po vytvoření a vrácení tabulky.
Další informace najdete v tématu Vytvoření datové tabulky z dotazu.
Platí pro
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)
- Zdroj:
- DataTableExtensions.cs
- Zdroj:
- DataTableExtensions.cs
- Zdroj:
- DataTableExtensions.cs
Zkopíruje DataRow objekty do zadaného DataTableobjektu , který je vstupním objektemIEnumerable<T>, kde je DataRowobecný parametr T
.
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)
Parametry typu
- T
Typ objektů ve zdrojové sekvenci, obvykle DataRow.
Parametry
- source
- IEnumerable<T>
Zdrojová IEnumerable<T> sekvence.
- options
- LoadOption
Výčet LoadOption , který určuje DataTable možnosti načtení.
- errorHandler
- FillErrorEventHandler
Delegát FillErrorEventHandler , který představuje metodu, která bude zpracovávat chybu.
Výjimky
Zdrojová IEnumerable<T> sekvence je null
nebo cíl DataTable je null
.
Ve DataRow zdrojové sekvenci má stav Deleted.
-nebo-
Zdrojová sekvence neobsahuje žádné DataRow objekty.
-nebo-
Ve DataRow zdrojové sekvenci je null
.
Poznámky
Parametr T
vstupního parametru source
může být pouze typu DataRownebo typu odvozeného z DataRow.
Vstupní sekvence může být libovolný IEnumerable<T> zdroj, nejen dotaz na DataTable. Všimněte si, že pokud je zdrojová sekvence dotazem, volání tohoto operátoru vynutí okamžité spuštění. Vytvoření výčtu zdrojové sekvence může také způsobit vyvolání výjimek.
Schéma cílové tabulky je založené na schématu prvního DataRow řádku ve zdrojové sekvenci. Metadata tabulky se extrahují z DataRow metadat a hodnoty tabulky z hodnot DataRowsloupců . Typové DataTabletypy se nezachovají. Data a schéma se přenesou, ale výsledné řádky výstupní tabulky nebudou typovaného DataRow typu. Vlastnosti RowState a RowError se nezachovají během kopírování ze zdroje DataRow do vráceného DataTableobjektu .
Pokud se ve zdroji DataRownajde odkaz s hodnotou null nebo typ s možnou hodnotou null , tato metoda nahradí hodnotu v cíli DataTable hodnotou Value.
Vygenerovaná tabulka vrácená metodou má výchozí název tabulky. Pokud chcete pojmenovat , připojit ho DataTablek objektu nebo provést jakoukoli jinou DataTableDataSetkonkrétní operaci, musíte to udělat po vytvoření a vrácení tabulky.
Pokud je vyvolána výjimka během kopírování řádku dat do cílové tabulky, například výjimka omezení, errorHandler
delegát je volán. Delegátu FillErrorEventArgserrorHandler
se předá s následujícími hodnotami:
Vlastnost Values je nastavena na kopii zdrojových dat.
Vlastnost Errors je nastavena na zachycenou výjimku.
Vlastnost se Continue přečte po vrácení volání delegáta. Continue Pokud je true
vlastnost , zdrojová sekvence se bude dál číslovat a načítat do tabulky dat. Continue Pokud je false
vlastnost , původní výjimka je vyvolán z CopyToDataTable metody .
Další informace najdete v tématu Vytvoření datové tabulky z dotazu.