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í objekt DataTable , který obsahuje kopie DataRow objektů vzhledem ke vstupnímu IEnumerable<T> objektu.
Přetížení
CopyToDataTable<T>(IEnumerable<T>) |
Vrátí hodnotuDataTable, 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 s ohledem na vstupní IEnumerable<T> objekt, kde obecný parametr |
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) |
Zkopíruje DataRow objekty do zadaného DataTableobjektu s ohledem na vstupní IEnumerable<T> objekt, kde obecný parametr |
CopyToDataTable<T>(IEnumerable<T>)
- Source:
- DataTableExtensions.cs
- Source:
- DataTableExtensions.cs
- Source:
- DataTableExtensions.cs
Vrátí hodnotuDataTable, 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 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 se dotazuje tabulky SalesOrderHeader na objednávky po 8. srpnu 2001 a použije metodu CopyToDataTable k vytvoření DataTable z tohoto dotazu. Potom 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 typu odvozeného z DataRow.
Vstupní sekvence může být libovolný IEnumerable<T> zdroj, nejen dotaz nebo dotaz na DataTable. Všimněte si, že pokud je zdrojová sekvence dotazem, 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žené na schématu prvního DataRow řádku ve zdrojové sekvenci. Metadata tabulky se extrahují z DataRow metadat a hodnot tabulky z hodnot sloupců objektu DataRow. U zadaného typu DataTablese typy nezachovají. Data a schéma se přenesou, ale výsledné řádky výstupní tabulky nebudou typové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 , nahradí tato metoda hodnotu v cíli DataTable hodnotou Value.
Vygenerovaná tabulka vrácená metodou má výchozí název tabulky. Pokud chcete pojmenovat , připojte ho DataTablek objektu nebo provést jakoukoli jinou DataSetDataTable konkrétní operaci, musíte to udělat po vytvoření a vrácení tabulky.
Další informace najdete v tématu Vytvoření tabulky Dat z dotazu.
Platí pro
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)
- Source:
- DataTableExtensions.cs
- Source:
- DataTableExtensions.cs
- Source:
- DataTableExtensions.cs
Zkopíruje DataRow objekty do zadaného DataTableobjektu s ohledem na vstupní IEnumerable<T> objekt, kde obecný parametr T
je 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>
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
.
A DataRow ve zdrojové sekvenci má stav Deleted.
Zdrojová sekvence neobsahuje žádné DataRow objekty.
A DataRow ve 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í. Výčet 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 hodnot tabulky z hodnot sloupců objektu DataRow. U zadaného typu DataTablese typy nezachovají. Data a schéma se přenesou, ale výsledné řádky výstupní tabulky nebudou typové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 , nahradí tato metoda hodnotu v cíli DataTable hodnotou Value.
Vygenerovaná tabulka vrácená metodou má výchozí název tabulky. Pokud chcete pojmenovat , připojte ho DataTablek objektu nebo provést jakoukoli jinou DataSetDataTable konkrétní operaci, musíte to udělat po vytvoření a vrácení tabulky.
Další informace najdete v tématu Vytvoření tabulky Dat z dotazu.
Platí pro
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)
- Source:
- DataTableExtensions.cs
- Source:
- DataTableExtensions.cs
- Source:
- DataTableExtensions.cs
Zkopíruje DataRow objekty do zadaného DataTableobjektu s ohledem na vstupní IEnumerable<T> objekt, kde obecný parametr T
je 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>
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
.
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 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í. Výčet 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 hodnot tabulky z hodnot sloupců objektu DataRow. U zadaného typu DataTablese typy nezachovají. Data a schéma se přenesou, ale výsledné řádky výstupní tabulky nebudou typové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 , nahradí tato metoda hodnotu v cíli DataTable hodnotou Value.
Vygenerovaná tabulka vrácená metodou má výchozí název tabulky. Pokud chcete pojmenovat , připojte ho DataTablek objektu nebo provést jakoukoli jinou DataSetDataTable konkrétní operaci, musíte to udělat po vytvoření a vrácení tabulky.
Pokud je vyvolána výjimka při kopírování řádku dat do cílové tabulky, například výjimka omezení, errorHandler
je volán delegát. Delegování FillErrorEventArgserrorHandler
se předá s následujícími hodnotami:
Vlastnost Values je nastavena na kopii zdrojových dat.
Vlastnost Errors je nastavená 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 vyčí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í tabulky Dat z dotazu.
Platí pro
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro