DataTableExtensions.CopyToDataTable Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Retorna um DataTable que contém cópias dos objetos DataRow, dado um objeto IEnumerable<T> de entrada.
Sobrecargas
CopyToDataTable<T>(IEnumerable<T>) |
Retorna um DataTable que contém cópias dos objetos DataRow, dado um objeto IEnumerable<T> de entrada em que o parâmetro genérico |
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) |
Copia objetos DataRow no DataTable especificado, dado um objeto IEnumerable<T> de entrada em que o parâmetro genérico |
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) |
Copia objetos DataRow no DataTable especificado, dado um objeto IEnumerable<T> de entrada em que o parâmetro genérico |
CopyToDataTable<T>(IEnumerable<T>)
- Origem:
- DataTableExtensions.cs
- Origem:
- DataTableExtensions.cs
- Origem:
- DataTableExtensions.cs
Retorna um DataTable que contém cópias dos objetos DataRow, dado um objeto IEnumerable<T> de entrada em que o parâmetro genérico T
é 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
O tipo de objetos na sequência de origem, normalmente DataRow.
Parâmetros
- source
- IEnumerable<T>
A sequência de origem IEnumerable<T>.
Retornos
Um DataTable que contém a sequência de entrada como o tipo de objetos DataRow.
Exceções
A sequência de origem IEnumerable<T> é null
e não é possível criar uma nova tabela.
Um DataRow na sequência de origem tem um estado de Deleted.
A sequência de origem não contém nenhum objeto DataRow.
Um DataRow na sequência de origem é null
.
Exemplos
O exemplo a seguir consulta a tabela SalesOrderHeader para pedidos após 8 de agosto de 2001 e usa o CopyToDataTable método para criar um DataTable a partir dessa consulta. O DataTable é então associado a um BindingSource, que age como o proxy para um 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
Comentários
O parâmetro T
do parâmetro source
de entrada só pode ser do tipo DataRow ou de um tipo derivado de DataRow.
A sequência de entrada pode ser qualquer IEnumerable<T> origem, não apenas uma consulta ou uma consulta em um DataTable. Observe que, se a sequência de origem for uma consulta, chamar esse operador forçará a execução imediata. Enumerar a sequência de origem também pode fazer com que exceções sejam geradas.
O esquema da tabela de destino baseia-se no esquema da primeira DataRow linha na sequência de origem. Os metadados da tabela são extraídos dos DataRow metadados e dos valores de tabela dos valores de coluna do DataRow. Para um tipo DataTable, os tipos não são preservados. Os dados e o esquema são transferidos, mas as linhas resultantes da tabela de saída não serão do tipo digitado DataRow . As RowState propriedades e RowError não são preservadas durante a cópia da origem DataRow para a retornada DataTable.
Quando uma referência nula ou um tipo anulável com um valor de nulo é encontrado em uma fonte DataRow, esse método substitui o valor no destino DataTable por um valor de Value.
A tabela gerada retornada pelo método tem o nome da tabela padrão. Se você quiser nomear o DataTable, anexá-lo a um DataSetou executar qualquer outra DataTable operação específica, deverá fazê-lo depois que a tabela for criada e retornada.
Para obter mais informações, consulte Criando uma datatable de uma consulta.
Aplica-se a
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)
- Origem:
- DataTableExtensions.cs
- Origem:
- DataTableExtensions.cs
- Origem:
- DataTableExtensions.cs
Copia objetos DataRow no DataTable especificado, dado um objeto IEnumerable<T> de entrada em que o parâmetro genérico T
é 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
O tipo de objetos na sequência de origem, normalmente DataRow.
Parâmetros
- source
- IEnumerable<T>
A sequência de origem IEnumerable<T>.
- options
- LoadOption
Uma enumeração LoadOption que especifica as opções de carga do DataTable.
Exceções
A sequência de origem IEnumerable<T> é null
ou o destino DataTable é null
.
Um DataRow na sequência de origem tem um estado de Deleted.
A sequência de origem não contém nenhum objeto DataRow.
Um DataRow na sequência de origem é null
.
Comentários
O parâmetro T
do parâmetro source
de entrada só pode ser do tipo DataRowou de um tipo derivado de DataRow.
A sequência de entrada pode ser qualquer IEnumerable<T> origem, não apenas uma consulta em um DataTable. Observe que, se a sequência de origem for uma consulta, chamar esse operador forçará a execução imediata. Enumerar a sequência de origem também pode fazer com que exceções sejam geradas.
O esquema da tabela de destino baseia-se no esquema da primeira DataRow linha na sequência de origem. Os metadados da tabela são extraídos dos DataRow metadados e dos valores de tabela dos valores de coluna do DataRow. Para um tipo DataTable, os tipos não são preservados. Os dados e o esquema são transferidos, mas as linhas resultantes da tabela de saída não serão do tipo digitado DataRow . As RowState propriedades e RowError não são preservadas durante a cópia da origem DataRow para a retornada DataTable.
Quando uma referência nula ou um tipo anulável com um valor de nulo é encontrado em uma fonte DataRow, esse método substitui o valor no destino DataTable por um valor de Value.
A tabela gerada retornada pelo método tem o nome da tabela padrão. Se você quiser nomear o DataTable, anexá-lo a um DataSetou executar qualquer outra DataTable operação específica, deverá fazê-lo depois que a tabela for criada e retornada.
Para obter mais informações, consulte Criando uma datatable de uma consulta.
Aplica-se a
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)
- Origem:
- DataTableExtensions.cs
- Origem:
- DataTableExtensions.cs
- Origem:
- DataTableExtensions.cs
Copia objetos DataRow no DataTable especificado, dado um objeto IEnumerable<T> de entrada em que o parâmetro genérico T
é 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
O tipo de objetos na sequência de origem, normalmente DataRow.
Parâmetros
- source
- IEnumerable<T>
A sequência de origem IEnumerable<T>.
- options
- LoadOption
Uma enumeração LoadOption que especifica as opções de carga do DataTable.
- errorHandler
- FillErrorEventHandler
Um delegado FillErrorEventHandler que representa o método que vai manipular um erro.
Exceções
A sequência de origem IEnumerable<T> é null
ou o destino DataTable é null
.
Um DataRow na sequência de origem tem um estado de Deleted.
- ou -
A sequência de origem não contém nenhum objeto DataRow.
- ou -
Um DataRow na sequência de origem é null
.
Comentários
O parâmetro T
do parâmetro source
de entrada só pode ser do tipo DataRowou de um tipo derivado de DataRow.
A sequência de entrada pode ser qualquer IEnumerable<T> origem, não apenas uma consulta em um DataTable. Observe que, se a sequência de origem for uma consulta, chamar esse operador forçará a execução imediata. Enumerar a sequência de origem também pode fazer com que exceções sejam geradas.
O esquema da tabela de destino baseia-se no esquema da primeira DataRow linha na sequência de origem. Os metadados da tabela são extraídos dos DataRow metadados e dos valores de tabela dos valores de coluna do DataRow. Para um tipo DataTable, os tipos não são preservados. Os dados e o esquema são transferidos, mas as linhas resultantes da tabela de saída não serão do tipo digitado DataRow . As RowState propriedades e RowError não são preservadas durante a cópia da origem DataRow para a retornada DataTable.
Quando uma referência nula ou um tipo anulável com um valor de nulo é encontrado em uma fonte DataRow, esse método substitui o valor no destino DataTable por um valor de Value.
A tabela gerada retornada pelo método tem o nome da tabela padrão. Se você quiser nomear o DataTable, anexá-lo a um DataSetou executar qualquer outra DataTable operação específica, deverá fazê-lo depois que a tabela for criada e retornada.
Se uma exceção for gerada durante a cópia de uma linha de dados na tabela de destino, como uma exceção de restrição, o errorHandler
delegado será chamado. Um FillErrorEventArgs é passado para o errorHandler
delegado com os seguintes valores:
A Values propriedade é definida como uma cópia dos dados de origem.
A DataTable propriedade é definida como o destino DataTable.
A Errors propriedade é definida como a exceção capturada.
A Continue propriedade é lida após o retorno da chamada delegada. Se a Continue propriedade for true
, a sequência de origem continuará a ser enumerada e carregada na tabela de dados. Se a Continue propriedade for false
, a exceção original será gerada do CopyToDataTable método .
Para obter mais informações, consulte Criando uma datatable de uma consulta.