DataTableExtensions.CopyToDataTable DataTableExtensions.CopyToDataTable DataTableExtensions.CopyToDataTable DataTableExtensions.CopyToDataTable Method

Definice

Vrátí objekt DataRow IEnumerable<T> , který obsahuje kopie objektů, zadaného vstupního objektu. DataTableReturns a DataTable that contains copies of the DataRow objects, given an input IEnumerable<T> object.

Přetížení

CopyToDataTable<T>(IEnumerable<T>) CopyToDataTable<T>(IEnumerable<T>) CopyToDataTable<T>(IEnumerable<T>) CopyToDataTable<T>(IEnumerable<T>)

IEnumerable<T> DataRow T Vrátí, který obsahuje kopie DataRow objektů, a to tak, že předané vstupní objekt, kde je obecný parametr. DataTableReturns a DataTable that contains copies of the DataRow objects, given an input IEnumerable<T> object where the generic parameter T is DataRow.

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

Zkopíruje DataRow objekty do zadaného DataTables předaným vstupním IEnumerable<T> objektem, kde T je DataRowobecný parametr.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

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

Zkopíruje DataRow objekty do zadaného DataTables předaným vstupním IEnumerable<T> objektem, kde T je DataRowobecný parametr.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>) CopyToDataTable<T>(IEnumerable<T>) CopyToDataTable<T>(IEnumerable<T>) CopyToDataTable<T>(IEnumerable<T>)

IEnumerable<T> DataRow T Vrátí, který obsahuje kopie DataRow objektů, a to tak, že předané vstupní objekt, kde je obecný parametr. DataTableReturns a DataTable that contains copies of the DataRow objects, given an input IEnumerable<T> object where the generic parameter T is DataRow.

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.The type of objects in the source sequence, typically DataRow.

Parametry

Návraty

Který obsahuje vstupní sekvenci jako DataRow typ objektů. DataTableA DataTable that contains the input sequence as the type of DataRow objects.

Výjimky

Zdrojová IEnumerable<T> sekvence je null a nelze vytvořit novou tabulku.The source IEnumerable<T> sequence is null and a new table cannot be created.

Ve zdrojové sekvenci má Deletedstav. DataRowA DataRow in the source sequence has a state of Deleted.

Zdrojová sekvence neobsahuje žádné DataRow objekty.The source sequence does not contain any DataRow objects.

Ve zdrojové sekvenci je null. DataRowA DataRow in the source sequence is null.

Příklady

Následující příklad vyhledá tabulku SalesOrderHeader pro objednávky po 8. srpna 2001 a použije CopyToDataTable metodu k DataTable vytvoření z tohoto dotazu.The following example queries the SalesOrderHeader table for orders after August 8, 2001, and uses the CopyToDataTable method to create a DataTable from that query. Je pak svázán BindingSources, který DataGridViewfunguje jako proxy pro. DataTableThe DataTable is then bound to a BindingSource, which acts as proxy for a 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 od DataRow.The parameter T of the input parameter source can only be of type DataRow or a type derived from DataRow.

Vstupní sekvence může být libovolný IEnumerable<T> zdroj, nikoli jenom dotaz nebo dotaz DataTablepřes.The input sequence can be any IEnumerable<T> source, not only a query or a query over a DataTable. Všimněte si, že pokud je zdrojem sekvence dotaz, volání tohoto operátoru vynutí okamžité provedení.Note that if the source sequence is a query, calling this operator will force immediate execution. Výčet zdrojové sekvence může také způsobit vyvolání výjimek.Enumerating the source sequence can also cause exceptions to be thrown.

Schéma cílové tabulky je založené na schématu prvního DataRow řádku ve zdrojové sekvenci.The schema of the destination table is based on the schema of the first DataRow row in the source sequence. Metadata tabulky se extrahují z DataRow metadat a hodnot tabulky z hodnot DataRowsloupce.The table metadata is extracted from the DataRow metadata and the table values from the column values of the DataRow. U zadaného DataTabletypu nejsou zachovány typy.For a typed DataTable, types are not preserved. Data a schéma se přenesou, ale výsledné řádky výstupní tabulky nebudou typovaného DataRow typu.The data and schema are transferred, but the resulting rows of the output table will not be of the typed DataRow type. DataRow DataTableVlastnosti a nejsouRowError zachovány během kopírování ze zdroje do vrácené. RowStateThe RowState and RowError properties are not preserved during the copy from the source DataRow to the returned DataTable.

Pokud je ve zdroji DataRow nalezen odkaz s hodnotou null nebo typ s možnou hodnotou null s hodnotou null, tato metoda nahradí hodnotu v cíli DataTable hodnotou. **** ValueWhen a null reference or nullable type with a value of null is found in a source DataRow, this method replaces the value in the destination DataTable with a value of Value.

Vygenerovaná tabulka vrácená metodou má výchozí název tabulky.The generated table returned by the method has the default table name. Pokud chcete název DataTable, připojit ho DataSetk nebo provést jakoukoli jinou DataTable konkrétní operaci, musíte to udělat po vytvoření a vrácení tabulky.If you want to name the DataTable, attach it to a DataSet, or perform any other DataTable specific operation, you must do so after the table is created and returned.

Další informace naleznete v tématu vytvoření objektu DataTable z dotazu.For more information, see Creating a DataTable From a Query.

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

Zkopíruje DataRow objekty do zadaného DataTables předaným vstupním IEnumerable<T> objektem, kde T je DataRowobecný parametr.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is 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.The type of objects in the source sequence, typically DataRow.

Parametry

options
LoadOption LoadOption LoadOption LoadOption

Výčet, který DataTable Určuje možnosti načtení. LoadOptionA LoadOption enumeration that specifies the DataTable load options.

Výjimky

Zkopírované DataRow objekty se nevejdou do schématu cíle DataTable.The copied DataRow objects do not fit the schema of the destination DataTable.

Zdrojová IEnumerable<T> sekvence je null nebo cíl DataTable .nullThe source IEnumerable<T> sequence is null or the destination DataTable is null.

Ve zdrojové sekvenci má Deletedstav. DataRowA DataRow in the source sequence has a state of Deleted.

Zdrojová sekvence neobsahuje žádné DataRow objekty.The source sequence does not contain any DataRow objects.

Ve zdrojové sekvenci je null. DataRowA DataRow in the source sequence is null.

Poznámky

Parametr T vstupního parametru source může být pouze typu DataRownebo typu odvozeného z DataRow.The parameter T of the input parameter source can only be of type DataRow, or a type derived from DataRow.

Vstupní sekvence může být libovolný IEnumerable<T> zdroj, nikoli jenom dotaz DataTablepřes.The input sequence can be any IEnumerable<T> source, not only a query over a DataTable. Všimněte si, že pokud je zdrojem sekvence dotaz, volání tohoto operátoru vynutí okamžité provedení.Note that if the source sequence is a query, calling this operator will force immediate execution. Výčet zdrojové sekvence může také způsobit vyvolání výjimek.Enumerating the source sequence can also cause exceptions to be thrown.

Schéma cílové tabulky je založené na schématu prvního DataRow řádku ve zdrojové sekvenci.The schema of the destination table is based on the schema of the first DataRow row in the source sequence. Metadata tabulky se extrahují z DataRow metadat a hodnot tabulky z hodnot DataRowsloupce.The table metadata is extracted from the DataRow metadata and the table values from the column values of the DataRow. U zadaného DataTabletypu nejsou zachovány typy.For a typed DataTable, types are not preserved. Data a schéma se přenesou, ale výsledné řádky výstupní tabulky nebudou typovaného DataRow typu.The data and schema are transferred, but the resulting rows of the output table will not be of the typed DataRow type. DataRow DataTableVlastnosti a nejsouRowError zachovány během kopírování ze zdroje do vrácené. RowStateThe RowState and RowError properties are not preserved during the copy from the source DataRow to the returned DataTable.

Pokud je ve zdroji DataRow nalezen odkaz s hodnotou null nebo typ s možnou hodnotou null s hodnotou null, tato metoda nahradí hodnotu v cíli DataTable hodnotou. **** ValueWhen a null reference or nullable type with a value of null is found in a source DataRow, this method replaces the value in the destination DataTable with a value of Value.

Vygenerovaná tabulka vrácená metodou má výchozí název tabulky.The generated table returned by the method has the default table name. Pokud chcete název DataTable, připojit ho DataSetk nebo provést jakoukoli jinou DataTable konkrétní operaci, musíte to udělat po vytvoření a vrácení tabulky.If you want to name the DataTable, attach it to a DataSet, or perform any other DataTable specific operation, you must do so after the table is created and returned.

Další informace naleznete v tématu vytvoření objektu DataTable z dotazu.For more information, see Creating a DataTable From a Query.

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

Zkopíruje DataRow objekty do zadaného DataTables předaným vstupním IEnumerable<T> objektem, kde T je DataRowobecný parametr.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is 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;
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.The type of objects in the source sequence, typically DataRow.

Parametry

options
LoadOption LoadOption LoadOption LoadOption

Výčet, který DataTable Určuje možnosti načtení. LoadOptionA LoadOption enumeration that specifies the DataTable load options.

errorHandler
FillErrorEventHandler FillErrorEventHandler FillErrorEventHandler FillErrorEventHandler

FillErrorEventHandler Delegát, který představuje metodu, která zpracuje chybu.A FillErrorEventHandler delegate that represents the method that will handle an error.

Výjimky

Zkopírované DataRow objekty se nevejdou do schématu cíle DataTable.The copied DataRow objects do not fit the schema of the destination DataTable.

Zdrojová IEnumerable<T> sekvence je null nebo cíl DataTable .nullThe source IEnumerable<T> sequence is null or the destination DataTable is null.

Ve zdrojové sekvenci má Deletedstav. DataRowA DataRow in the source sequence has a state of Deleted.

-nebo--or- Zdrojová sekvence neobsahuje žádné DataRow objekty.The source sequence does not contain any DataRow objects.

-nebo--or- Ve zdrojové sekvenci je null. DataRowA DataRow in the source sequence is null.

Poznámky

Parametr T vstupního parametru source může být pouze typu DataRownebo typu odvozeného z DataRow.The parameter T of the input parameter source can only be of type DataRow, or a type derived from DataRow.

Vstupní sekvence může být libovolný IEnumerable<T> zdroj, nikoli jenom dotaz DataTablepřes.The input sequence can be any IEnumerable<T> source, not only a query over a DataTable. Všimněte si, že pokud je zdrojem sekvence dotaz, volání tohoto operátoru vynutí okamžité provedení.Note that if the source sequence is a query, calling this operator will force immediate execution. Výčet zdrojové sekvence může také způsobit vyvolání výjimek.Enumerating the source sequence can also cause exceptions to be thrown.

Schéma cílové tabulky je založené na schématu prvního DataRow řádku ve zdrojové sekvenci.The schema of the destination table is based on the schema of the first DataRow row in the source sequence. Metadata tabulky se extrahují z DataRow metadat a hodnot tabulky z hodnot DataRowsloupce.The table metadata is extracted from the DataRow metadata and the table values from the column values of the DataRow. U zadaného DataTabletypu nejsou zachovány typy.For a typed DataTable, types are not preserved. Data a schéma se přenesou, ale výsledné řádky výstupní tabulky nebudou typovaného DataRow typu.The data and schema are transferred, but the resulting rows of the output table will not be of the typed DataRow type. DataRow DataTableVlastnosti a nejsouRowError zachovány během kopírování ze zdroje do vrácené. RowStateThe RowState and RowError properties are not preserved during the copy from the source DataRow to the returned DataTable.

Pokud je ve zdroji DataRow nalezen odkaz s hodnotou null nebo typ s možnou hodnotou null s hodnotou null, tato metoda nahradí hodnotu v cíli DataTable hodnotou. **** ValueWhen a null reference or nullable type with a value of null is found in a source DataRow, this method replaces the value in the destination DataTable with a value of Value.

Vygenerovaná tabulka vrácená metodou má výchozí název tabulky.The generated table returned by the method has the default table name. Pokud chcete název DataTable, připojit ho DataSetk nebo provést jakoukoli jinou DataTable konkrétní operaci, musíte to udělat po vytvoření a vrácení tabulky.If you want to name the DataTable, attach it to a DataSet, or perform any other DataTable specific operation, you must do so after the table is created and returned.

Pokud je vyvolána výjimka během kopírování řádku dat do cílové tabulky, jako je například výjimka omezení, errorHandler je volán delegát.If an exception is thrown during the copy of a data row into the target table, such as a constraint exception, the errorHandler delegate is called. A FillErrorEventArgs se předává errorHandler delegátovi s následujícími hodnotami:A FillErrorEventArgs is passed to the errorHandler delegate with the following values:

  • Values Vlastnost je nastavena na kopii zdrojových dat.The Values property is set to a copy of the source data.

  • Vlastnost je nastavena na cíl DataTable. DataTableThe DataTable property is set to the target DataTable.

  • Errors Vlastnost je nastavena na Zachycenou výjimku.The Errors property is set to the caught exception.

Continue Vlastnost je přečtena po návratu volání delegáta.The Continue property is read after the delegate call returns. Pokud je Continue truevlastnost, zdrojová sekvence bude nadále vyhodnocena a načtena do tabulky dat.If the Continue property is true, the source sequence continues to be enumerated and loaded into the data table. Pokud je Continue falsevlastnost, původní CopyToDataTable výjimka je vyvolána z metody.If the Continue property is false, the original exception is thrown from the CopyToDataTable method.

Další informace naleznete v tématu vytvoření objektu DataTable z dotazu.For more information, see Creating a DataTable From a Query.

Platí pro