DataSet, classe (System.Data)

Changer de vue:
ScriptFree
Bibliothèque de classes .NET Framework
DataSet, 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 un cache en mémoire de données.

Hiérarchie d'héritage

System.Object
  System.ComponentModel.MarshalByValueComponent
    System.Data.DataSet

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

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

Le type DataSet expose les membres suivants.

Constructeurs

  Nom Description
Méthode publique Pris en charge par XNA Framework DataSet() Initialise une nouvelle instance de la classe DataSet.
Méthode publique Pris en charge par XNA Framework DataSet(String) Initialise une nouvelle instance d'une classe DataSet portant le nom donné.
Méthode protégée DataSet(SerializationInfo, StreamingContext) Infrastructure. Initialise une nouvelle instance d'une classe DataSet qui contient les informations de sérialisation et le contexte donnés.
Méthode protégée DataSet(SerializationInfo, StreamingContext, Boolean) Infrastructure. Initialise une nouvelle instance de la classe DataSet.
Début
Propriétés

  Nom Description
Propriété publique Pris en charge par XNA Framework CaseSensitive Obtient ou définit une valeur indiquant si les comparaisons de chaînes au sein d'objets DataTable respectent la casse.
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 DataSetName Obtient ou définit le nom du DataSet en cours.
Propriété publique Pris en charge par XNA Framework DefaultViewManager Obtient une vue personnalisée des données contenues dans le DataSet, permettant de filtrer, rechercher et naviguer à l'aide d'un DataViewManager personnalisé.
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 EnforceConstraints Obtient ou définit une valeur indiquant si les règles de contrainte doivent être respectées lorsque vous tentez une opération de mise à jour.
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 associée au DataSet.
Propriété publique Pris en charge par XNA Framework HasErrors Obtient une valeur indiquant s'il existe des erreurs dans les objets DataTable de ce DataSet.
Propriété publique Pris en charge par XNA Framework IsInitialized Obtient une valeur qui indique si DataSet 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 Namespace Obtient ou définit l'espace de noms de DataSet.
Propriété publique Pris en charge par XNA Framework Prefix Obtient ou définit un préfixe XML qui associe un alias à l'espace de noms de DataSet.
Propriété publique Pris en charge par XNA Framework Relations Obtient la collection des relations qui relient des tables et permettent de naviguer des tables parentes aux tables enfants.
Propriété publique RemotingFormat Obtient ou définit un SerializationFormat pour le DataSet utilisé pendant la communication à distance.
Propriété publique Pris en charge par XNA Framework SchemaSerializationMode Obtient ou définit un SchemaSerializationMode pour un DataSet.
Propriété publique Pris en charge par XNA Framework Site Obtient ou définit un System.ComponentModel.ISite pour DataSet. (Substitue MarshalByValueComponent.Site.)
Propriété publique Pris en charge par XNA Framework Tables Obtient la collection des tables contenues dans le DataSet.
Début
Méthodes

  Nom Description
Méthode publique Pris en charge par XNA Framework AcceptChanges Valide toutes les modifications apportées à ce DataSet depuis son chargement ou depuis le dernier appel à AcceptChanges.
Méthode publique Pris en charge par XNA Framework BeginInit Commence l'initialisation d'un DataSet 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 Clear Efface toutes les données de DataSet en supprimant toutes les lignes de l'ensemble des tables.
Méthode publique Pris en charge par XNA Framework Clone Copie la structure de DataSet, y compris tous les schémas, relations et contraintes DataTable. Ne copie aucune donnée.
Méthode publique Pris en charge par XNA Framework Copy Copie à la fois la structure et les données de ce DataSet.
Méthode publique Pris en charge par XNA Framework CreateDataReader() Retourne un DataTableReader avec un jeu de résultats par DataTable, dans la même séquence que les tables dans la collection Tables.
Méthode publique Pris en charge par XNA Framework CreateDataReader(DataTable[]) Retourne un DataTableReader avec un jeu de résultats par DataTable.
Méthode protégée Pris en charge par XNA Framework DetermineSchemaSerializationMode(XmlReader) Détermine le SchemaSerializationMode pour un DataSet.
Méthode protégée DetermineSchemaSerializationMode(SerializationInfo, StreamingContext) Détermine le SchemaSerializationMode pour un DataSet.
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 DataSet 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 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 DataSet 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 DataSet 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 GetDataSetSchema Infrastructure. Obtient une copie de XmlSchemaSet pour le DataSet.
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 DataSet.
Méthode protégée Pris en charge par XNA Framework GetSchemaSerializable Infrastructure. Retourne une instance sérialisable de XMLSchema.
Méthode protégée GetSerializationData Infrastructure. Désérialise les données de table du flux binaire ou de données XML.
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 GetXml Retourne la représentation XML des données stockées dans le DataSet.
Méthode publique Pris en charge par XNA Framework GetXmlSchema Retourne le schéma XML de la représentation XML des données stockées dans le DataSet.
Méthode publique Pris en charge par XNA Framework HasChanges() Obtient une valeur indiquant si DataSet contient des modifications, notamment des lignes nouvelles, supprimées ou modifiées.
Méthode publique Pris en charge par XNA Framework HasChanges(DataRowState) Obtient une valeur indiquant si DataSet contient des modifications, notamment des lignes nouvelles, supprimées ou modifiées, filtrées par DataRowState.
Méthode publique Pris en charge par XNA Framework InferXmlSchema(Stream, String[]) Applique le schéma XML à partir du Stream spécifié à DataSet.
Méthode publique Pris en charge par XNA Framework InferXmlSchema(String, String[]) Applique le schéma XML à partir du fichier spécifié du DataSet.
Méthode publique Pris en charge par XNA Framework InferXmlSchema(TextReader, String[]) Applique le schéma XML à partir du TextReader spécifié à DataSet.
Méthode publique Pris en charge par XNA Framework InferXmlSchema(XmlReader, String[]) Applique le schéma XML à partir du XmlReader spécifié à DataSet.
Méthode protégée Pris en charge par XNA Framework InitializeDerivedDataSet Infrastructure. Désérialisez toutes les données de tables du DataSet du flux binaire ou de données XML.
Méthode protégée IsBinarySerialized Inspecte le format de la représentation sérialisée de DataSet.
Méthode publique Pris en charge par XNA Framework Load(IDataReader, LoadOption, DataTable[]) Remplit un DataSet avec des valeurs issues d'une source de données, à l'aide du IDataReader fourni, en utilisant un tableau d'instances de DataTable pour fournir les informations de schéma et d'espace de noms.
Méthode publique Pris en charge par XNA Framework Load(IDataReader, LoadOption, String[]) Remplit un DataSet avec des valeurs issues d'une source de données, à l'aide du IDataReader fourni, en utilisant un tableau de chaînes pour fournir les noms des tables dans le DataSet.
Méthode publique Pris en charge par XNA Framework Load(IDataReader, LoadOption, FillErrorEventHandler, DataTable[]) Remplit un DataSet avec des valeurs issues d'une source de données, à l'aide du IDataReader fourni, en utilisant un tableau d'instances de DataTable pour fournir les informations de schéma et d'espace de noms.
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(DataRow[]) Fusionne un tableau d'objets DataRow dans le DataSet en cours.
Méthode publique Pris en charge par XNA Framework Merge(DataSet) Fusionne un DataSet spécifié et son schéma dans le DataSet en cours.
Méthode publique Pris en charge par XNA Framework Merge(DataTable) Fusionne un DataTable spécifié et son schéma dans le DataSet en cours.
Méthode publique Pris en charge par XNA Framework Merge(DataSet, Boolean) Fusionne un DataSet spécifié et son schéma dans le DataSet en cours, en préservant ou en supprimant les modifications effectuées dans ce DataSet conformément à l'argument donné.
Méthode publique Pris en charge par XNA Framework Merge(DataRow[], Boolean, MissingSchemaAction) Fusionne un tableau d'objets DataRow dans le DataSet en cours, en préservant ou en supprimant les modifications apportées au DataSet et en traitant tout schéma incompatible conformément aux arguments donnés.
Méthode publique Pris en charge par XNA Framework Merge(DataSet, Boolean, MissingSchemaAction) Fusionne un DataSet spécifié et son schéma avec le DataSet en cours, en préservant ou en supprimant les modifications apportées au DataSet en cours, et en traitant un schéma incompatible conformément aux arguments donnés.
Méthode publique Pris en charge par XNA Framework Merge(DataTable, Boolean, MissingSchemaAction) Fusionne un DataTable spécifié et son schéma dans le DataSet en cours, en préservant ou en supprimant les modifications apportées au DataSet et en traitant un schéma incompatible conformément aux arguments donnés.
Méthode protégée Pris en charge par XNA Framework OnPropertyChanging Déclenche l'événement OnPropertyChanging.
Méthode protégée Pris en charge par XNA Framework OnRemoveRelation Se produit lorsqu'un objet DataRelation est supprimé de DataTable.
Méthode protégée Pris en charge par XNA Framework OnRemoveTable Se produit lorsqu'un DataTable est supprimé de DataSet.
Méthode protégée Pris en charge par XNA Framework RaisePropertyChanging Envoie une notification indiquant que la propriété DataSet spécifiée est sur le point d'être modifiée.
Méthode publique Pris en charge par XNA Framework ReadXml(Stream) Lit le schéma et les données XML dans le DataSet à l'aide du System.IO.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 DataSet à l'aide 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 DataSet à l'aide du System.IO.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 DataSet à l'aide du System.Xml.XmlReader spécifié.
Méthode publique Pris en charge par XNA Framework ReadXml(Stream, XmlReadMode) Lit le schéma et les données XML dans le DataSet à l'aide des System.IO.Stream et XmlReadMode spécifiés.
Méthode publique Pris en charge par XNA Framework ReadXml(String, XmlReadMode) Lit le schéma et les données XML dans le DataSet à l'aide du fichier et du XmlReadMode spécifiés.
Méthode publique Pris en charge par XNA Framework ReadXml(TextReader, XmlReadMode) Lit le schéma et les données XML dans le DataSet à l'aide des System.IO.TextReader et XmlReadMode spécifiés.
Méthode publique Pris en charge par XNA Framework ReadXml(XmlReader, XmlReadMode) Lit le schéma et les données XML dans le DataSet à l'aide des System.Xml.XmlReader et XmlReadMode spécifiés.
Méthode publique Pris en charge par XNA Framework ReadXmlSchema(Stream) Lit le schéma XML à partir du Stream spécifié dans le DataSet.
Méthode publique Pris en charge par XNA Framework ReadXmlSchema(String) Lit le schéma XML à partir du fichier spécifié dans le DataSet.
Méthode publique Pris en charge par XNA Framework ReadXmlSchema(TextReader) Lit le schéma XML à partir du TextReader spécifié dans le DataSet.
Méthode publique Pris en charge par XNA Framework ReadXmlSchema(XmlReader) Lit le schéma XML à partir du XmlReader spécifié dans le DataSet.
Méthode protégée Pris en charge par XNA Framework ReadXmlSerializable Infrastructure. Ignore les attributs et retourne un DataSet vide.
Méthode publique Pris en charge par XNA Framework RejectChanges Restaure toutes les modifications apportées à DataSet depuis sa création ou le dernier appel à DataSet.AcceptChanges.
Méthode publique Pris en charge par XNA Framework Reset Rétablit l'état d'origine de DataSet. Les sous-classes doivent substituer Reset pour rétablir l'état d'origine de DataSet.
Méthode protégée Pris en charge par XNA Framework ShouldSerializeRelations Obtient une valeur indiquant si la propriété Relations doit être rendue persistante.
Méthode protégée Pris en charge par XNA Framework ShouldSerializeTables Obtient une valeur indiquant si la propriété Tables doit être rendue persistante.
Méthode publique Pris en charge par XNA Framework ToString Retourne String contenant le nom du Component, s'il existe. Cette méthode ne doit pas être substituée. (Hérité de MarshalByValueComponent.)
Méthode publique Pris en charge par XNA Framework WriteXml(Stream) Écrit les données en cours de DataSet à l'aide du System.IO.Stream spécifié.
Méthode publique Pris en charge par XNA Framework WriteXml(String) Écrit les données en cours de DataSet dans le fichier spécifié.
Méthode publique Pris en charge par XNA Framework WriteXml(TextWriter) Écrit les données en cours pour DataSet à l'aide du TextWriter spécifié.
Méthode publique Pris en charge par XNA Framework WriteXml(XmlWriter) Écrit les données en cours de DataSet dans le XmlWriter spécifié.
Méthode publique Pris en charge par XNA Framework WriteXml(Stream, XmlWriteMode) Écrit les données en cours, et éventuellement le schéma, de DataSet à l'aide des System.IO.Stream 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(String, XmlWriteMode) Écrit les données en cours, et éventuellement le schéma, pour DataSet 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(TextWriter, XmlWriteMode) Écrit les données en cours, et éventuellement le schéma, pour DataSet à 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, XmlWriteMode) Écrit les données en cours, et éventuellement le schéma, pour DataSet à 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 WriteXmlSchema(Stream) Écrit la structure DataSet sous la forme d'un schéma XML à l'aide de l'objet System.IO.Stream spécifié.
Méthode publique Pris en charge par XNA Framework WriteXmlSchema(String) Écrit la structure DataSet sous la forme d'un schéma XML dans un fichier.
Méthode publique Pris en charge par XNA Framework WriteXmlSchema(TextWriter) Écrit la structure DataSet sous la forme d'un schéma XML à l'aide de l'objet TextWriter spécifié.
Méthode publique Pris en charge par XNA Framework WriteXmlSchema(XmlWriter) Écrit la structure DataSet sous la forme d'un schéma XML dans un objet XmlWriter.
Méthode publique WriteXmlSchema(Stream, Converter<Type, String>) Écrit la structure DataSet sous la forme d'un schéma XML à l'aide de l'objet System.IO.Stream spécifié.
Méthode publique WriteXmlSchema(String, Converter<Type, String>) Écrit la structure DataSet sous la forme d'un schéma XML dans un fichier.
Méthode publique WriteXmlSchema(TextWriter, Converter<Type, String>) Écrit la structure de DataSet sous la forme d'un schéma XML dans le TextWriter spécifié.
Méthode publique WriteXmlSchema(XmlWriter, Converter<Type, String>) Écrit la structure de DataSet sous la forme d'un schéma XML dans le XmlWriter spécifié.
Début
Événements

  Nom Description
É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 DataSet est initialisé.
Événement public Pris en charge par XNA Framework MergeFailed Se produit lorsque des DataRow cible et source possèdent la même valeur de clé primaire et que EnforceConstraints a la valeur true.
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

DataSet , qui est un cache en mémoire des données récupérées d'une source de données, est un composant important de l'architecture ADO.NET. DataSet est constitué d'une collection d'objets DataTable que vous pouvez lier entre eux à l'aide d'objets DataRelation. Vous pouvez également appliquer l'intégrité des données dans le DataSet à l'aide des objets UniqueConstraint et ForeignKeyConstraint. Pour plus d'informations sur l'utilisation d'objets DataSet, consultez Objets DataSet, DataTable et DataView (ADO.NET).

Tandis que les objets DataTable contiennent les données, DataRelationCollection vous permet de naviguer au sein de la hiérarchie des tables. Les tables sont contenues dans un DataTableCollection accessible à l'aide de la propriété Tables. 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. Pour plus d'informations sur l'utilisation d'objets DataTable, consultez Création d'un DataTable (ADO.NET).

DataSet peut lire et écrire les données et le schéma en tant que documents XML. Les données et le schéma peuvent ensuite être transportés au moyen de HTTP et utilisés par n'importe quelle application, sur toute plateforme compatible XML. Vous pouvez enregistrer le schéma en tant que schéma XML à l'aide de la méthode WriteXmlSchema. Il est également possible d'enregistrer le schéma et les données à l'aide de la méthode WriteXml. Pour lire un document XML comprenant à la fois un schéma et des données, utilisez la méthode ReadXml.

Lors d'une implémentation à plusieurs couches standard, la procédure de création et d'actualisation de DataSet, puis de mise à jour des données d'origine consiste à :

  1. générer et remplir chaque DataTable de DataSet avec des données provenant d'une source de données à l'aide de DataAdapter ;

  2. modifier les données dans les objets DataTable en ajoutant, mettant à jour ou supprimant des objets DataRow ;

  3. appeler la méthode GetChanges pour créer un deuxième DataSet qui représente uniquement les modifications apportées aux données ;

  4. appeler la méthode Update de DataAdapter, en passant le deuxième DataSet comme argument.

  5. Appelez la méthode Merge pour fusionner les modifications du deuxième DataSet dans le premier.

  6. Appelez AcceptChanges sur DataSet. Vous pouvez également appeler RejectChanges pour annuler les modifications.

Remarque Remarque

Les objets DataSet et DataTable héritent de MarshalByValueComponent et prennent en charge l'interface ISerializable pour la communication à distance. Il s'agit uniquement d'objets ADO.NET qui peuvent être distants.

Remarque Remarque

Les classes héritées de DataSet ne sont pas finalisées par le garbage collector, car le finaliseur a été supprimé dans DataSet. La classe dérivée peut appeler la méthode ReRegisterForFinalize dans son constructeur pour permettre à la classe d'être finalisée par le garbage collector.

Exemples

L'exemple suivant est constitué de plusieurs méthodes qui, une fois combinées, créent et remplissent un DataSet à partir de la base de données Northwind.

Visual Basic

Option Explicit On
Option Strict On

Imports System.Data
Imports system.Data.SqlClient

Public Class NorthwindDataSet

    Public Shared Sub Main()
        Dim connectionString As String = _
            GetConnectionString()
        ConnectToData(connectionString)
    End Sub

    Private Shared Sub ConnectToData( _
        ByVal connectionString As String)

        ' Create a SqlConnection to the Northwind database.
        Using connection As SqlConnection = New SqlConnection( _
           connectionString)

            ' Create a SqlDataAdapter for the Suppliers table.
            Dim suppliersAdapter As SqlDataAdapter = _
               New SqlDataAdapter()

            ' A table mapping names the DataTable.
            suppliersAdapter.TableMappings.Add("Table", "Suppliers")

            ' Open the connection.
            connection.Open()
            Console.WriteLine("The SqlConnection is open.")

            ' Create a SqlCommand to retrieve Suppliers data.
            Dim suppliersCommand As SqlCommand = New SqlCommand( _
               "SELECT SupplierID, CompanyName FROM dbo.Suppliers;", _
               connection)
            suppliersCommand.CommandType = CommandType.Text

            ' Set the SqlDataAdapter's SelectCommand.
            suppliersAdapter.SelectCommand = suppliersCommand

            ' Fill the DataSet.
            Dim dataSet As DataSet = New DataSet("Suppliers")
            suppliersAdapter.Fill(dataSet)

            ' Create a second SqlDataAdapter and SqlCommand to get
            ' the Products table, a child table of Suppliers. 
            Dim productsAdapter As SqlDataAdapter = _
                New SqlDataAdapter()
            productsAdapter.TableMappings.Add("Table", "Products")

            Dim productsCommand As SqlCommand = New SqlCommand( _
               "SELECT ProductID, SupplierID FROM dbo.Products;", _
               connection)
            productsAdapter.SelectCommand = productsCommand

            ' Fill the DataSet.
            productsAdapter.Fill(dataSet)

            ' Close the connection.
            connection.Close()
            Console.WriteLine("The SqlConnection is closed.")

            ' Create a DataRelation to link the two tables
            ' based on the SupplierID.
            Dim parentColumn As DataColumn = _
               dataSet.Tables("Suppliers").Columns("SupplierID")
            Dim childColumn As DataColumn = _
               dataSet.Tables("Products").Columns("SupplierID")
            Dim relation As DataRelation = New _
               System.Data.DataRelation("SuppliersProducts", _
               parentColumn, childColumn)
            dataSet.Relations.Add(relation)

            Console.WriteLine( _
               "The {0} DataRelation has been created.", _
               relation.RelationName)
        End Using

    End Sub

    Private Shared Function GetConnectionString() As String
        ' To avoid storing the connection string in your code,  
        ' you can retrieve it from a configuration file.
        Return "Data Source=(local);Initial Catalog=Northwind;" _
           & "Integrated Security=SSPI;"
    End Function
End Class


C#

using System;
using System.Data;
using System.Data.SqlClient;

namespace Microsoft.AdoNet.DataSetDemo
{
    class NorthwindDataSet
    {
        static void Main()
        {
            string connectionString = GetConnectionString();
            ConnectToData(connectionString);
        }

        private static void ConnectToData(string connectionString)
        {
            //Create a SqlConnection to the Northwind database.
            using (SqlConnection connection =
                       new SqlConnection(connectionString))
            {
                //Create a SqlDataAdapter for the Suppliers table.
                SqlDataAdapter adapter = new SqlDataAdapter();

                // A table mapping names the DataTable.
                adapter.TableMappings.Add("Table", "Suppliers");

                // Open the connection.
                connection.Open();
                Console.WriteLine("The SqlConnection is open.");

                // Create a SqlCommand to retrieve Suppliers data.
                SqlCommand command = new SqlCommand(
                    "SELECT SupplierID, CompanyName FROM dbo.Suppliers;",
                    connection);
                command.CommandType = CommandType.Text;

                // Set the SqlDataAdapter's SelectCommand.
                adapter.SelectCommand = command;

                // Fill the DataSet.
                DataSet dataSet = new DataSet("Suppliers");
                adapter.Fill(dataSet);

                // Create a second Adapter and Command to get
                // the Products table, a child table of Suppliers. 
                SqlDataAdapter productsAdapter = new SqlDataAdapter();
                productsAdapter.TableMappings.Add("Table", "Products");

                SqlCommand productsCommand = new SqlCommand(
                    "SELECT ProductID, SupplierID FROM dbo.Products;",
                    connection);
                productsAdapter.SelectCommand = productsCommand;

                // Fill the DataSet.
                productsAdapter.Fill(dataSet);

                // Close the connection.
                connection.Close();
                Console.WriteLine("The SqlConnection is closed.");

                // Create a DataRelation to link the two tables
                // based on the SupplierID.
                DataColumn parentColumn =
                    dataSet.Tables["Suppliers"].Columns["SupplierID"];
                DataColumn childColumn =
                    dataSet.Tables["Products"].Columns["SupplierID"];
                DataRelation relation =
                    new System.Data.DataRelation("SuppliersProducts",
                    parentColumn, childColumn);
                dataSet.Relations.Add(relation);
                Console.WriteLine(
                    "The {0} DataRelation has been created.",
                    relation.RelationName);
            }
        }

        static private string GetConnectionString()
        {
            // To avoid storing the connection string in your code, 
            // you can retrieve it from a configuration file.
            return "Data Source=(local);Initial Catalog=Northwind;"
                + "Integrated Security=SSPI";
        }
    }
}


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