DataTableExtensions.CopyToDataTable Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Retourne une DataTable valeur qui contient des copies des DataRow objets, en fonction d’un objet d’entrée IEnumerable<T> .
Surcharges
| Nom | Description |
|---|---|
| CopyToDataTable<T>(IEnumerable<T>) |
Renvoie un DataTable qui contient des copies des objets DataRow, en fonction d’un objet IEnumerable<T> d’entrée où le paramètre générique |
| CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) |
Copie DataRow objets dans le DataTablespécifié, en fonction d’un objet IEnumerable<T> d’entrée où le paramètre générique |
| CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) |
Copie DataRow objets dans le DataTablespécifié, en fonction d’un objet IEnumerable<T> d’entrée où le paramètre générique |
CopyToDataTable<T>(IEnumerable<T>)
- Source:
- DataTableExtensions.cs
- Source:
- DataTableExtensions.cs
- Source:
- DataTableExtensions.cs
- Source:
- DataTableExtensions.cs
- Source:
- DataTableExtensions.cs
Renvoie un DataTable qui contient des copies des objets DataRow, en fonction d’un objet IEnumerable<T> d’entrée où le paramètre générique T est 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
Paramètres de type
- T
Type d’objets dans la séquence source, généralement DataRow.
Paramètres
- source
- IEnumerable<T>
Séquence source IEnumerable<T> .
Retours
Qui DataTable contient la séquence d’entrée comme type d’objets DataRow .
Exceptions
La séquence source IEnumerable<T> est null et une nouvelle table ne peut pas être créée.
Dans DataRow la séquence source, l’état est Deleted.
La séquence source ne contient DataRow aucun objet.
A DataRow dans la séquence source est null.
Exemples
L’exemple suivant interroge la table SalesOrderHeader pour les commandes après le 8 août 2001 et utilise la CopyToDataTable méthode pour créer une DataTable requête à partir de cette requête. Il DataTable est ensuite lié à un BindingSource, qui agit comme proxy pour un 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
Remarques
Le paramètre du paramètre Tsource d’entrée ne peut être de type que d’un type DataRow ou d’un type dérivé de DataRow.
La séquence d’entrée peut être n’importe quelle IEnumerable<T> source, non seulement une requête ou une requête sur un DataTable. Notez que si la séquence source est une requête, l’appel de cet opérateur force l’exécution immédiate. L’énumération de la séquence source peut également entraîner la levée d’exceptions.
Le schéma de la table de destination est basé sur le schéma de la première DataRow ligne de la séquence source. Les métadonnées de table sont extraites des DataRow métadonnées et des valeurs de table des valeurs de colonne du DataRow. Pour un type DataTable, les types ne sont pas conservés. Les données et le schéma sont transférés, mais les lignes résultantes de la table de sortie ne seront pas du type typé DataRow . Les RowState propriétés et RowError les propriétés ne sont pas conservées pendant la copie de la source DataRow vers le retour DataTable.
Lorsqu’une référence Null ou un type Nullable avec une valeur null est trouvée dans une source DataRow, cette méthode remplace la valeur dans la destination DataTable par une valeur de Value.
La table générée retournée par la méthode a le nom de table par défaut. Si vous souhaitez nommer le DataTablefichier , l’attacher à un DataSetou effectuer une autre DataTable opération spécifique, vous devez le faire une fois la table créée et retournée.
Pour plus d’informations, consultez Création d’un DataTable à partir d’une requête.
S’applique à
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)
- Source:
- DataTableExtensions.cs
- Source:
- DataTableExtensions.cs
- Source:
- DataTableExtensions.cs
- Source:
- DataTableExtensions.cs
- Source:
- DataTableExtensions.cs
Copie DataRow objets dans le DataTablespécifié, en fonction d’un objet IEnumerable<T> d’entrée où le paramètre générique T est 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)
Paramètres de type
- T
Type d’objets dans la séquence source, généralement DataRow.
Paramètres
- source
- IEnumerable<T>
Séquence source IEnumerable<T> .
- options
- LoadOption
Énumération LoadOption qui spécifie les options de DataTable chargement.
Exceptions
La séquence source IEnumerable<T> est null ou la destination DataTable est null.
Dans DataRow la séquence source, l’état est Deleted.
La séquence source ne contient DataRow aucun objet.
A DataRow dans la séquence source est null.
Remarques
Le paramètre du paramètre Tsource d’entrée ne peut être de type DataRowque , ou un type dérivé de DataRow.
La séquence d’entrée peut être n’importe quelle IEnumerable<T> source, et non seulement une requête sur un DataTable. Notez que si la séquence source est une requête, l’appel de cet opérateur force l’exécution immédiate. L’énumération de la séquence source peut également entraîner la levée d’exceptions.
Le schéma de la table de destination est basé sur le schéma de la première DataRow ligne de la séquence source. Les métadonnées de table sont extraites des DataRow métadonnées et des valeurs de table des valeurs de colonne du DataRow. Pour un type DataTable, les types ne sont pas conservés. Les données et le schéma sont transférés, mais les lignes résultantes de la table de sortie ne seront pas du type typé DataRow . Les RowState propriétés et RowError les propriétés ne sont pas conservées pendant la copie de la source DataRow vers le retour DataTable.
Lorsqu’une référence Null ou un type Nullable avec une valeur null est trouvée dans une source DataRow, cette méthode remplace la valeur dans la destination DataTable par une valeur de Value.
La table générée retournée par la méthode a le nom de table par défaut. Si vous souhaitez nommer le DataTablefichier , l’attacher à un DataSetou effectuer une autre DataTable opération spécifique, vous devez le faire une fois la table créée et retournée.
Pour plus d’informations, consultez Création d’un DataTable à partir d’une requête.
S’applique à
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)
- Source:
- DataTableExtensions.cs
- Source:
- DataTableExtensions.cs
- Source:
- DataTableExtensions.cs
- Source:
- DataTableExtensions.cs
- Source:
- DataTableExtensions.cs
Copie DataRow objets dans le DataTablespécifié, en fonction d’un objet IEnumerable<T> d’entrée où le paramètre générique T est 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)
Paramètres de type
- T
Type d’objets dans la séquence source, généralement DataRow.
Paramètres
- source
- IEnumerable<T>
Séquence source IEnumerable<T> .
- options
- LoadOption
Énumération LoadOption qui spécifie les options de DataTable chargement.
- errorHandler
- FillErrorEventHandler
Délégué FillErrorEventHandler qui représente la méthode qui gère une erreur.
Exceptions
La séquence source IEnumerable<T> est null ou la destination DataTable est null.
Dans DataRow la séquence source, l’état est Deleted.
- ou -
La séquence source ne contient DataRow aucun objet.
- ou -
A DataRow dans la séquence source est null.
Remarques
Le paramètre du paramètre Tsource d’entrée ne peut être de type DataRowque , ou un type dérivé de DataRow.
La séquence d’entrée peut être n’importe quelle IEnumerable<T> source, et non seulement une requête sur un DataTable. Notez que si la séquence source est une requête, l’appel de cet opérateur force l’exécution immédiate. L’énumération de la séquence source peut également entraîner la levée d’exceptions.
Le schéma de la table de destination est basé sur le schéma de la première DataRow ligne de la séquence source. Les métadonnées de table sont extraites des DataRow métadonnées et des valeurs de table des valeurs de colonne du DataRow. Pour un type DataTable, les types ne sont pas conservés. Les données et le schéma sont transférés, mais les lignes résultantes de la table de sortie ne seront pas du type typé DataRow . Les RowState propriétés et RowError les propriétés ne sont pas conservées pendant la copie de la source DataRow vers le retour DataTable.
Lorsqu’une référence Null ou un type Nullable avec une valeur null est trouvée dans une source DataRow, cette méthode remplace la valeur dans la destination DataTable par une valeur de Value.
La table générée retournée par la méthode a le nom de table par défaut. Si vous souhaitez nommer le DataTablefichier , l’attacher à un DataSetou effectuer une autre DataTable opération spécifique, vous devez le faire une fois la table créée et retournée.
Si une exception est levée pendant la copie d’une ligne de données dans la table cible, telle qu’une exception de contrainte, le errorHandler délégué est appelé. A FillErrorEventArgs est transmis au errorHandler délégué avec les valeurs suivantes :
La Values propriété est définie sur une copie des données sources.
La Errors propriété est définie sur l’exception interceptée.
La Continue propriété est lue après le retour de l’appel délégué. Si la Continue propriété est true, la séquence source continue d’être énumérée et chargée dans la table de données. Si la Continue propriété est false, l’exception d’origine est levée à partir de la CopyToDataTable méthode.
Pour plus d’informations, consultez Création d’un DataTable à partir d’une requête.