DataTable, classe (System.Data)

Changer de vue:
ScriptFree
Bibliothèque de classes .NET Framework
DataTable, classe
Cet article a fait l'objet d'une traduction manuelle. Pour afficher simultanément cette page et le contenu source en anglais, choisissez le paramètre d'affichage Basse densité.

Représente une table de données en mémoire.

Hiérarchie d'héritage

System.Object
  System.ComponentModel.MarshalByValueComponent
    System.Data.DataTable
      System.Data.TypedTableBase<T>

Espace de noms :  System.Data
Assembly :  System.Data (dans System.Data.dll)
Syntaxe

Visual Basic
<SerializableAttribute> _
Public Class DataTable _
	Inherits MarshalByValueComponent _
	Implements IListSource, ISupportInitializeNotification, ISupportInitialize, ISerializable,  _
	IXmlSerializable
C#
[SerializableAttribute]
public class DataTable : MarshalByValueComponent, IListSource, 
	ISupportInitializeNotification, ISupportInitialize, ISerializable, IXmlSerializable
VisualC++
[SerializableAttribute]
public ref class DataTable : public MarshalByValueComponent, 
	IListSource, ISupportInitializeNotification, ISupportInitialize, ISerializable, IXmlSerializable
F#
[<SerializableAttribute>]
type DataTable =  
    class
        inherit MarshalByValueComponent
        interface IListSource
        interface ISupportInitializeNotification
        interface ISupportInitialize
        interface ISerializable
        interface IXmlSerializable
    end

Le type DataTable expose les membres suivants.

Constructeurs

  Nom Description
Méthode publique Pris en charge par XNA Framework DataTable() Initialise une nouvelle instance de la classe DataTable sans argument.
Méthode publique Pris en charge par XNA Framework DataTable(String) Initialise une nouvelle instance de la classe DataTable avec le nom de table spécifié.
Méthode protégée DataTable(SerializationInfo, StreamingContext) Initialise une nouvelle instance de la classe DataTable avec SerializationInfo et StreamingContext.
Méthode publique Pris en charge par XNA Framework DataTable(String, String) Initialise une nouvelle instance de la classe DataTable avec le nom de table et l'espace de noms spécifiés.
Début
Propriétés

  Nom Description
Propriété publique Pris en charge par XNA Framework CaseSensitive Indique si les comparaisons de chaînes au sein de la table respectent la casse.
Propriété publique Pris en charge par XNA Framework ChildRelations Obtient la collection des relations enfants de ce DataTable.
Propriété publique Pris en charge par XNA Framework Columns Obtient la collection des colonnes qui appartiennent à cette table.
Propriété publique Pris en charge par XNA Framework Constraints Obtient la collection de contraintes gérée par cette table.
Propriété publique Pris en charge par XNA Framework Container Obtient le conteneur du composant. (Hérité de MarshalByValueComponent.)
Propriété publique Pris en charge par XNA Framework DataSet Obtient le DataSet auquel cette table appartient.
Propriété publique Pris en charge par XNA Framework DefaultView Obtient une vue personnalisée de la table qui peut comprendre une vue filtrée ou une position de curseur.
Propriété publique Pris en charge par XNA Framework DesignMode Obtient une valeur indiquant si le composant est actuellement en mode design. (Hérité de MarshalByValueComponent.)
Propriété publique Pris en charge par XNA Framework DisplayExpression Obtient ou définit l'expression qui retourne une valeur utilisée pour représenter cette table dans l'interface utilisateur. La propriété DisplayExpression vous permet d'afficher le nom de cette table dans une interface utilisateur.
Propriété protégée Pris en charge par XNA Framework Events Obtient la liste des gestionnaires d'événements attachés à ce composant. (Hérité de MarshalByValueComponent.)
Propriété publique Pris en charge par XNA Framework ExtendedProperties Obtient la collection d'informations utilisateur personnalisées.
Propriété publique Pris en charge par XNA Framework HasErrors Obtient une valeur indiquant s'il existe des erreurs dans une des lignes d'une table du DataSet auquel appartient la table.
Propriété publique Pris en charge par XNA Framework IsInitialized Obtient une valeur qui indique si DataTable est initialisé.
Propriété publique Pris en charge par XNA Framework Locale Obtient ou définit les paramètres régionaux utilisés pour comparer des chaînes dans la table.
Propriété publique Pris en charge par XNA Framework MinimumCapacity Obtient ou définit la taille de départ initiale pour cette table.
Propriété publique Pris en charge par XNA Framework Namespace Obtient ou définit l'espace de noms de la représentation XML des données stockées dans le DataTable.
Propriété publique Pris en charge par XNA Framework ParentRelations Obtient la collection des relations parentes de ce DataTable.
Propriété publique Pris en charge par XNA Framework Prefix Obtient ou définit l'espace de noms de la représentation XML des données stockées dans le DataTable.
Propriété publique Pris en charge par XNA Framework PrimaryKey Obtient ou définit un tableau de colonnes qui fonctionnent comme des clés primaires pour la table de données.
Propriété publique RemotingFormat Obtient ou définit le format de sérialisation.
Propriété publique Pris en charge par XNA Framework Rows Obtient la collection des lignes qui appartiennent à cette table.
Propriété publique Pris en charge par XNA Framework Site Obtient ou définit un System.ComponentModel.ISite pour DataTable. (Substitue MarshalByValueComponent.Site.)
Propriété publique Pris en charge par XNA Framework TableName Obtient ou définit le nom de DataTable.
Début
Méthodes

  Nom Description
Méthode publique Pris en charge par XNA Framework AcceptChanges Valide toutes les modifications apportées à cette table depuis le dernier appel à AcceptChanges.
Méthode publique Pris en charge par XNA Framework BeginInit Commence l'initialisation d'un DataTable qui est utilisé dans un formulaire ou par un autre composant. L'initialisation se produit au moment de l'exécution.
Méthode publique Pris en charge par XNA Framework BeginLoadData Désactive les notifications, la gestion d'index et les contraintes lors du chargement de données.
Méthode publique Pris en charge par XNA Framework Clear Efface toutes les données de DataTable.
Méthode publique Pris en charge par XNA Framework Clone Clone la structure de DataTable, y compris tous les schémas et contraintes DataTable.
Méthode publique Pris en charge par XNA Framework Compute Calcule l'expression donnée sur les lignes en cours qui passent les critères du filtre.
Méthode publique Pris en charge par XNA Framework Copy Copie à la fois la structure et les données de ce DataTable.
Méthode publique Pris en charge par XNA Framework CreateDataReader Retourne un DataTableReader correspondant aux données dans ce DataTable.
Méthode protégée Pris en charge par XNA Framework CreateInstance Infrastructure. Crée une nouvelle instance de DataTable.
Méthode publique Pris en charge par XNA Framework Dispose() Libère toutes les ressources utilisées par MarshalByValueComponent. (Hérité de MarshalByValueComponent.)
Méthode protégée Pris en charge par XNA Framework Dispose(Boolean) Libère les ressources non managées utilisées par MarshalByValueComponent et libère éventuellement les ressources managées. (Hérité de MarshalByValueComponent.)
Méthode publique Pris en charge par XNA Framework EndInit Met fin à l'initialisation d'un DataTable qui est utilisé dans un formulaire ou par un autre composant. L'initialisation se produit au moment de l'exécution.
Méthode publique Pris en charge par XNA Framework EndLoadData Active les notifications, la gestion d'index et les contraintes après le chargement de données.
Méthode publique Pris en charge par XNA Framework Equals(Object) Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.)
Méthode protégée Pris en charge par XNA Framework Finalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de netto***ge avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de MarshalByValueComponent.)
Méthode publique Pris en charge par XNA Framework GetChanges() Obtient une copie du DataTable qui contient l'ensemble des modifications qui lui ont été apportées depuis son chargement ou depuis le dernier appel à AcceptChanges.
Méthode publique Pris en charge par XNA Framework GetChanges(DataRowState) Obtient une copie du DataTable contenant l'ensemble des modifications qui lui ont été apportées depuis son dernier chargement ou depuis l'appel à AcceptChanges, filtrée par DataRowState.
Méthode publique Membre statique Pris en charge par XNA Framework GetDataTableSchema Cette méthode retourne une instance de XmlSchemaSet contenant WSDL (Web Services Description Language), lequel décrit DataTable pour les services Web.
Méthode publique Pris en charge par XNA Framework GetErrors Obtient un tableau d'objets DataRow qui contiennent des erreurs.
Méthode publique Pris en charge par XNA Framework GetHashCode Sert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publique GetObjectData Remplit un objet d'informations de sérialisation avec les données nécessaires pour sérialiser DataTable.
Méthode protégée Pris en charge par XNA Framework GetRowType Infrastructure. Obtient le type de ligne.
Méthode protégée Pris en charge par XNA Framework GetSchema Infrastructure. Pour obtenir une description de ce membre, consultez IXmlSerializable.GetSchema.
Méthode publique Pris en charge par XNA Framework GetService Obtient l'implémenteur du IServiceProvider. (Hérité de MarshalByValueComponent.)
Méthode publique Pris en charge par XNA Framework GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publique Pris en charge par XNA Framework ImportRow Copie DataRow dans un DataTable en préservant tous les paramètres de propriété, ainsi que les valeurs d'origine et actuelles.
Méthode publique Pris en charge par XNA Framework Load(IDataReader) Remplit un DataTable avec des valeurs issues d'une source de données à l'aide du IDataReader fourni. Si DataTable contient déjà des lignes, les données entrantes à partir de la source de données sont fusionnées avec les lignes existantes.
Méthode publique Pris en charge par XNA Framework Load(IDataReader, LoadOption) Remplit un DataTable avec des valeurs issues d'une source de données à l'aide du IDataReader fourni. Si DataTable contient déjà des lignes, les données entrantes à partir de la source de données sont fusionnées avec les lignes existantes en fonction de la valeur du paramètre loadOption.
Méthode publique Pris en charge par XNA Framework Load(IDataReader, LoadOption, FillErrorEventHandler) Remplit un DataTable avec des valeurs issues d'une source de données à l'aide du IDataReader fourni et d'un délégué de gestion d'erreur.
Méthode publique Pris en charge par XNA Framework LoadDataRow(Object[], Boolean) Recherche et met à jour une ligne spécifique. Si aucune ligne correspondante n'est détectée, une nouvelle ligne est créée à l'aide des valeurs données.
Méthode publique Pris en charge par XNA Framework LoadDataRow(Object[], LoadOption) Recherche et met à jour une ligne spécifique. Si aucune ligne correspondante n'est détectée, une nouvelle ligne est créée à l'aide des valeurs données.
Méthode protégée Pris en charge par XNA Framework MemberwiseClone Crée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode publique Pris en charge par XNA Framework Merge(DataTable) Fusionnez le DataTable spécifié avec le DataTable actuel.
Méthode publique Pris en charge par XNA Framework Merge(DataTable, Boolean) Fusionnez le DataTable spécifié avec le DataTable actuel, en indiquant s'il faut conserver les modifications dans le DataTable actuel.
Méthode publique Pris en charge par XNA Framework Merge(DataTable, Boolean, MissingSchemaAction) Fusionnez le DataTable spécifié avec le DataTable actuel, en indiquant s'il faut conserver les modifications et comment gérer le schéma manquant dans le DataTable actuel.
Méthode publique Pris en charge par XNA Framework NewRow Crée un nouveau DataRow possédant le même schéma que la table.
Méthode protégée Pris en charge par XNA Framework NewRowArray Infrastructure. Retourne un tableau de DataRow.
Méthode protégée Pris en charge par XNA Framework NewRowFromBuilder Crée une nouvelle ligne à partir d'une ligne existante.
Méthode protégée Pris en charge par XNA Framework OnColumnChanged Déclenche l'événement ColumnChanged.
Méthode protégée Pris en charge par XNA Framework OnColumnChanging Déclenche l'événement ColumnChanging.
Méthode protégée Pris en charge par XNA Framework OnPropertyChanging Déclenche l'événement PropertyChanged.
Méthode protégée OnRemoveColumn Avertit DataTable que DataColumn est en cours de suppression.
Méthode protégée Pris en charge par XNA Framework OnRowChanged Déclenche l'événement RowChanged.
Méthode protégée Pris en charge par XNA Framework OnRowChanging Déclenche l'événement RowChanging.
Méthode protégée Pris en charge par XNA Framework OnRowDeleted Déclenche l'événement RowDeleted.
Méthode protégée Pris en charge par XNA Framework OnRowDeleting Déclenche l'événement RowDeleting.
Méthode protégée Pris en charge par XNA Framework OnTableCleared Déclenche l'événement TableCleared.
Méthode protégée Pris en charge par XNA Framework OnTableClearing Déclenche l'événement TableClearing.
Méthode protégée Pris en charge par XNA Framework OnTableNewRow Déclenche l'événement TableNewRow.
Méthode publique Pris en charge par XNA Framework ReadXml(Stream) Lit le schéma et les données XML dans le DataTable à l'aide du Stream spécifié.
Méthode publique Pris en charge par XNA Framework ReadXml(String) Lit le schéma et les données XML dans le DataTable à partir du fichier spécifié.
Méthode publique Pris en charge par XNA Framework ReadXml(TextReader) Lit le schéma et les données XML dans le DataTable à l'aide du TextReader spécifié.
Méthode publique Pris en charge par XNA Framework ReadXml(XmlReader) Lit le schéma et les données XML dans le DataTable à l'aide du XmlReader spécifié.
Méthode publique Pris en charge par XNA Framework ReadXmlSchema(Stream) Lit un schéma XML dans le DataTable à l'aide du flux de données spécifié.
Méthode publique Pris en charge par XNA Framework ReadXmlSchema(String) Lit un schéma XML dans le DataTable à partir du fichier spécifié.
Méthode publique Pris en charge par XNA Framework ReadXmlSchema(TextReader) Lit un schéma XML dans le DataTable à l'aide du TextReader spécifié.
Méthode publique Pris en charge par XNA Framework ReadXmlSchema(XmlReader) Lit un schéma XML dans le DataTable à l'aide du XmlReader spécifié.
Méthode protégée Pris en charge par XNA Framework ReadXmlSerializable Infrastructure. Lectures d'un flux de données XML.
Méthode publique Pris en charge par XNA Framework RejectChanges Restaure toutes les modifications apportées à la table depuis son chargement ou le dernier appel à AcceptChanges.
Méthode publique Pris en charge par XNA Framework Reset Rétablit l'état d'origine de DataTable.
Méthode publique Pris en charge par XNA Framework Select() Obtient un tableau de tous les objets DataRow.
Méthode publique Pris en charge par XNA Framework Select(String) Obtient un tableau de tous les objets DataRow qui correspondent aux critères de filtre.
Méthode publique Pris en charge par XNA Framework Select(String, String) Obtient un tableau de tous les objets DataRow qui correspondent aux critères de filtre, dans l'ordre de tri spécifié.
Méthode publique Pris en charge par XNA Framework Select(String, String, DataViewRowState) Obtient un tableau de tous les objets DataRow qui correspondent au filtre et à l'état spécifié, dans l'ordre de tri.
Méthode publique Pris en charge par XNA Framework ToString Obtient le TableName et le DisplayExpression éventuels sous la forme d'une chaîne concaténée. (Substitue MarshalByValueComponent.ToString().)
Méthode publique Pris en charge par XNA Framework WriteXml(Stream) Écrit le contenu actuel du DataTable au format XML à l'aide du Stream spécifié.
Méthode publique Pris en charge par XNA Framework WriteXml(String) Écrit le contenu actuel du DataTable au format XML à l'aide du fichier spécifié.
Méthode publique Pris en charge par XNA Framework WriteXml(TextWriter) Écrit le contenu actuel du DataTable au format XML à l'aide du TextWriter spécifié.
Méthode publique Pris en charge par XNA Framework WriteXml(XmlWriter) Écrit le contenu actuel du DataTable au format XML à l'aide du XmlWriter spécifié.
Méthode publique Pris en charge par XNA Framework WriteXml(Stream, Boolean) Écrit le contenu actuel du DataTable au format XML à l'aide du Stream spécifié. Pour enregistrer les données pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur true.
Méthode publique Pris en charge par XNA Framework WriteXml(Stream, XmlWriteMode) Écrit les données en cours, et éventuellement le schéma, de DataTable dans le fichier spécifié à l'aide du XmlWriteMode spécifié. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode.
Méthode publique Pris en charge par XNA Framework WriteXml(String, Boolean) Écrit le contenu actuel du DataTable au format XML à l'aide du fichier spécifié. Pour enregistrer les données pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur true.
Méthode publique Pris en charge par XNA Framework WriteXml(String, XmlWriteMode) Écrit les données en cours, et éventuellement le schéma, de DataTable à l'aide du fichier et XmlWriteMode spécifiés. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode.
Méthode publique Pris en charge par XNA Framework WriteXml(TextWriter, Boolean) Écrit le contenu actuel du DataTable au format XML à l'aide du TextWriter spécifié. Pour enregistrer les données pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur true.
Méthode publique Pris en charge par XNA Framework WriteXml(TextWriter, XmlWriteMode) Écrit les données en cours, et éventuellement le schéma, de DataTable à l'aide des TextWriter et XmlWriteMode spécifiés. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode.
Méthode publique Pris en charge par XNA Framework WriteXml(XmlWriter, Boolean) Écrit le contenu actuel du DataTable au format XML à l'aide du XmlWriter spécifié.
Méthode publique Pris en charge par XNA Framework WriteXml(XmlWriter, XmlWriteMode) Écrit les données en cours, et éventuellement le schéma, de DataTable à l'aide des XmlWriter et XmlWriteMode spécifiés. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode.
Méthode publique Pris en charge par XNA Framework WriteXml(Stream, XmlWriteMode, Boolean) Écrit les données en cours, et éventuellement le schéma, de DataTable dans le fichier spécifié à l'aide du XmlWriteMode spécifié. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode. Pour enregistrer les données pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur true.
Méthode publique Pris en charge par XNA Framework WriteXml(String, XmlWriteMode, Boolean) Écrit les données en cours, et éventuellement le schéma, de DataTable à l'aide du fichier et XmlWriteMode spécifiés. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode. Pour enregistrer les données pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur true.
Méthode publique Pris en charge par XNA Framework WriteXml(TextWriter, XmlWriteMode, Boolean) Écrit les données en cours, et éventuellement le schéma, de DataTable à l'aide des TextWriter et XmlWriteMode spécifiés. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode. Pour enregistrer les données pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur true.
Méthode publique Pris en charge par XNA Framework WriteXml(XmlWriter, XmlWriteMode, Boolean) Écrit les données en cours, et éventuellement le schéma, de DataTable à l'aide des XmlWriter et XmlWriteMode spécifiés. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode. Pour enregistrer les données pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur true.
Méthode publique Pris en charge par XNA Framework WriteXmlSchema(Stream) Écrit la structure de données actuelle du DataTable sous la forme d'un schéma XML dans le flux de données spécifié.
Méthode publique Pris en charge par XNA Framework WriteXmlSchema(String) Écrit la structure de données actuelle du DataTable sous la forme d'un schéma XML dans le fichier spécifié.
Méthode publique Pris en charge par XNA Framework WriteXmlSchema(TextWriter) Écrit la structure de données actuelle du DataTable sous la forme d'un schéma XML à l'aide du TextWriter spécifié.
Méthode publique Pris en charge par XNA Framework WriteXmlSchema(XmlWriter) Écrit la structure de données actuelle du DataTable sous la forme d'un schéma XML à l'aide du XmlWriter spécifié.
Méthode publique Pris en charge par XNA Framework WriteXmlSchema(Stream, Boolean) Écrit la structure de données actuelle du DataTable sous la forme d'un schéma XML dans le flux de données spécifié. Pour enregistrer le schéma pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur true.
Méthode publique Pris en charge par XNA Framework WriteXmlSchema(String, Boolean) Écrit la structure de données actuelle du DataTable sous la forme d'un schéma XML dans le fichier spécifié. Pour enregistrer le schéma pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur true.
Méthode publique Pris en charge par XNA Framework WriteXmlSchema(TextWriter, Boolean) Écrit la structure de données actuelle du DataTable sous la forme d'un schéma XML à l'aide du TextWriter spécifié. Pour enregistrer le schéma pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur true.
Méthode publique Pris en charge par XNA Framework WriteXmlSchema(XmlWriter, Boolean) Écrit la structure de données actuelle du DataTable sous la forme d'un schéma XML à l'aide du XmlWriter spécifié. Pour enregistrer le schéma pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur true.
Début
Événements

  Nom Description
Événement public Pris en charge par XNA Framework ColumnChanged Se produit après la modification d'une valeur du DataColumn spécifié dans un DataRow.
Événement public Pris en charge par XNA Framework ColumnChanging Se produit lors de la modification d'une valeur du DataColumn spécifié dans un DataRow.
Événement public Pris en charge par XNA Framework Disposed Ajoute un gestionnaire d'événements qui doit écouter l'événement Disposed pour le composant. (Hérité de MarshalByValueComponent.)
Événement public Pris en charge par XNA Framework Initialized Se produit une fois que le DataTable est initialisé.
Événement public Pris en charge par XNA Framework RowChanged Se produit lorsque DataRow a été correctement modifié.
Événement public Pris en charge par XNA Framework RowChanging Se produit lorsque DataRow est en cours de modification.
Événement public Pris en charge par XNA Framework RowDeleted Se produit lorsqu'une ligne de la table a été supprimée.
Événement public Pris en charge par XNA Framework RowDeleting Se produit avant qu'une ligne de la table soit sur le point d'être supprimée.
Événement public Pris en charge par XNA Framework TableCleared Se produit une fois DataTable effacé.
Événement public Pris en charge par XNA Framework TableClearing Se produit lorsque DataTable est effacé.
Événement public Pris en charge par XNA Framework TableNewRow Se produit lorsqu'un nouveau DataRow est inséré.
Début
Méthodes d'extension

  Nom Description
Méthode d'extension publique AsDataView Crée et retourne un objet DataView prenant en charge LINQ. (Défini par DataTableExtensions.)
Méthode d'extension publique AsEnumerable Retourne un objet IEnumerable<T> où le paramètre générique T est DataRow. Cet objet peut être utilisé dans une requête d'expression ou de méthode LINQ. (Défini par DataTableExtensions.)
Début
Champs

  Nom Description
Champ protégé Pris en charge par XNA Framework fInitInProgress Infrastructure. Vérifie si l'initialisation est en cours. L'initialisation se produit au moment de l'exécution.
Début
Implémentations d'interface explicite

  Nom Description
Implémentation d'interface explicite Propriété privée Pris en charge par XNA Framework IListSource.ContainsListCollection Pour obtenir une description de ce membre, consultez IListSource.ContainsListCollection.
Implémentation d'interface explicite Méthode privée Pris en charge par XNA Framework IListSource.GetList Pour obtenir une description de ce membre, consultez IListSource.GetList.
Implémentation d'interface explicite Méthode privée Pris en charge par XNA Framework IXmlSerializable.GetSchema Pour obtenir une description de ce membre, consultez IXmlSerializable.GetSchema.
Implémentation d'interface explicite Méthode privée Pris en charge par XNA Framework IXmlSerializable.ReadXml Pour obtenir une description de ce membre, consultez IXmlSerializable.ReadXml.
Implémentation d'interface explicite Méthode privée Pris en charge par XNA Framework IXmlSerializable.WriteXml Pour obtenir une description de ce membre, consultez IXmlSerializable.WriteXml.
Début
Notes

DataTable est un objet central dans la bibliothèque ADO.NET. Les autres objets qui utilisent DataTable sont DataSet et DataView.

Lorsque vous accédez à des objets DataTable, remarquez qu'ils respectent la casse dans certaines conditions. Par exemple, si DataTable est appelé "mydatatable" et un autre "Mydatatable", une chaîne utilisée pour rechercher une des deux tables est considérée comme respectant la casse. Cependant, si "mydatatable" existe, mais pas "Mydatatable", la chaîne recherchée est considérée comme ne respectant pas la casse. Un DataSet peut contenir deux objets DataTable qui ont la même valeur de propriété TableName, mais des valeurs de propriété Namespace différentes. Pour plus d'informations sur l'utilisation d'objets DataTable, consultez Création d'un DataTable (ADO.NET).

Si vous créez DataTable par programme, vous devez d'abord définir son schéma en ajoutant des objets DataColumn à DataColumnCollection (accessible à l'aide de la propriété Columns). Pour plus d'informations sur l'ajout d'objets DataColumn, consultez Ajout de colonnes à un DataTable (ADO.NET).

Pour ajouter des lignes à DataTable, vous devez d'abord utiliser la méthode NewRow pour retourner un nouvel objet DataRow. La méthode NewRow retourne une ligne avec le schéma de DataTable, tel qu'il est défini par le DataColumnCollection de la table. Le nombre maximal de lignes qu'un DataTable peut stocker est 16 777 216. Pour plus d'informations, consultez Ajout de données à un objet DataTable.

DataTable contient aussi une collection d'objets Constraint qui peuvent être utilisés pour garantir l'intégrité des données. Pour plus d'informations, consultez Contraintes DataTable (ADO.NET).

Un grand nombre d'événements DataTable peuvent être utilisés pour déterminer si des modifications sont apportées à une table. Il s'agit de RowChanged, RowChanging, RowDeleting et RowDeleted. Pour plus d'informations sur les événements qui peuvent être utilisés avec un DataTable, consultez Gestion des événements DataTable (ADO.NET).

Lorsqu'une instance de DataTable est créée, les valeurs initiales de certaines propriétés de lecture/écriture sont rétablies. Pour obtenir la liste de ces valeurs, consultez la rubrique relative au constructeur DataTable.DataTable.

Remarque Remarque

Les objets DataSet et DataTable héritent de MarshalByValueComponent et prennent en charge l'interface ISerializable pour le .NET Framework Remoting. Ce sont les seuls objets ADO.NET que vous pouvez utiliser pour le .NET Framework Remoting.

Exemples

L'exemple suivant crée deux objets DataTable et un objet DataRelation, et ajoute les nouveaux objets à un DataSet. Les tables sont ensuite affichées dans un contrôle DataGridView.

Visual Basic

' Put the next line into the Declarations section.
private dataSet As DataSet 

Private Sub MakeDataTables()
    ' Run all of the functions. 
    MakeParentTable()
    MakeChildTable()
    MakeDataRelation()
    BindToDataGrid()
End Sub

Private Sub MakeParentTable()
    ' Create a new DataTable.
    Dim table As DataTable = new DataTable("ParentTable")

    ' Declare variables for DataColumn and DataRow objects.
    Dim column As DataColumn 
    Dim row As DataRow 

    ' Create new DataColumn, set DataType, ColumnName 
    ' and add to DataTable.    
    column = New DataColumn()
    column.DataType = System.Type.GetType("System.Int32")
    column.ColumnName = "id"
    column.ReadOnly = True
    column.Unique = True

    ' Add the Column to the DataColumnCollection.
    table.Columns.Add(column)

    ' Create second column.
    column = New DataColumn()
    column.DataType = System.Type.GetType("System.String")
    column.ColumnName = "ParentItem"
    column.AutoIncrement = False
    column.Caption = "ParentItem"
    column.ReadOnly = False
    column.Unique = False

    ' Add the column to the table.
    table.Columns.Add(column)

    ' Make the ID column the primary key column.
    Dim PrimaryKeyColumns(0) As DataColumn
    PrimaryKeyColumns(0)= table.Columns("id")
    table.PrimaryKey = PrimaryKeyColumns

    ' Instantiate the DataSet variable.
    dataSet = New DataSet()

    ' Add the new DataTable to the DataSet.
    dataSet.Tables.Add(table)

    ' Create three new DataRow objects and add 
    ' them to the DataTable
    Dim i As Integer
    For i = 0 to 2
       row = table.NewRow()
       row("id") = i
       row("ParentItem") = "ParentItem " + i.ToString()
       table.Rows.Add(row)
    Next i
End Sub

Private Sub MakeChildTable()
    ' Create a new DataTable.
    Dim table As DataTable = New DataTable("childTable")
    Dim column As DataColumn 
    Dim row As DataRow 

    ' Create first column and add to the DataTable.
    column = New DataColumn()
    column.DataType= System.Type.GetType("System.Int32")
    column.ColumnName = "ChildID"
    column.AutoIncrement = True
    column.Caption = "ID"
    column.ReadOnly = True
    column.Unique = True

    ' Add the column to the DataColumnCollection.
    table.Columns.Add(column)

    ' Create second column.
    column = New DataColumn()
    column.DataType= System.Type.GetType("System.String")
    column.ColumnName = "ChildItem"
    column.AutoIncrement = False
    column.Caption = "ChildItem"
    column.ReadOnly = False
    column.Unique = False
    table.Columns.Add(column)

    ' Create third column.
    column = New DataColumn()
    column.DataType= System.Type.GetType("System.Int32")
    column.ColumnName = "ParentID"
    column.AutoIncrement = False
    column.Caption = "ParentID"
    column.ReadOnly = False
    column.Unique = False
    table.Columns.Add(column)

    dataSet.Tables.Add(table)

    ' Create three sets of DataRow objects, five rows each, 
    ' and add to DataTable.
    Dim i As Integer
    For i = 0 to 4
       row = table.NewRow()
       row("childID") = i
       row("ChildItem") = "Item " + i.ToString()
       row("ParentID") = 0 
       table.Rows.Add(row)
    Next i
    For i = 0 to 4
       row = table.NewRow()
       row("childID") = i + 5
       row("ChildItem") = "Item " + i.ToString()
       row("ParentID") = 1 
       table.Rows.Add(row)
    Next i
    For i = 0 to 4
       row = table.NewRow()
       row("childID") = i + 10
       row("ChildItem") = "Item " + i.ToString()
       row("ParentID") = 2 
       table.Rows.Add(row)
    Next i
End Sub

Private Sub MakeDataRelation()
    ' DataRelation requires two DataColumn 
    ' (parent and child) and a name.
    Dim parentColumn As DataColumn = _
        dataSet.Tables("ParentTable").Columns("id")
    Dim childColumn As DataColumn = _
        dataSet.Tables("ChildTable").Columns("ParentID")
    Dim relation As DataRelation = new _
        DataRelation("parent2Child", parentColumn, childColumn)
    dataSet.Tables("ChildTable").ParentRelations.Add(relation)
End Sub

Private Sub BindToDataGrid()
    ' Instruct the DataGrid to bind to the DataSet, with the 
    ' ParentTable as the topmost DataTable.
    DataGrid1.SetDataBinding(dataSet,"ParentTable")
End Sub
 


C#

// Put the next line into the Declarations section.
private System.Data.DataSet dataSet;

private void MakeDataTables()
{
    // Run all of the functions. 
    MakeParentTable();
    MakeChildTable();
    MakeDataRelation();
    BindToDataGrid();
}

private void MakeParentTable()
{
    // Create a new DataTable.
    System.Data.DataTable table = new DataTable("ParentTable");
    // Declare variables for DataColumn and DataRow objects.
    DataColumn column;
    DataRow row;

    // Create new DataColumn, set DataType, 
    // ColumnName and add to DataTable.    
    column = new DataColumn();
    column.DataType = System.Type.GetType("System.Int32");
    column.ColumnName = "id";
    column.ReadOnly = true;
    column.Unique = true;
    // Add the Column to the DataColumnCollection.
    table.Columns.Add(column);

    // Create second column.
    column = new DataColumn();
    column.DataType = System.Type.GetType("System.String");
    column.ColumnName = "ParentItem";
    column.AutoIncrement = false;
    column.Caption = "ParentItem";
    column.ReadOnly = false;
    column.Unique = false;
    // Add the column to the table.
    table.Columns.Add(column);

    // Make the ID column the primary key column.
    DataColumn[] PrimaryKeyColumns = new DataColumn[1];
    PrimaryKeyColumns[0] = table.Columns["id"];
    table.PrimaryKey = PrimaryKeyColumns;

    // Instantiate the DataSet variable.
    dataSet = new DataSet();
    // Add the new DataTable to the DataSet.
    dataSet.Tables.Add(table);

    // Create three new DataRow objects and add 
    // them to the DataTable
    for (int i = 0; i<= 2; i++)
    {
        row = table.NewRow();
        row["id"] = i;
        row["ParentItem"] = "ParentItem " + i;
        table.Rows.Add(row);
    }
}

private void MakeChildTable()
{
    // Create a new DataTable.
    DataTable table = new DataTable("childTable");
    DataColumn column;
    DataRow row;

    // Create first column and add to the DataTable.
    column = new DataColumn();
    column.DataType= System.Type.GetType("System.Int32");
    column.ColumnName = "ChildID";
    column.AutoIncrement = true;
    column.Caption = "ID";
    column.ReadOnly = true;
    column.Unique = true;

    // Add the column to the DataColumnCollection.
    table.Columns.Add(column);

    // Create second column.
    column = new DataColumn();
    column.DataType= System.Type.GetType("System.String");
    column.ColumnName = "ChildItem";
    column.AutoIncrement = false;
    column.Caption = "ChildItem";
    column.ReadOnly = false;
    column.Unique = false;
    table.Columns.Add(column);

    // Create third column.
    column = new DataColumn();
    column.DataType= System.Type.GetType("System.Int32");
    column.ColumnName = "ParentID";
    column.AutoIncrement = false;
    column.Caption = "ParentID";
    column.ReadOnly = false;
    column.Unique = false;
    table.Columns.Add(column);

    dataSet.Tables.Add(table);

    // Create three sets of DataRow objects, 
    // five rows each, and add to DataTable.
    for(int i = 0; i <= 4; i ++)
    {
        row = table.NewRow();
        row["childID"] = i;
        row["ChildItem"] = "Item " + i;
        row["ParentID"] = 0 ;
        table.Rows.Add(row);
    }
    for(int i = 0; i <= 4; i ++)
    {
        row = table.NewRow();
        row["childID"] = i + 5;
        row["ChildItem"] = "Item " + i;
        row["ParentID"] = 1 ;
        table.Rows.Add(row);
    }
    for(int i = 0; i <= 4; i ++)
    {
        row = table.NewRow();
        row["childID"] = i + 10;
        row["ChildItem"] = "Item " + i;
        row["ParentID"] = 2 ;
        table.Rows.Add(row);
    }
}

private void MakeDataRelation()
{
    // DataRelation requires two DataColumn 
    // (parent and child) and a name.
    DataColumn parentColumn = 
        dataSet.Tables["ParentTable"].Columns["id"];
    DataColumn childColumn = 
        dataSet.Tables["ChildTable"].Columns["ParentID"];
    DataRelation relation = new 
        DataRelation("parent2Child", parentColumn, childColumn);
    dataSet.Tables["ChildTable"].ParentRelations.Add(relation);
}

private void BindToDataGrid()
{
    // Instruct the DataGrid to bind to the DataSet, with the 
    // ParentTable as the topmost DataTable.
    dataGrid1.SetDataBinding(dataSet,"ParentTable");
}


Informations de version

.NET Framework

Pris en charge dans : 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1
Plateformes

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Sécurité des threads

Ce type est sécurisé pour les opérations de lecture multithread. Vous devez synchroniser les opérations d'écriture.

Voir aussi

Référence

Autres ressources