DataSet Classe

Definizione

Rappresenta una cache in memoria dei dati.

public ref class DataSet : System::ComponentModel::MarshalByValueComponent, System::ComponentModel::IListSource, System::ComponentModel::ISupportInitialize, System::Runtime::Serialization::ISerializable, System::Xml::Serialization::IXmlSerializable
public ref class DataSet : System::ComponentModel::MarshalByValueComponent, System::ComponentModel::IListSource, System::ComponentModel::ISupportInitializeNotification, System::Runtime::Serialization::ISerializable, System::Xml::Serialization::IXmlSerializable
[System.Serializable]
public class DataSet : System.ComponentModel.MarshalByValueComponent, System.ComponentModel.IListSource, System.ComponentModel.ISupportInitialize, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
[System.Serializable]
public class DataSet : System.ComponentModel.MarshalByValueComponent, System.ComponentModel.IListSource, System.ComponentModel.ISupportInitializeNotification, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
public class DataSet : System.ComponentModel.MarshalByValueComponent, System.ComponentModel.IListSource, System.ComponentModel.ISupportInitializeNotification, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
[<System.Serializable>]
type DataSet = class
    inherit MarshalByValueComponent
    interface IListSource
    interface IXmlSerializable
    interface ISupportInitialize
    interface ISerializable
[<System.Serializable>]
type DataSet = class
    inherit MarshalByValueComponent
    interface IListSource
    interface IXmlSerializable
    interface ISupportInitializeNotification
    interface ISupportInitialize
    interface ISerializable
type DataSet = class
    inherit MarshalByValueComponent
    interface IListSource
    interface ISupportInitialize
    interface ISupportInitializeNotification
    interface ISerializable
    interface IXmlSerializable
Public Class DataSet
Inherits MarshalByValueComponent
Implements IListSource, ISerializable, ISupportInitialize, IXmlSerializable
Public Class DataSet
Inherits MarshalByValueComponent
Implements IListSource, ISerializable, ISupportInitializeNotification, IXmlSerializable
Ereditarietà
Attributi
Implementazioni

Esempio

L'esempio seguente è costituito da diversi metodi che, combinati, creano e riempiono un oggetto DataSet dal database Northwind .

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";
        }
    }
}
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 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 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 New SqlDataAdapter()
            productsAdapter.TableMappings.Add("Table", "Products")

            Dim productsCommand As 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 New 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

Commenti

Per altre informazioni su questa API, vedere Osservazioni supplementari sulle API per DataSet.

Costruttori

Nome Descrizione
DataSet()

Inizializza una nuova istanza della classe DataSet.

DataSet(SerializationInfo, StreamingContext, Boolean)

Inizializza una nuova istanza della classe DataSet con dati serializzati.

DataSet(SerializationInfo, StreamingContext)

Inizializza una nuova istanza della classe DataSet con dati serializzati.

DataSet(String)

Inizializza una nuova istanza della DataSet classe con il nome specificato.

Proprietà

Nome Descrizione
CaseSensitive

Ottiene o imposta un valore che indica se i confronti tra stringhe all'interno DataTable degli oggetti fanno distinzione tra maiuscole e minuscole.

Container

Ottiene il contenitore per il componente.

(Ereditato da MarshalByValueComponent)
DataSetName

Ottiene o imposta il nome dell'oggetto corrente DataSet.

DefaultViewManager

Ottiene una visualizzazione personalizzata dei dati contenuti in DataSet per consentire il filtro, la ricerca e lo spostamento tramite un oggetto personalizzato DataViewManager.

DesignMode

Ottiene un valore che indica se il componente è attualmente in modalità progettazione.

(Ereditato da MarshalByValueComponent)
EnforceConstraints

Ottiene o imposta un valore che indica se le regole dei vincoli vengono seguite durante il tentativo di qualsiasi operazione di aggiornamento.

Events

Ottiene l'elenco dei gestori eventi associati a questo componente.

(Ereditato da MarshalByValueComponent)
ExtendedProperties

Ottiene la raccolta di informazioni utente personalizzate associate all'oggetto DataSet.

HasErrors

Ottiene un valore che indica se sono presenti errori in uno degli DataTable oggetti all'interno di questo DataSetoggetto .

IsInitialized

Ottiene un valore che indica se l'oggetto DataSet è inizializzato.

Locale

Ottiene o imposta le informazioni sulle impostazioni locali utilizzate per confrontare le stringhe all'interno della tabella.

Namespace

Ottiene o imposta lo spazio dei nomi dell'oggetto DataSet.

Prefix

Ottiene o imposta un prefisso XML che aliasa lo spazio dei nomi dell'oggetto DataSet.

Relations

Ottiene la raccolta di relazioni che collegano le tabelle e consentono la navigazione dalle tabelle padre alle tabelle figlio.

RemotingFormat

Ottiene o imposta il formato di serializzazione per l'oggetto utilizzato durante la DataSet comunicazione remota.

SchemaSerializationMode

Ottiene o imposta un oggetto SchemaSerializationMode per un oggetto DataSet.

Site

Ottiene o imposta un oggetto ISite per l'oggetto DataSet.

Tables

Ottiene l'insieme di tabelle contenute in DataSet.

Metodi

Nome Descrizione
AcceptChanges()

Esegue il commit di tutte le modifiche apportate a questo DataSet perché è stato caricato o dall'ultima chiamata AcceptChanges() .

BeginInit()

Avvia l'inizializzazione di un DataSet oggetto utilizzato in una maschera o utilizzato da un altro componente. L'inizializzazione viene eseguita in fase di esecuzione.

Clear()

Cancella l'oggetto DataSet di tutti i dati rimuovendo tutte le righe in tutte le tabelle.

Clone()

Copia la struttura di DataSet, inclusi tutti gli schemi, le DataTable relazioni e i vincoli. Non copia alcun dato.

Copy()

Copia sia la struttura che i dati per questo DataSetoggetto .

CreateDataReader()

Restituisce un oggetto con un set di DataTableReader risultati per DataTable, nella stessa sequenza delle tabelle visualizzate nell'insieme Tables .

CreateDataReader(DataTable[])

Restituisce un oggetto con un set di DataTableReader risultati per DataTable.

DetermineSchemaSerializationMode(SerializationInfo, StreamingContext)

Determina l'oggetto SchemaSerializationMode per un oggetto DataSet.

DetermineSchemaSerializationMode(XmlReader)

Determina l'oggetto SchemaSerializationMode per un oggetto DataSet.

Dispose()

Rilascia tutte le risorse usate da MarshalByValueComponent.

(Ereditato da MarshalByValueComponent)
Dispose(Boolean)

Rilascia le risorse non gestite usate da MarshalByValueComponent e, facoltativamente, rilascia le risorse gestite.

(Ereditato da MarshalByValueComponent)
EndInit()

Termina l'inizializzazione di un DataSet oggetto utilizzato in una maschera o utilizzato da un altro componente. L'inizializzazione viene eseguita in fase di esecuzione.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetChanges()

Ottiene una copia dell'oggetto DataSet che contiene tutte le modifiche apportate dopo il caricamento o dall'ultima AcceptChanges() chiamata.

GetChanges(DataRowState)

Ottiene una copia dell'oggetto DataSet contenente tutte le modifiche apportate dall'ultimo caricamento o dalla AcceptChanges() chiamata, filtrata in base DataRowStatea .

GetDataSetSchema(XmlSchemaSet)

Ottiene una copia di XmlSchemaSet per l'oggetto DataSet.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetObjectData(SerializationInfo, StreamingContext)

Popola un oggetto informazioni di serializzazione con i dati necessari per serializzare l'oggetto DataSet.

GetSchemaSerializable()

Restituisce un'istanza serializzabile XmlSchema .

GetSerializationData(SerializationInfo, StreamingContext)

Deserializza i dati della tabella dal flusso binario o XML.

GetService(Type)

Ottiene l'implementatore dell'oggetto IServiceProvider.

(Ereditato da MarshalByValueComponent)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
GetXml()

Restituisce la rappresentazione XML dei dati archiviati in DataSet.

GetXmlSchema()

Restituisce l'XML Schema per la rappresentazione XML dei dati archiviati in DataSet.

HasChanges()

Ottiene un valore che indica se include DataSet modifiche, incluse le righe nuove, eliminate o modificate.

HasChanges(DataRowState)

Ottiene un valore che indica se include DataSet modifiche, incluse le righe nuove, eliminate o modificate, filtrate in base DataRowStatea .

InferXmlSchema(Stream, String[])

Applica lo schema XML dall'oggetto specificato Stream all'oggetto DataSet.

InferXmlSchema(String, String[])

Applica lo schema XML dal file specificato all'oggetto DataSet.

InferXmlSchema(TextReader, String[])

Applica lo schema XML dall'oggetto specificato TextReader all'oggetto DataSet.

InferXmlSchema(XmlReader, String[])

Applica lo schema XML dall'oggetto specificato XmlReader all'oggetto DataSet.

InitializeDerivedDataSet()

Deserializzare tutti i dati delle tabelle dell'oggetto DataSet dal flusso binario o XML.

IsBinarySerialized(SerializationInfo, StreamingContext)

Controlla il formato della rappresentazione serializzata dell'oggetto DataSet.

Load(IDataReader, LoadOption, DataTable[])

Riempie un DataSet oggetto con i valori di un'origine dati usando l'oggetto fornito IDataReaderusando una matrice di DataTable istanze per fornire le informazioni sullo schema e sullo spazio dei nomi.

Load(IDataReader, LoadOption, FillErrorEventHandler, DataTable[])

Riempie un DataSet oggetto con i valori di un'origine dati usando l'oggetto fornito IDataReaderusando una matrice di DataTable istanze per fornire le informazioni sullo schema e sullo spazio dei nomi.

Load(IDataReader, LoadOption, String[])

Riempie un DataSet oggetto con i valori di un'origine dati usando l'oggetto fornito IDataReaderusando una matrice di stringhe per fornire i nomi per le tabelle all'interno di DataSet.

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
Merge(DataRow[], Boolean, MissingSchemaAction)

Unisce una matrice di oggetti DataRow nell'DataSetcorrente, mantenendo o rimuovendo le modifiche nella DataSet e gestendo uno schema incompatibile in base agli argomenti specificati.

Merge(DataRow[])

Unisce una matrice di oggetti DataRow nell'DataSetcorrente.

Merge(DataSet, Boolean, MissingSchemaAction)

Unisce un DataSet specificato e il relativo schema con il DataSetcorrente, mantenendo o rimuovendo le modifiche nella DataSet corrente e gestendo uno schema incompatibile in base agli argomenti specificati.

Merge(DataSet, Boolean)

Unisce un DataSet specificato e il relativo schema nell'DataSetcorrente, mantenendo o rimuovendo eventuali modifiche apportate in questo DataSet in base all'argomento specificato.

Merge(DataSet)

Unisce un DataSet specificato e il relativo schema nel DataSetcorrente.

Merge(DataTable, Boolean, MissingSchemaAction)

Unisce un DataTable specificato e il relativo schema nel DataSetcorrente, mantenendo o rimuovendo le modifiche nella DataSet e gestendo uno schema incompatibile in base agli argomenti specificati.

Merge(DataTable)

Unisce un DataTable specificato e il relativo schema nel DataSetcorrente.

OnPropertyChanging(PropertyChangedEventArgs)

Genera l'evento OnPropertyChanging(PropertyChangedEventArgs).

OnRemoveRelation(DataRelation)

Si verifica quando un DataRelation oggetto viene rimosso da un oggetto DataTable.

OnRemoveTable(DataTable)

Si verifica quando un DataTable oggetto viene rimosso da un oggetto DataSet.

RaisePropertyChanging(String)

Invia una notifica che indica che la proprietà specificata DataSet sta per cambiare.

ReadXml(Stream, XmlReadMode)

Legge xml schema e dati nell'oggetto utilizzando l'oggetto DataSet specificato Stream e XmlReadMode.

ReadXml(Stream)

Legge xml schema e dati nell'oggetto utilizzando l'oggetto DataSet specificato Stream.

ReadXml(String, XmlReadMode)

Legge xml schema e dati in DataSet utilizzando il file specificato e XmlReadMode.

ReadXml(String)

Legge xml schema e dati nell'oggetto DataSet utilizzando il file specificato.

ReadXml(TextReader, XmlReadMode)

Legge xml schema e dati nell'oggetto utilizzando l'oggetto DataSet specificato TextReader e XmlReadMode.

ReadXml(TextReader)

Legge xml schema e dati nell'oggetto utilizzando l'oggetto DataSet specificato TextReader.

ReadXml(XmlReader, XmlReadMode)

Legge xml schema e dati nell'oggetto utilizzando l'oggetto DataSet specificato XmlReader e XmlReadMode.

ReadXml(XmlReader)

Legge xml schema e dati nell'oggetto utilizzando l'oggetto DataSet specificato XmlReader.

ReadXmlSchema(Stream)

Legge l'XML Schema dall'oggetto specificato Stream nell'oggetto DataSet.

ReadXmlSchema(String)

Legge l'XML Schema dal file specificato in DataSet.

ReadXmlSchema(TextReader)

Legge l'XML Schema dall'oggetto specificato TextReader nell'oggetto DataSet.

ReadXmlSchema(XmlReader)

Legge l'XML Schema dall'oggetto specificato XmlReader nell'oggetto DataSet.

ReadXmlSerializable(XmlReader)

Ignora gli attributi e restituisce un oggetto DataSet vuoto.

RejectChanges()

Esegue il rollback di tutte le modifiche apportate a DataSet da quando è stato creato o dall'ultima chiamata AcceptChanges() .

Reset()

Cancella tutte le tabelle e rimuove tutte le relazioni, i vincoli esteri e le tabelle dall'oggetto DataSet. Le sottoclassi devono eseguire l'override Reset() per ripristinare uno DataSet stato originale.

ShouldSerializeRelations()

Ottiene un valore che indica se Relations la proprietà deve essere mantenuta.

ShouldSerializeTables()

Ottiene un valore che indica se Tables la proprietà deve essere mantenuta.

ToString()

Restituisce un oggetto String contenente il nome dell'oggetto Component, se presente. Questo metodo non deve essere sottoposto a override.

(Ereditato da MarshalByValueComponent)
WriteXml(Stream, XmlWriteMode)

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto utilizzando l'oggetto DataSet specificato Stream e XmlWriteMode. Per scrivere lo schema, impostare il valore per il mode parametro su WriteSchema.

WriteXml(Stream)

Scrive i dati correnti per l'oggetto utilizzando l'oggetto DataSet specificato Stream.

WriteXml(String, XmlWriteMode)

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataSet nel file specificato usando l'oggetto specificato XmlWriteMode. Per scrivere lo schema, impostare il valore per il mode parametro su WriteSchema.

WriteXml(String)

Scrive i dati correnti per l'oggetto DataSet nel file specificato.

WriteXml(TextWriter, XmlWriteMode)

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto utilizzando l'oggetto DataSet specificato TextWriter e XmlWriteMode. Per scrivere lo schema, impostare il valore per il mode parametro su WriteSchema.

WriteXml(TextWriter)

Scrive i dati correnti per l'oggetto utilizzando l'oggetto DataSet specificato TextWriter.

WriteXml(XmlWriter, XmlWriteMode)

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto utilizzando l'oggetto DataSet specificato XmlWriter e XmlWriteMode. Per scrivere lo schema, impostare il valore per il mode parametro su WriteSchema.

WriteXml(XmlWriter)

Scrive i dati correnti per l'oggetto DataSet nell'oggetto specificato XmlWriter.

WriteXmlSchema(Stream, Converter<Type,String>)

Scrive la DataSet struttura come XML Schema nell'oggetto specificato Stream .

WriteXmlSchema(Stream)

Scrive la DataSet struttura come XML Schema nell'oggetto specificato Stream .

WriteXmlSchema(String, Converter<Type,String>)

Scrive la DataSet struttura come XML Schema in un file.

WriteXmlSchema(String)

Scrive la DataSet struttura come XML Schema in un file.

WriteXmlSchema(TextWriter, Converter<Type,String>)

Scrive la DataSet struttura come XML Schema nell'oggetto specificato TextWriter.

WriteXmlSchema(TextWriter)

Scrive la DataSet struttura come XML Schema nell'oggetto specificato TextWriter .

WriteXmlSchema(XmlWriter, Converter<Type,String>)

Scrive la DataSet struttura come XML Schema nell'oggetto specificato XmlWriter.

WriteXmlSchema(XmlWriter)

Scrive la DataSet struttura come XML Schema in un XmlWriter oggetto .

Eventi

Nome Descrizione
Disposed

Aggiunge un gestore eventi per restare in ascolto dell'evento Disposed nel componente.

(Ereditato da MarshalByValueComponent)
Initialized

Si verifica dopo l'inizializzazione di DataSet .

MergeFailed

Si verifica quando una destinazione e un'origine DataRow hanno lo stesso valore di chiave primaria e EnforceConstraints viene impostato su true.

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IListSource.ContainsListCollection

Per una descrizione di questo membro, vedere ContainsListCollection.

IListSource.GetList()

Per una descrizione di questo membro, vedere GetList().

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Popola un oggetto informazioni di serializzazione con i dati necessari per serializzare l'oggetto DataSet.

IXmlSerializable.GetSchema()

Per una descrizione di questo membro, vedere GetSchema().

IXmlSerializable.ReadXml(XmlReader)

Per una descrizione di questo membro, vedere ReadXml(XmlReader).

IXmlSerializable.WriteXml(XmlWriter)

Per una descrizione di questo membro, vedere WriteXml(XmlWriter).

Si applica a

Thread safety

Questo tipo è sicuro per le operazioni di lettura multithreading. È necessario sincronizzare tutte le operazioni di scrittura.

Vedi anche