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 contenente copie degli DataRow oggetti, dato un oggetto di input IEnumerable<T> .
Overload
| Nome | Descrizione |
|---|---|
| CopyToDataTable<T>(IEnumerable<T>) |
Restituisce un DataTable che contiene copie degli oggetti DataRow, dato un oggetto IEnumerable<T> di input in cui il parametro generico |
| CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) |
Copia DataRow oggetti nel DataTablespecificato, dato un oggetto IEnumerable<T> di input in cui il parametro generico |
| CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) |
Copia DataRow oggetti nel DataTablespecificato, dato un oggetto IEnumerable<T> di input in cui il parametro generico |
CopyToDataTable<T>(IEnumerable<T>)
- Origine:
- DataTableExtensions.cs
- Origine:
- DataTableExtensions.cs
- Origine:
- DataTableExtensions.cs
- Origine:
- DataTableExtensions.cs
- Origine:
- DataTableExtensions.cs
Restituisce un DataTable che contiene copie degli oggetti DataRow, dato un oggetto IEnumerable<T> di input in cui il parametro generico 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
Parametri di tipo
- T
Tipo di oggetti nella sequenza di origine, in DataRowgenere .
Parametri
- source
- IEnumerable<T>
Sequenza di origine IEnumerable<T> .
Restituisce
Oggetto DataTable contenente la sequenza di input come tipo di DataRow oggetti.
Eccezioni
La sequenza di origine IEnumerable<T> è e non è null possibile creare una nuova tabella.
Un DataRow oggetto nella sequenza di origine ha uno stato di Deleted.
La sequenza di origine non contiene oggetti DataRow .
Un DataRow oggetto 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 oggetto DataTable da tale query. Viene DataTable quindi associato a un BindingSourceoggetto , che funge da proxy per un oggetto 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 Tsource 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 si basa 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 di Value.
La tabella generata restituita dal metodo ha il nome di tabella predefinito. Se si desidera denominare DataTable, 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
- Origine:
- DataTableExtensions.cs
- Origine:
- DataTableExtensions.cs
Copia DataRow oggetti nel DataTablespecificato, dato un oggetto IEnumerable<T> di input in cui 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 DataRowgenere .
Parametri
- source
- IEnumerable<T>
Sequenza di origine IEnumerable<T> .
- options
- LoadOption
Enumerazione LoadOption che specifica le opzioni di DataTable caricamento.
Eccezioni
La sequenza di origine IEnumerable<T> è null o la destinazione DataTable è null.
Un DataRow oggetto nella sequenza di origine ha uno stato di Deleted.
La sequenza di origine non contiene oggetti DataRow .
Un DataRow oggetto nella sequenza di origine è null.
Commenti
Il parametro del parametro Tsource 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 si basa 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 di Value.
La tabella generata restituita dal metodo ha il nome di tabella predefinito. Se si desidera denominare DataTable, 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
- Origine:
- DataTableExtensions.cs
- Origine:
- DataTableExtensions.cs
Copia DataRow oggetti nel DataTablespecificato, dato un oggetto IEnumerable<T> di input in cui 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 DataRowgenere .
Parametri
- source
- IEnumerable<T>
Sequenza di origine IEnumerable<T> .
- options
- LoadOption
Enumerazione LoadOption che specifica le opzioni di DataTable caricamento.
- errorHandler
- FillErrorEventHandler
Delegato FillErrorEventHandler che rappresenta il metodo che gestirà un errore.
Eccezioni
La sequenza di origine IEnumerable<T> è null o la destinazione DataTable è null.
Un DataRow oggetto nella sequenza di origine ha uno stato di Deleted.
oppure
La sequenza di origine non contiene oggetti DataRow .
oppure
Un DataRow oggetto nella sequenza di origine è null.
Commenti
Il parametro del parametro Tsource 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 si basa 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 di Value.
La tabella generata restituita dal metodo ha il nome di tabella predefinito. Se si desidera denominare DataTable, 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 rilevata.
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.