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

Definition

Gibt eine DataTable , enthält die Kopien der DataRow Objekte, wenn ein IEnumerable<T> Objekt.Returns a DataTable that contains copies of the DataRow objects, given an input IEnumerable<T> object.

Überlädt

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

Gibt eine DataTable , enthält die Kopien der DataRow Objekte, wenn ein IEnumerable<T> Objekt, in dem der generische Parameter T ist DataRow.Returns 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)

Kopien DataRow Objekte mit dem angegebenen DataTable, wenn ein IEnumerable<T> Objekt, in dem der generische Parameter T ist DataRow.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)

Kopien DataRow Objekte mit dem angegebenen DataTable, wenn ein IEnumerable<T> Objekt, in dem der generische Parameter T ist DataRow.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>)

Gibt eine DataTable , enthält die Kopien der DataRow Objekte, wenn ein IEnumerable<T> Objekt, in dem der generische Parameter T ist DataRow.Returns 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

Typparameter

T

Der Typ der Objekte in der Quellsequenz, meist DataRow.The type of objects in the source sequence, typically DataRow.

Parameter

Gibt zurück

Ein DataTable , enthält die Eingabesequenz als den Typ des DataRow Objekte.A DataTable that contains the input sequence as the type of DataRow objects.

Ausnahmen

Die Quelle IEnumerable<T> Sequenz null und eine neue Tabelle nicht erstellt werden.The source IEnumerable<T> sequence is null and a new table cannot be created.

Ein DataRow in der Quelle dem Sequenz Status Deleted.A DataRow in the source sequence has a state of Deleted.

Die Quellsequenz enthält keine DataRow Objekte.The source sequence does not contain any DataRow objects.

Ein DataRow im Quell-Sequenz ist null.A DataRow in the source sequence is null.

Beispiele

Im folgenden Beispiel fragt die Tabelle "SalesOrderHeader" für Aufträge, die nach dem 8. August 2001 und verwendet die CopyToDataTable Methode zum Erstellen einer DataTable aus dieser Abfrage.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. Die DataTable wird dann an eine BindingSource gebunden, die als Proxy für eine DataGridView fungiert.The 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

Hinweise

Der Parameter T des Eingabeparameters source kann nur von sein DataRow oder ein abgeleiteter Typ von DataRow.The parameter T of the input parameter source can only be of type DataRow or a type derived from DataRow.

Die Eingabesequenz möglich IEnumerable<T> Quelle, nicht nur eine Abfrage oder eine Abfrage über eine DataTable.The input sequence can be any IEnumerable<T> source, not only a query or a query over a DataTable. Beachten Sie, wenn die Quellsequenz eine Abfrage handelt, Aufrufen dieses Operators Erzwingung der sofortigen Ausführung wird.Note that if the source sequence is a query, calling this operator will force immediate execution. Auflisten der Quellsequenz kann auch die Ausnahmen verursachen.Enumerating the source sequence can also cause exceptions to be thrown.

Das Schema der Zieltabelle basiert darauf, dass das Schema des ersten DataRow Zeile in der Quellsequenz.The schema of the destination table is based on the schema of the first DataRow row in the source sequence. Extrahiert die Metadaten der Tabelle aus der DataRow Metadaten und die Werte, auf die Spaltenwerte die DataRow.The table metadata is extracted from the DataRow metadata and the table values from the column values of the DataRow. Für ein typisiertes DataTable, Typen werden nicht beibehalten.For a typed DataTable, types are not preserved. Die Daten- und Schemadateien übertragen werden, aber die resultierenden Zeilen in der Ausgabetabelle werden nicht der typisierten DataRow Typ.The data and schema are transferred, but the resulting rows of the output table will not be of the typed DataRow type. Die RowState und RowError Eigenschaften werden nicht beibehalten, während des Kopiervorgangs aus der Quelle DataRow auf das zurückgegebene DataTable.The RowState and RowError properties are not preserved during the copy from the source DataRow to the returned DataTable.

Wenn eine null Verweis- oder nullable-Typ mit einem Wert von null befindet sich in einer Datenquelle DataRow, ersetzt diese Methode den Wert im Ziel DataTable mit einem Wert von Value.When 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.

Die generierte Tabelle, die von der Methode zurückgegebenen hat es sich um den Standardnamen für die Tabelle.The generated table returned by the method has the default table name. Wenn Sie benennen möchten die DataTable, fügen Sie ihn auf eine DataSet, oder führen Sie alle anderen DataTable bestimmter Vorgang müssen Sie dazu nach dem in der Tabelle erstellt und zurückgegeben wird.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.

Weitere Informationen finden Sie unter Erstellen einer DataTable aus einer Abfrage.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)

Kopien DataRow Objekte mit dem angegebenen DataTable, wenn ein IEnumerable<T> Objekt, in dem der generische Parameter T ist DataRow.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)

Typparameter

T

Der Typ der Objekte in der Quellsequenz, meist DataRow.The type of objects in the source sequence, typically DataRow.

Parameter

table
DataTable DataTable DataTable DataTable

Der Ziel-DataTable.The destination DataTable.

options
LoadOption LoadOption LoadOption LoadOption

Ein LoadOption Enumeration, der angibt, die DataTable Optionen laden.A LoadOption enumeration that specifies the DataTable load options.

Ausnahmen

Das kopierte DataRow Objekte passen sich nicht auf das Schema des Ziels DataTable.The copied DataRow objects do not fit the schema of the destination DataTable.

Die Quelle IEnumerable<T> Sequenz null oder das Ziel DataTable ist null.The source IEnumerable<T> sequence is null or the destination DataTable is null.

Ein DataRow in der Quelle dem Sequenz Status Deleted.A DataRow in the source sequence has a state of Deleted.

Die Quellsequenz enthält keine DataRow Objekte.The source sequence does not contain any DataRow objects.

Ein DataRow im Quell-Sequenz ist null.A DataRow in the source sequence is null.

Hinweise

Der Parameter T des Eingabeparameters source kann nur von sein DataRow, oder ein abgeleiteter Typ von DataRow.The parameter T of the input parameter source can only be of type DataRow, or a type derived from DataRow.

Die Eingabesequenz möglich IEnumerable<T> Quelle, nicht nur eine Abfrage über eine DataTable.The input sequence can be any IEnumerable<T> source, not only a query over a DataTable. Beachten Sie, wenn die Quellsequenz eine Abfrage handelt, Aufrufen dieses Operators Erzwingung der sofortigen Ausführung wird.Note that if the source sequence is a query, calling this operator will force immediate execution. Auflisten der Quellsequenz kann auch die Ausnahmen verursachen.Enumerating the source sequence can also cause exceptions to be thrown.

Das Schema der Zieltabelle basiert darauf, dass das Schema des ersten DataRow Zeile in der Quellsequenz.The schema of the destination table is based on the schema of the first DataRow row in the source sequence. Extrahiert die Metadaten der Tabelle aus der DataRow Metadaten und die Werte, auf die Spaltenwerte die DataRow.The table metadata is extracted from the DataRow metadata and the table values from the column values of the DataRow. Für ein typisiertes DataTable, Typen werden nicht beibehalten.For a typed DataTable, types are not preserved. Die Daten- und Schemadateien übertragen werden, aber die resultierenden Zeilen in der Ausgabetabelle werden nicht der typisierten DataRow Typ.The data and schema are transferred, but the resulting rows of the output table will not be of the typed DataRow type. Die RowState und RowError Eigenschaften werden nicht beibehalten, während des Kopiervorgangs aus der Quelle DataRow auf das zurückgegebene DataTable.The RowState and RowError properties are not preserved during the copy from the source DataRow to the returned DataTable.

Wenn eine null Verweis- oder nullable-Typ mit einem Wert von null befindet sich in einer Datenquelle DataRow, ersetzt diese Methode den Wert im Ziel DataTable mit einem Wert von Value.When 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.

Die generierte Tabelle, die von der Methode zurückgegebenen hat es sich um den Standardnamen für die Tabelle.The generated table returned by the method has the default table name. Wenn Sie benennen möchten die DataTable, fügen Sie ihn auf eine DataSet, oder führen Sie alle anderen DataTable bestimmter Vorgang müssen Sie dazu nach dem in der Tabelle erstellt und zurückgegeben wird.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.

Weitere Informationen finden Sie unter Erstellen einer DataTable aus einer Abfrage.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)

Kopien DataRow Objekte mit dem angegebenen DataTable, wenn ein IEnumerable<T> Objekt, in dem der generische Parameter T ist DataRow.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)

Typparameter

T

Der Typ der Objekte in der Quellsequenz, meist DataRow.The type of objects in the source sequence, typically DataRow.

Parameter

table
DataTable DataTable DataTable DataTable

Der Ziel-DataTable.The destination DataTable.

options
LoadOption LoadOption LoadOption LoadOption

Ein LoadOption Enumeration, der angibt, die DataTable Optionen laden.A LoadOption enumeration that specifies the DataTable load options.

errorHandler
FillErrorEventHandler FillErrorEventHandler FillErrorEventHandler FillErrorEventHandler

Ein FillErrorEventHandler Delegat, der die Methode darstellt, die einen Fehler behandelt.A FillErrorEventHandler delegate that represents the method that will handle an error.

Ausnahmen

Das kopierte DataRow Objekte passen sich nicht auf das Schema des Ziels DataTable.The copied DataRow objects do not fit the schema of the destination DataTable.

Die Quelle IEnumerable<T> Sequenz null oder das Ziel DataTable ist null.The source IEnumerable<T> sequence is null or the destination DataTable is null.

Ein DataRow in der Quelle dem Sequenz Status Deleted.A DataRow in the source sequence has a state of Deleted.

- oder - -or- Die Quellsequenz enthält keine DataRow Objekte.The source sequence does not contain any DataRow objects.

- oder - -or- Ein DataRow im Quell-Sequenz ist null.A DataRow in the source sequence is null.

Hinweise

Der Parameter T des Eingabeparameters source kann nur von sein DataRow, oder ein abgeleiteter Typ von DataRow.The parameter T of the input parameter source can only be of type DataRow, or a type derived from DataRow.

Die Eingabesequenz möglich IEnumerable<T> Quelle, nicht nur eine Abfrage über eine DataTable.The input sequence can be any IEnumerable<T> source, not only a query over a DataTable. Beachten Sie, wenn die Quellsequenz eine Abfrage handelt, Aufrufen dieses Operators Erzwingung der sofortigen Ausführung wird.Note that if the source sequence is a query, calling this operator will force immediate execution. Auflisten der Quellsequenz kann auch die Ausnahmen verursachen.Enumerating the source sequence can also cause exceptions to be thrown.

Das Schema der Zieltabelle basiert darauf, dass das Schema des ersten DataRow Zeile in der Quellsequenz.The schema of the destination table is based on the schema of the first DataRow row in the source sequence. Extrahiert die Metadaten der Tabelle aus der DataRow Metadaten und die Werte, auf die Spaltenwerte die DataRow.The table metadata is extracted from the DataRow metadata and the table values from the column values of the DataRow. Für ein typisiertes DataTable, Typen werden nicht beibehalten.For a typed DataTable, types are not preserved. Die Daten- und Schemadateien übertragen werden, aber die resultierenden Zeilen in der Ausgabetabelle werden nicht der typisierten DataRow Typ.The data and schema are transferred, but the resulting rows of the output table will not be of the typed DataRow type. Die RowState und RowError Eigenschaften werden nicht beibehalten, während des Kopiervorgangs aus der Quelle DataRow auf das zurückgegebene DataTable.The RowState and RowError properties are not preserved during the copy from the source DataRow to the returned DataTable.

Wenn eine null Verweis- oder nullable-Typ mit einem Wert von null befindet sich in einer Datenquelle DataRow, ersetzt diese Methode den Wert im Ziel DataTable mit einem Wert von Value.When 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.

Die generierte Tabelle, die von der Methode zurückgegebenen hat es sich um den Standardnamen für die Tabelle.The generated table returned by the method has the default table name. Wenn Sie benennen möchten die DataTable, fügen Sie ihn auf eine DataSet, oder führen Sie alle anderen DataTable bestimmter Vorgang müssen Sie dazu nach dem in der Tabelle erstellt und zurückgegeben wird.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.

Wenn eine Ausnahme während des Kopiervorgangs einer Datenzeile in die Zieltabelle, z. B. eine Einschränkung-Ausnahme ausgelöst wird die errorHandler Delegat wird aufgerufen.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. Ein FillErrorEventArgs übergeben wird, um die errorHandler delegieren, die mit den folgenden Werten:A FillErrorEventArgs is passed to the errorHandler delegate with the following values:

  • Die Values -Eigenschaftensatz auf eine Kopie der Quelldaten.The Values property is set to a copy of the source data.

  • Die DataTable -Eigenschaftensatz auf das Ziel DataTable.The DataTable property is set to the target DataTable.

  • Die Errors -Eigenschaftensatz auf die abgefangene Ausnahme.The Errors property is set to the caught exception.

Die Continue -Eigenschaft schreibgeschützt ist, nachdem der Delegataufruf zurückgegeben.The Continue property is read after the delegate call returns. Wenn die Continue Eigenschaft true, weiterhin die Quellsequenz aufgelistet und in die Datentabelle geladen werden.If the Continue property is true, the source sequence continues to be enumerated and loaded into the data table. Wenn die Continue Eigenschaft false, die ursprüngliche Ausnahme wird ausgelöst, von der CopyToDataTable Methode.If the Continue property is false, the original exception is thrown from the CopyToDataTable method.

Weitere Informationen finden Sie unter Erstellen einer DataTable aus einer Abfrage.For more information, see Creating a DataTable From a Query.

Gilt für: