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í.
DataTable Vrátí hodnotu, která obsahuje kopie DataRow objektů zadanou vstupním IEnumerable<T> objektem.
Přetížení
| Name | Description |
|---|---|
| CopyToDataTable<T>(IEnumerable<T>) |
Vrátí DataTable, která obsahuje kopie objektů DataRow vzhledem k vstupnímu objektu IEnumerable<T>, kde je obecný parametr |
| CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) |
Zkopíruje DataRow objekty do zadaného DataTablevzhledem k vstupnímu objektu IEnumerable<T>, kde je |
| CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) |
Zkopíruje DataRow objekty do zadaného DataTablevzhledem k vstupnímu objektu IEnumerable<T>, kde je |
CopyToDataTable<T>(IEnumerable<T>)
- Zdroj:
- DataTableExtensions.cs
- Zdroj:
- DataTableExtensions.cs
- Zdroj:
- DataTableExtensions.cs
- Zdroj:
- DataTableExtensions.cs
- Zdroj:
- DataTableExtensions.cs
Vrátí DataTable, která obsahuje kopie objektů DataRow vzhledem k vstupnímu objektu IEnumerable<T>, kde je obecný parametr TDataRow.
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>
IEnumerable<T> Zdrojová sekvence.
Návraty
A DataTable , která obsahuje vstupní sekvenci jako typ DataRow objektů.
Výjimky
Zdrojová IEnumerable<T> sekvence je null a nelze vytvořit novou tabulku.
A DataRow ve zdrojové sekvenci má stav Deleted.
Zdrojová sekvence neobsahuje žádné DataRow objekty.
A DataRow ve zdrojové sekvenci je null.
Příklady
Následující příklad dotazuje tabulku SalesOrderHeader pro objednávky po 8. srpnu 2001 a používá metodu CopyToDataTableDataTable k vytvoření 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 vstupního parametru Tsource může být pouze typu DataRow nebo typu odvozeného z DataRow.
Vstupní sekvencí může být libovolný IEnumerable<T> zdroj, nejen dotaz nebo dotaz nad dotazem DataTable. Všimněte si, že pokud je zdrojovou sekvencí dotaz, volání tohoto operátoru vynutí okamžité spuštění. Výčet zdrojové sekvence může také způsobit vyvolání výjimek.
Schéma cílové tabulky je založeno na schématu prvního DataRow řádku ve zdrojové sekvenci. Metadata tabulky se extrahují z DataRow metadat a hodnot tabulky z hodnot sloupců v objektu DataRow. U typu DataTablese typy nezachovají. Data a schéma se přenesou, ale výsledné řádky výstupní tabulky nebudou DataRow typu. Vlastnosti RowState se RowError během kopírování ze zdroje DataRow do vráceného DataTableobjektu nezachovají .
Pokud je ve zdroji DataRownalezen nulový odkaz nebo nullable typ s 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 DataTable, připojit ho k nebo provést jakoukoli jinou DataSetDataTable konkrétní operaci, musíte to udělat po vytvoření a vrácení tabulky.
Další informace naleznete 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
- Zdroj:
- DataTableExtensions.cs
- Zdroj:
- DataTableExtensions.cs
Zkopíruje DataRow objekty do zadaného DataTablevzhledem k vstupnímu objektu IEnumerable<T>, kde je Tobecný parametr 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)
Parametry typu
- T
Typ objektů ve zdrojové sekvenci, obvykle DataRow.
Parametry
- source
- IEnumerable<T>
IEnumerable<T> Zdrojová sekvence.
- options
- LoadOption
Výčet LoadOption , který určuje DataTable možnosti načtení.
Výjimky
Zdrojová IEnumerable<T> sekvence je null nebo je cílem DataTablenull.
A DataRow ve zdrojové sekvenci má stav Deleted.
Zdrojová sekvence neobsahuje žádné DataRow objekty.
A DataRow ve zdrojové sekvenci je null.
Poznámky
Parametr vstupního parametru Tsource může být pouze typu DataRow, nebo typ odvozený z DataRow.
Vstupní sekvence může být libovolný IEnumerable<T> zdroj, nejen dotaz na .DataTable Všimněte si, že pokud je zdrojovou sekvencí dotaz, volání tohoto operátoru vynutí okamžité spuštění. Výčet zdrojové sekvence může také způsobit vyvolání výjimek.
Schéma cílové tabulky je založeno na schématu prvního DataRow řádku ve zdrojové sekvenci. Metadata tabulky se extrahují z DataRow metadat a hodnot tabulky z hodnot sloupců v objektu DataRow. U typu DataTablese typy nezachovají. Data a schéma se přenesou, ale výsledné řádky výstupní tabulky nebudou DataRow typu. Vlastnosti RowState se RowError během kopírování ze zdroje DataRow do vráceného DataTableobjektu nezachovají .
Pokud je ve zdroji DataRownalezen nulový odkaz nebo nullable typ s 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 DataTable, připojit ho k nebo provést jakoukoli jinou DataSetDataTable konkrétní operaci, musíte to udělat po vytvoření a vrácení tabulky.
Další informace naleznete 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
- Zdroj:
- DataTableExtensions.cs
- Zdroj:
- DataTableExtensions.cs
Zkopíruje DataRow objekty do zadaného DataTablevzhledem k vstupnímu objektu IEnumerable<T>, kde je Tobecný parametr 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)
Parametry typu
- T
Typ objektů ve zdrojové sekvenci, obvykle DataRow.
Parametry
- source
- IEnumerable<T>
IEnumerable<T> Zdrojová sekvence.
- options
- LoadOption
Výčet LoadOption , který určuje DataTable možnosti načtení.
- errorHandler
- FillErrorEventHandler
Delegát FillErrorEventHandler , který představuje metodu, která zpracuje chybu.
Výjimky
Zdrojová IEnumerable<T> sekvence je null nebo je cílem DataTablenull.
A DataRow ve zdrojové sekvenci má stav Deleted.
nebo
Zdrojová sekvence neobsahuje žádné DataRow objekty.
nebo
A DataRow ve zdrojové sekvenci je null.
Poznámky
Parametr vstupního parametru Tsource může být pouze typu DataRow, nebo typ odvozený z DataRow.
Vstupní sekvence může být libovolný IEnumerable<T> zdroj, nejen dotaz na .DataTable Všimněte si, že pokud je zdrojovou sekvencí dotaz, volání tohoto operátoru vynutí okamžité spuštění. Výčet zdrojové sekvence může také způsobit vyvolání výjimek.
Schéma cílové tabulky je založeno na schématu prvního DataRow řádku ve zdrojové sekvenci. Metadata tabulky se extrahují z DataRow metadat a hodnot tabulky z hodnot sloupců v objektu DataRow. U typu DataTablese typy nezachovají. Data a schéma se přenesou, ale výsledné řádky výstupní tabulky nebudou DataRow typu. Vlastnosti RowState se RowError během kopírování ze zdroje DataRow do vráceného DataTableobjektu nezachovají .
Pokud je ve zdroji DataRownalezen nulový odkaz nebo nullable typ s 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 DataTable, připojit ho k nebo provést jakoukoli jinou DataSetDataTable konkrétní operaci, musíte to udělat po vytvoření a vrácení tabulky.
Pokud je při kopírování řádku dat do cílové tabulky vyvolána výjimka, například výjimka omezení, errorHandler delegát je volán. Delegátu errorHandler se předá A FillErrorEventArgs s následujícími hodnotami:
Vlastnost Values je nastavena na kopii zdrojových dat.
Vlastnost Errors je nastavena na zachycenou výjimku.
Vlastnost Continue se přečte po vrácení volání delegáta.
Continue Pokud je truetato vlastnost , zdrojová sekvence bude i nadále výčet a načtena do tabulky dat.
Continue Pokud je falsevlastnost , původní výjimka je vyvolán z CopyToDataTable metody.
Další informace naleznete v tématu Vytvoření datové tabulky z dotazu.