DataTableExtensions.CopyToDataTable Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve un objeto DataTable que contiene copias de los objetos DataRow, dado un objeto IEnumerable<T> de entrada.
Sobrecargas
CopyToDataTable<T>(IEnumerable<T>) |
Devuelve un objeto DataTable que contiene copias de los objetos DataRow, dado un objeto IEnumerable<T> de entrada donde el parámetro |
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) |
Copia objetos DataRow en el objeto DataTable especificado, dado un objeto IEnumerable<T> de entrada donde el parámetro |
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) |
Copia objetos DataRow en el objeto DataTable especificado, dado un objeto IEnumerable<T> de entrada donde el parámetro |
CopyToDataTable<T>(IEnumerable<T>)
- Source:
- DataTableExtensions.cs
- Source:
- DataTableExtensions.cs
- Source:
- DataTableExtensions.cs
Devuelve un objeto DataTable que contiene copias de los objetos DataRow, dado un objeto IEnumerable<T> de entrada donde el parámetro T
genérico es 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
Parámetros de tipo
- T
Tipo de objetos de la secuencia de origen, normalmente DataRow.
Parámetros
- source
- IEnumerable<T>
Secuencia IEnumerable<T> de origen.
Devoluciones
DataTable que contiene la secuencia de entrada como tipo de los objetos DataRow.
Excepciones
La secuencia IEnumerable<T> de origen es null
y no se puede crear una tabla nueva.
El estado de un objeto DataRow de la secuencia de origen es Deleted.
La secuencia de origen no contiene ningún objeto DataRow.
El valor de un objeto DataRow de la secuencia de origen es null
.
Ejemplos
En el ejemplo siguiente se consulta la tabla SalesOrderHeader para los pedidos después del 8 de agosto de 2001 y se usa el CopyToDataTable método para crear una DataTable a partir de esa consulta. A continuación, se enlaza DataTable a un BindingSource, que actúa como proxy para un objeto 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
Comentarios
El parámetro del parámetro T
source
de entrada solo puede ser de tipo DataRow o de un tipo derivado de DataRow.
La secuencia de entrada puede ser cualquier IEnumerable<T> origen, no solo una consulta o una consulta sobre .DataTable Tenga en cuenta que si la secuencia de origen es una consulta, al llamar a este operador se forzará la ejecución inmediata. La enumeración de la secuencia de origen también puede provocar excepciones.
El esquema de la tabla de destino se basa en el esquema de la primera DataRow fila de la secuencia de origen. Los metadatos de la tabla se extraen de los DataRow metadatos y los valores de la tabla de los valores de columna de DataRow. En el caso de un tipo , DataTableno se conservan los tipos. Los datos y el esquema se transfieren, pero las filas resultantes de la tabla de salida no serán del tipo con DataRow tipo. Las RowState propiedades y RowError no se conservan durante la copia del origen DataRow al devuelto DataTable.
Cuando se encuentra una referencia nula o un tipo que acepta valores NULL con un valor null en un DataRoworigen , este método reemplaza el valor del destino DataTable por un valor de Value.
La tabla generada devuelta por el método tiene el nombre de tabla predeterminado. Si desea asignarle el DataTablenombre , asociarlo a o DataSetrealizar cualquier otra DataTable operación específica, debe hacerlo después de crear y devolver la tabla.
Para obtener más información, vea Crear una tabla de datos a partir de una consulta.
Se aplica a
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)
- Source:
- DataTableExtensions.cs
- Source:
- DataTableExtensions.cs
- Source:
- DataTableExtensions.cs
Copia objetos DataRow en el objeto DataTable especificado, dado un objeto IEnumerable<T> de entrada donde el parámetro T
genérico es 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)
Parámetros de tipo
- T
Tipo de objetos de la secuencia de origen, normalmente DataRow.
Parámetros
- source
- IEnumerable<T>
Secuencia IEnumerable<T> de origen.
- options
- LoadOption
Enumeración LoadOption que especifica las opciones de carga de DataTable.
Excepciones
La secuencia IEnumerable<T> de origen es null
o el objeto DataTable de destino es null
.
El estado de un objeto DataRow de la secuencia de origen es Deleted.
La secuencia de origen no contiene ningún objeto DataRow.
El valor de un objeto DataRow de la secuencia de origen es null
.
Comentarios
El parámetro del parámetro T
source
de entrada solo puede ser de tipo DataRow, o un tipo derivado de DataRow.
La secuencia de entrada puede ser cualquier IEnumerable<T> origen, no solo una consulta sobre .DataTable Tenga en cuenta que si la secuencia de origen es una consulta, al llamar a este operador se forzará la ejecución inmediata. La enumeración de la secuencia de origen también puede provocar excepciones.
El esquema de la tabla de destino se basa en el esquema de la primera DataRow fila de la secuencia de origen. Los metadatos de la tabla se extraen de los DataRow metadatos y los valores de la tabla de los valores de columna de DataRow. En el caso de un tipo , DataTableno se conservan los tipos. Los datos y el esquema se transfieren, pero las filas resultantes de la tabla de salida no serán del tipo con DataRow tipo. Las RowState propiedades y RowError no se conservan durante la copia del origen DataRow al devuelto DataTable.
Cuando se encuentra una referencia nula o un tipo que acepta valores NULL con un valor null en un DataRoworigen , este método reemplaza el valor del destino DataTable por un valor de Value.
La tabla generada devuelta por el método tiene el nombre de tabla predeterminado. Si desea asignarle el DataTablenombre , asociarlo a o DataSetrealizar cualquier otra DataTable operación específica, debe hacerlo después de crear y devolver la tabla.
Para obtener más información, vea Crear una tabla de datos a partir de una consulta.
Se aplica a
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)
- Source:
- DataTableExtensions.cs
- Source:
- DataTableExtensions.cs
- Source:
- DataTableExtensions.cs
Copia objetos DataRow en el objeto DataTable especificado, dado un objeto IEnumerable<T> de entrada donde el parámetro T
genérico es 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)
Parámetros de tipo
- T
Tipo de objetos de la secuencia de origen, normalmente DataRow.
Parámetros
- source
- IEnumerable<T>
Secuencia IEnumerable<T> de origen.
- options
- LoadOption
Enumeración LoadOption que especifica las opciones de carga de DataTable.
- errorHandler
- FillErrorEventHandler
Delegado FillErrorEventHandler que representa el método que va a controlar un error.
Excepciones
La secuencia IEnumerable<T> de origen es null
o el objeto DataTable de destino es null
.
El estado de un objeto DataRow de la secuencia de origen es Deleted.
o bien
La secuencia de origen no contiene ningún objeto DataRow.
o bien
El valor de un objeto DataRow de la secuencia de origen es null
.
Comentarios
El parámetro del parámetro T
source
de entrada solo puede ser de tipo DataRow, o un tipo derivado de DataRow.
La secuencia de entrada puede ser cualquier IEnumerable<T> origen, no solo una consulta sobre .DataTable Tenga en cuenta que si la secuencia de origen es una consulta, al llamar a este operador se forzará la ejecución inmediata. La enumeración de la secuencia de origen también puede provocar excepciones.
El esquema de la tabla de destino se basa en el esquema de la primera DataRow fila de la secuencia de origen. Los metadatos de la tabla se extraen de los DataRow metadatos y los valores de la tabla de los valores de columna de DataRow. En el caso de un tipo , DataTableno se conservan los tipos. Los datos y el esquema se transfieren, pero las filas resultantes de la tabla de salida no serán del tipo con DataRow tipo. Las RowState propiedades y RowError no se conservan durante la copia del origen DataRow al devuelto DataTable.
Cuando se encuentra una referencia nula o un tipo que acepta valores NULL con un valor null en un DataRoworigen , este método reemplaza el valor del destino DataTable por un valor de Value.
La tabla generada devuelta por el método tiene el nombre de tabla predeterminado. Si desea asignarle el DataTablenombre , asociarlo a o DataSetrealizar cualquier otra DataTable operación específica, debe hacerlo después de crear y devolver la tabla.
Si se produce una excepción durante la copia de una fila de datos en la tabla de destino, como una excepción de restricción, se llama al errorHandler
delegado. FillErrorEventArgs Se pasa al errorHandler
delegado con los valores siguientes:
La Values propiedad se establece en una copia de los datos de origen.
La DataTable propiedad se establece en el destino DataTable.
La Errors propiedad se establece en la excepción detectada.
La Continue propiedad se lee después de que se devuelva la llamada de delegado. Si la Continue propiedad es true
, la secuencia de origen se sigue enumerando y cargando en la tabla de datos. Si la Continue propiedad es false
, la excepción original se produce desde el CopyToDataTable método .
Para obtener más información, vea Crear una tabla de datos a partir de una consulta.