DataTableExtensions.CopyToDataTable Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce un oggetto DataTable che contiene copie degli oggetti DataRow, dato un oggetto IEnumerable<T> di input.
Overload
CopyToDataTable<T>(IEnumerable<T>) |
Restituisce un oggetto DataTable che contiene copie degli oggetti DataRow, dato un oggetto IEnumerable<T> di input dove il parametro generico DataRow è |
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) |
Copia gli oggetti DataRow nell'oggetto DataTable specificato, dato un oggetto IEnumerable<T> di input dove il parametro generico |
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) |
Copia gli oggetti DataRow nell'oggetto DataTable specificato, dato un oggetto IEnumerable<T> di input dove il parametro generico |
CopyToDataTable<T>(IEnumerable<T>)
- Origine:
- DataTableExtensions.cs
- Origine:
- DataTableExtensions.cs
- Origine:
- DataTableExtensions.cs
Restituisce un oggetto DataTable che contiene copie degli oggetti DataRow, dato un oggetto IEnumerable<T> di input dove il parametro generico DataRow è T
.
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
Parametri di tipo
- T
Tipo di oggetti nella sequenza di origine, in genere DataRow.
Parametri
- source
- IEnumerable<T>
Sequenza IEnumerable<T> di origine.
Restituisce
Oggetto DataTable che contiene la sequenza di input come tipo di oggetti DataRow.
Eccezioni
La sequenza IEnumerable<T> di origine è null
e non è possibile creare una nuova tabella.
Un oggetto DataRow nella sequenza di origine ha lo stato impostato su Deleted.
La sequenza di origine non contiene alcun oggetto DataRow.
Un oggetto DataRow nella sequenza di origine è null
.
Esempio
Nell'esempio seguente viene eseguita una query sulla tabella SalesOrderHeader per gli ordini successivi all'8 agosto 2001 e viene utilizzato il CopyToDataTable metodo per creare un DataTable oggetto da tale query. DataTable viene quindi associato a BindingSource, che funge da proxy per 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
Commenti
Il parametro del parametro T
source
di input può essere di tipo DataRow o un tipo derivato da DataRow.
La sequenza di input può essere qualsiasi IEnumerable<T> origine, non solo una query o una query su un oggetto DataTable. Si noti che se la sequenza di origine è una query, la chiamata a questo operatore forza l'esecuzione immediata. L'enumerazione della sequenza di origine può anche causare la generazione di eccezioni.
Lo schema della tabella di destinazione è basato sullo schema della prima DataRow riga nella sequenza di origine. I metadati della DataRow tabella vengono estratti dai metadati e dai valori della tabella dai valori di colonna dell'oggetto DataRow. Per un tipo , DataTablei tipi non vengono mantenuti. I dati e lo schema vengono trasferiti, ma le righe risultanti della tabella di output non saranno del tipo tipizzato DataRow . Le RowState proprietà e RowError non vengono mantenute durante la copia dall'origine DataRow all'oggetto restituito DataTable.
Quando un riferimento Null o un tipo nullable con un valore Null viene trovato in un'origine DataRow, questo metodo sostituisce il valore nella destinazione DataTable con un valore .Value
La tabella generata restituita dal metodo ha il nome di tabella predefinito. Se si desidera assegnare un DataTablenome a , collegarlo a un DataSetoggetto o eseguire qualsiasi altra DataTable operazione specifica, è necessario eseguire questa operazione dopo la creazione e la restituzione della tabella.
Per altre informazioni, vedere Creazione di una tabella dati da una query.
Si applica a
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)
- Origine:
- DataTableExtensions.cs
- Origine:
- DataTableExtensions.cs
- Origine:
- DataTableExtensions.cs
Copia gli oggetti DataRow nell'oggetto DataTable specificato, dato un oggetto IEnumerable<T> di input dove il parametro generico 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)
Parametri di tipo
- T
Tipo di oggetti nella sequenza di origine, in genere DataRow.
Parametri
- source
- IEnumerable<T>
Sequenza IEnumerable<T> di origine.
- options
- LoadOption
Enumerazione LoadOption che specifica le opzioni di caricamento di DataTable.
Eccezioni
La sequenza IEnumerable<T> di origine è null
o l'oggetto DataTable di destinazione è null
.
Un oggetto DataRow nella sequenza di origine ha lo stato impostato su Deleted.
La sequenza di origine non contiene alcun oggetto DataRow.
Un oggetto DataRow nella sequenza di origine è null
.
Commenti
Il parametro del parametro T
source
di input può essere di tipo DataRowsolo o un tipo derivato da DataRow.
La sequenza di input può essere qualsiasi IEnumerable<T> origine, non solo una query su un oggetto DataTable. Si noti che se la sequenza di origine è una query, la chiamata a questo operatore forza l'esecuzione immediata. L'enumerazione della sequenza di origine può anche causare la generazione di eccezioni.
Lo schema della tabella di destinazione è basato sullo schema della prima DataRow riga nella sequenza di origine. I metadati della DataRow tabella vengono estratti dai metadati e dai valori della tabella dai valori di colonna dell'oggetto DataRow. Per un tipo , DataTablei tipi non vengono mantenuti. I dati e lo schema vengono trasferiti, ma le righe risultanti della tabella di output non saranno del tipo tipizzato DataRow . Le RowState proprietà e RowError non vengono mantenute durante la copia dall'origine DataRow all'oggetto restituito DataTable.
Quando un riferimento Null o un tipo nullable con un valore Null viene trovato in un'origine DataRow, questo metodo sostituisce il valore nella destinazione DataTable con un valore .Value
La tabella generata restituita dal metodo ha il nome di tabella predefinito. Se si desidera assegnare un DataTablenome a , collegarlo a un DataSetoggetto o eseguire qualsiasi altra DataTable operazione specifica, è necessario eseguire questa operazione dopo la creazione e la restituzione della tabella.
Per altre informazioni, vedere Creazione di una tabella dati da una query.
Si applica a
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)
- Origine:
- DataTableExtensions.cs
- Origine:
- DataTableExtensions.cs
- Origine:
- DataTableExtensions.cs
Copia gli oggetti DataRow nell'oggetto DataTable specificato, dato un oggetto IEnumerable<T> di input dove il parametro generico 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)
Parametri di tipo
- T
Tipo di oggetti nella sequenza di origine, in genere DataRow.
Parametri
- source
- IEnumerable<T>
Sequenza IEnumerable<T> di origine.
- options
- LoadOption
Enumerazione LoadOption che specifica le opzioni di caricamento di DataTable.
- errorHandler
- FillErrorEventHandler
Delegato FillErrorEventHandler che rappresenta il metodo che gestirà un errore.
Eccezioni
La sequenza IEnumerable<T> di origine è null
o l'oggetto DataTable di destinazione è null
.
Un oggetto DataRow nella sequenza di origine ha lo stato impostato su Deleted.
-oppure-
La sequenza di origine non contiene alcun oggetto DataRow.
-oppure-
Un oggetto DataRow nella sequenza di origine è null
.
Commenti
Il parametro del parametro T
source
di input può essere di tipo DataRowsolo o un tipo derivato da DataRow.
La sequenza di input può essere qualsiasi IEnumerable<T> origine, non solo una query su un oggetto DataTable. Si noti che se la sequenza di origine è una query, la chiamata a questo operatore forza l'esecuzione immediata. L'enumerazione della sequenza di origine può anche causare la generazione di eccezioni.
Lo schema della tabella di destinazione è basato sullo schema della prima DataRow riga nella sequenza di origine. I metadati della DataRow tabella vengono estratti dai metadati e dai valori della tabella dai valori di colonna dell'oggetto DataRow. Per un tipo , DataTablei tipi non vengono mantenuti. I dati e lo schema vengono trasferiti, ma le righe risultanti della tabella di output non saranno del tipo tipizzato DataRow . Le RowState proprietà e RowError non vengono mantenute durante la copia dall'origine DataRow all'oggetto restituito DataTable.
Quando un riferimento Null o un tipo nullable con un valore Null viene trovato in un'origine DataRow, questo metodo sostituisce il valore nella destinazione DataTable con un valore .Value
La tabella generata restituita dal metodo ha il nome di tabella predefinito. Se si desidera assegnare un DataTablenome a , collegarlo a un DataSetoggetto o eseguire qualsiasi altra DataTable operazione specifica, è necessario eseguire questa operazione dopo la creazione e la restituzione della tabella.
Se viene generata un'eccezione durante la copia di una riga di dati nella tabella di destinazione, ad esempio un'eccezione di vincolo, viene chiamato il errorHandler
delegato. Un FillErrorEventArgs oggetto viene passato al errorHandler
delegato con i valori seguenti:
La Values proprietà è impostata su una copia dei dati di origine.
La DataTable proprietà è impostata sulla destinazione DataTable.
La Errors proprietà è impostata sull'eccezione intercettata.
La Continue proprietà viene letta dopo la restituzione della chiamata del delegato. Se la Continue proprietà è true
, la sequenza di origine continua a essere enumerata e caricata nella tabella dati. Se la Continue proprietà è false
, l'eccezione originale viene generata dal CopyToDataTable metodo .
Per altre informazioni, vedere Creazione di una tabella dati da una query.