DataTableExtensions.CopyToDataTable Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt ein DataTable Objekt zurück, das Kopien der DataRow Objekte enthält, sofern ein Eingabeobjekt IEnumerable<T> angegeben ist.
Überlädt
| Name | Beschreibung |
|---|---|
| CopyToDataTable<T>(IEnumerable<T>) |
Gibt einen DataTable zurück, der Kopien der DataRow -Objekte enthält, vorausgesetzt, ein Eingabeobjekt IEnumerable<T>, bei dem der generische Parameter |
| CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) |
Kopiert DataRow Objekte in den angegebenen DataTable, wenn ein Eingabeobjekt IEnumerable<T> objekt, wobei der generische Parameter |
| CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) |
Kopiert DataRow Objekte in den angegebenen DataTable, wenn ein Eingabeobjekt IEnumerable<T> objekt, wobei der generische Parameter |
CopyToDataTable<T>(IEnumerable<T>)
- Quelle:
- DataTableExtensions.cs
- Quelle:
- DataTableExtensions.cs
- Quelle:
- DataTableExtensions.cs
- Quelle:
- DataTableExtensions.cs
- Quelle:
- DataTableExtensions.cs
Gibt einen DataTable zurück, der Kopien der DataRow -Objekte enthält, vorausgesetzt, ein Eingabeobjekt IEnumerable<T>, bei dem der generische Parameter TDataRowist.
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, in der Regel DataRow.
Parameter
- source
- IEnumerable<T>
Die Quellsequenz IEnumerable<T> .
Gibt zurück
A DataTable , das die Eingabesequenz als Objekttyp DataRow enthält.
Ausnahmen
Die Quellsequenz IEnumerable<T> ist null und eine neue Tabelle kann nicht erstellt werden.
A DataRow in der Quellsequenz weist einen Status von Deleted.
Die Quellsequenz enthält DataRow keine Objekte.
Eine DataRow in der Quellsequenz ist null.
Beispiele
Im folgenden Beispiel wird die Tabelle "SalesOrderHeader" nach Bestellungen nach dem 8. August 2001 abgerufen und die CopyToDataTable Methode verwendet, um eine DataTable Aus dieser Abfrage zu erstellen. Das DataTable wird dann an ein BindingSource gebunden, das als Stellvertreter für ein DataGridView fungiert.
// 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 vom Typ DataRow oder einem typ abgeleiteten DataRowTyp sein.
Die Eingabesequenz kann eine beliebige IEnumerable<T> Quelle sein, nicht nur eine Abfrage oder eine Abfrage über eine DataTable. Beachten Sie, dass der Aufruf dieses Operators die sofortige Ausführung erzwingt, wenn die Quellsequenz eine Abfrage ist. Das Aufzählen der Quellsequenz kann auch dazu führen, dass Ausnahmen ausgelöst werden.
Das Schema der Zieltabelle basiert auf dem Schema der ersten DataRow Zeile in der Quellsequenz. Die Tabellenmetadaten werden aus den DataRow Metadaten und den Tabellenwerten aus den Spaltenwerten der DataRow. Bei typierten DataTableTypen bleiben die Typen nicht erhalten. Die Daten und das Schema werden übertragen, die resultierenden Zeilen der Ausgabetabelle weisen jedoch keinen Typ DataRow auf. Die RowState Eigenschaften und RowError Eigenschaften werden während der Kopie von der Quelle DataRow in die zurückgegebene DataTablenicht beibehalten.
Wenn ein Nullverweis oder nullabler Typ mit einem Nullwert in einer Quelle DataRowgefunden wird, ersetzt diese Methode den Wert im Ziel DataTable durch einen Wert von Value.
Die von der Methode zurückgegebene generierte Tabelle weist den Standardtabellennamen auf. Wenn Sie den Namen des DataTable, fügen Sie ihn an einen DataSetoder einen anderen DataTable bestimmten Vorgang an, müssen Sie dies tun, nachdem die Tabelle erstellt und zurückgegeben wurde.
Weitere Informationen finden Sie unter Creating a DataTable From a Query.
Gilt für:
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)
- Quelle:
- DataTableExtensions.cs
- Quelle:
- DataTableExtensions.cs
- Quelle:
- DataTableExtensions.cs
- Quelle:
- DataTableExtensions.cs
- Quelle:
- DataTableExtensions.cs
Kopiert DataRow Objekte in den angegebenen DataTable, wenn ein Eingabeobjekt IEnumerable<T> objekt, wobei der generische Parameter TDataRowist.
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, in der Regel DataRow.
Parameter
- source
- IEnumerable<T>
Die Quellsequenz IEnumerable<T> .
- options
- LoadOption
Eine LoadOption Aufzählung, die die DataTable Ladeoptionen angibt.
Ausnahmen
Die Quellsequenz IEnumerable<T> ist null oder das Ziel DataTable ist null.
A DataRow in der Quellsequenz weist einen Status von Deleted.
Die Quellsequenz enthält DataRow keine Objekte.
Eine DataRow in der Quellsequenz ist null.
Hinweise
Der Parameter T des Eingabeparameters source kann nur vom Typ DataRowoder einem typ abgeleiteten DataRowTyp sein.
Die Eingabesequenz kann eine beliebige IEnumerable<T> Quelle sein, nicht nur eine Abfrage über eine DataTable. Beachten Sie, dass der Aufruf dieses Operators die sofortige Ausführung erzwingt, wenn die Quellsequenz eine Abfrage ist. Das Aufzählen der Quellsequenz kann auch dazu führen, dass Ausnahmen ausgelöst werden.
Das Schema der Zieltabelle basiert auf dem Schema der ersten DataRow Zeile in der Quellsequenz. Die Tabellenmetadaten werden aus den DataRow Metadaten und den Tabellenwerten aus den Spaltenwerten der DataRow. Bei typierten DataTableTypen bleiben die Typen nicht erhalten. Die Daten und das Schema werden übertragen, die resultierenden Zeilen der Ausgabetabelle weisen jedoch keinen Typ DataRow auf. Die RowState Eigenschaften und RowError Eigenschaften werden während der Kopie von der Quelle DataRow in die zurückgegebene DataTablenicht beibehalten.
Wenn ein Nullverweis oder nullabler Typ mit einem Nullwert in einer Quelle DataRowgefunden wird, ersetzt diese Methode den Wert im Ziel DataTable durch einen Wert von Value.
Die von der Methode zurückgegebene generierte Tabelle weist den Standardtabellennamen auf. Wenn Sie den Namen des DataTable, fügen Sie ihn an einen DataSetoder einen anderen DataTable bestimmten Vorgang an, müssen Sie dies tun, nachdem die Tabelle erstellt und zurückgegeben wurde.
Weitere Informationen finden Sie unter Creating a DataTable From a Query.
Gilt für:
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)
- Quelle:
- DataTableExtensions.cs
- Quelle:
- DataTableExtensions.cs
- Quelle:
- DataTableExtensions.cs
- Quelle:
- DataTableExtensions.cs
- Quelle:
- DataTableExtensions.cs
Kopiert DataRow Objekte in den angegebenen DataTable, wenn ein Eingabeobjekt IEnumerable<T> objekt, wobei der generische Parameter TDataRowist.
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)
Typparameter
- T
Der Typ der Objekte in der Quellsequenz, in der Regel DataRow.
Parameter
- source
- IEnumerable<T>
Die Quellsequenz IEnumerable<T> .
- options
- LoadOption
Eine LoadOption Aufzählung, die die DataTable Ladeoptionen angibt.
- errorHandler
- FillErrorEventHandler
Ein FillErrorEventHandler Delegat, der die Methode darstellt, die einen Fehler behandelt.
Ausnahmen
Die Quellsequenz IEnumerable<T> ist null oder das Ziel DataTable ist null.
A DataRow in der Quellsequenz weist einen Status von Deleted.
- oder -
Die Quellsequenz enthält DataRow keine Objekte.
- oder -
Eine DataRow in der Quellsequenz ist null.
Hinweise
Der Parameter T des Eingabeparameters source kann nur vom Typ DataRowoder einem typ abgeleiteten DataRowTyp sein.
Die Eingabesequenz kann eine beliebige IEnumerable<T> Quelle sein, nicht nur eine Abfrage über eine DataTable. Beachten Sie, dass der Aufruf dieses Operators die sofortige Ausführung erzwingt, wenn die Quellsequenz eine Abfrage ist. Das Aufzählen der Quellsequenz kann auch dazu führen, dass Ausnahmen ausgelöst werden.
Das Schema der Zieltabelle basiert auf dem Schema der ersten DataRow Zeile in der Quellsequenz. Die Tabellenmetadaten werden aus den DataRow Metadaten und den Tabellenwerten aus den Spaltenwerten der DataRow. Bei typierten DataTableTypen bleiben die Typen nicht erhalten. Die Daten und das Schema werden übertragen, die resultierenden Zeilen der Ausgabetabelle weisen jedoch keinen Typ DataRow auf. Die RowState Eigenschaften und RowError Eigenschaften werden während der Kopie von der Quelle DataRow in die zurückgegebene DataTablenicht beibehalten.
Wenn ein Nullverweis oder nullabler Typ mit einem Nullwert in einer Quelle DataRowgefunden wird, ersetzt diese Methode den Wert im Ziel DataTable durch einen Wert von Value.
Die von der Methode zurückgegebene generierte Tabelle weist den Standardtabellennamen auf. Wenn Sie den Namen des DataTable, fügen Sie ihn an einen DataSetoder einen anderen DataTable bestimmten Vorgang an, müssen Sie dies tun, nachdem die Tabelle erstellt und zurückgegeben wurde.
Wenn während der Kopie einer Datenzeile in die Zieltabelle eine Ausnahme ausgelöst wird, z. B. eine Einschränkungs ausnahme, wird der errorHandler Delegat aufgerufen. A FillErrorEventArgs wird an die errorHandler Stellvertretung mit den folgenden Werten übergeben:
Die Values Eigenschaft wird auf eine Kopie der Quelldaten festgelegt.
Die DataTable Eigenschaft wird auf das Ziel DataTablefestgelegt.
Die Errors Eigenschaft wird auf die abgefangene Ausnahme festgelegt.
Die Continue Eigenschaft wird gelesen, nachdem der Delegataufruf zurückgegeben wurde. Wenn die Continue Eigenschaft lautet true, wird die Quellsequenz weiterhin aufgezählt und in die Datentabelle geladen. Wenn die Continue Eigenschaft lautet false, wird die ursprüngliche Ausnahme von der CopyToDataTable Methode ausgelöst.
Weitere Informationen finden Sie unter Creating a DataTable From a Query.