DataSet Classe

Definizione

Rappresenta una cache in memoria dei dati.

public ref class DataSet : System::ComponentModel::MarshalByValueComponent, System::ComponentModel::IListSource, System::ComponentModel::ISupportInitialize, System::ComponentModel::ISupportInitializeNotification, System::Runtime::Serialization::ISerializable, System::Xml::Serialization::IXmlSerializable
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
public class DataSet : System.ComponentModel.MarshalByValueComponent, System.ComponentModel.IListSource, System.ComponentModel.ISupportInitialize, 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
type DataSet = class
    inherit MarshalByValueComponent
    interface IListSource
    interface ISupportInitialize
    interface ISupportInitializeNotification
    interface ISerializable
    interface 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
Public Class DataSet
Inherits MarshalByValueComponent
Implements IListSource, ISerializable, ISupportInitialize, ISupportInitializeNotification, 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, creare e compilare un DataSet oggetto 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 api supplementari per DataSet.

Costruttori

DataSet()

Inizializza una nuova istanza della classe DataSet.

DataSet(SerializationInfo, StreamingContext)
Obsoleti.

Inizializza una nuova istanza della classe DataSet con dati serializzati.

DataSet(SerializationInfo, StreamingContext, Boolean)
Obsoleti.

Inizializza una nuova istanza della classe DataSet con dati serializzati.

DataSet(String)

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

Proprietà

CaseSensitive

Ottiene o imposta un valore che indica se nei confronti tra stringhe all'interno di oggetti DataTable viene applicata la distinzione tra maiuscole e minuscole.

Container

Ottiene il contenitore del componente.

(Ereditato da MarshalByValueComponent)
DataSetName

Ottiene o imposta il nome della classe DataSet corrente.

DefaultViewManager

Ottiene una visualizzazione personalizzata dei dati contenuti nell'oggetto DataSet per consentire di filtrare, eseguire ricerche ed esplorare mediante un oggetto DataViewManager personalizzato.

DesignMode

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

(Ereditato da MarshalByValueComponent)
EnforceConstraints

Ottiene o imposta un valore che indica se vengono seguite le regole sui vincoli quando si esegue un'operazione di aggiornamento.

Events

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

(Ereditato da MarshalByValueComponent)
ExtendedProperties

Ottiene l'insieme di informazioni utente personalizzate associate all'oggetto DataSet.

HasErrors

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

IsInitialized

Ottiene un valore che indica se la classe DataSet è inizializzata.

Locale

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

Namespace

Ottiene o imposta lo spazio dei nomi della classe DataSet.

Prefix

Ottiene o imposta un prefisso XML che rappresenta l'alias dello spazio dei nomi della classe DataSet.

Relations

Ottenere l'insieme di relazioni che collegano le tabelle e consentono la navigazione dalle tabelle padre a quelle figlio.

RemotingFormat

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

SchemaSerializationMode

Ottiene o imposta un'enumerazione SchemaSerializationMode per una classe DataSet.

Site

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

Tables

Ottiene l'insieme di tabelle contenuto nell'oggetto DataSet.

Metodi

AcceptChanges()

Esegue il commit di tutte le modifiche apportate a questo oggetto DataSet dal momento in cui è stato caricato o dall'ultima chiamata al metodo AcceptChanges().

BeginInit()

Avvia l'inizializzazione di una DataSet usata su un form o da un altro componente. L'inizializzazione avviene in fase di esecuzione.

Clear()

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

Clone()

Copia la struttura dell'oggetto DataSet, inclusi tutti gli schemi, le relazioni e i vincoli dell'oggetto DataTable. Non vengono copiati i dati.

Copy()

Copia la struttura e i dati per questa classe DataSet.

CreateDataReader()

Restituisce una classe DataTableReader con un gruppo di risultati per la classe DataTable, nella stessa sequenza in cui le tabelle appaiono nell'insieme Tables.

CreateDataReader(DataTable[])

Restituisce una classe DataTableReader con un gruppo di risultati per la classe DataTable.

DetermineSchemaSerializationMode(SerializationInfo, StreamingContext)

Determina la proprietà SchemaSerializationMode per una classe DataSet.

DetermineSchemaSerializationMode(XmlReader)

Determina la proprietà SchemaSerializationMode per una classe DataSet.

Dispose()

Rilascia tutte le risorse usate da MarshalByValueComponent.

(Ereditato da MarshalByValueComponent)
Dispose(Boolean)

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

(Ereditato da MarshalByValueComponent)
EndInit()

Termina l'inizializzazione di una classe DataSet usata su un form o da un altro componente. L'inizializzazione avviene in fase di esecuzione.

Equals(Object)

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

(Ereditato da Object)
GetChanges()

Ottiene una copia della classe DataSet contenente tutte le modifiche apportate a essa dal momento in cui è stata caricata o dall'ultima chiamata al metodo AcceptChanges().

GetChanges(DataRowState)

Ottiene una copia della classe DataSet contenente tutte le modifiche apportate a essa dal momento in cui è stata caricata o dall'ultima chiamata al metodo AcceptChanges(), filtrata dall'enumerazione DataRowState.

GetDataSetSchema(XmlSchemaSet)

Ottiene una copia di XmlSchemaSet per il DataSet.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetObjectData(SerializationInfo, StreamingContext)
Obsoleti.

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

GetSchemaSerializable()

Restituisce un'istanza di XmlSchema serializzabile.

GetSerializationData(SerializationInfo, StreamingContext)

Deserializza i dati della tabella dal flusso binario o XML.

GetService(Type)

Ottiene l'implementatore dell'interfaccia IServiceProvider.

(Ereditato da MarshalByValueComponent)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
GetXml()

Restituisce la rappresentazione XML dei dati memorizzati nell'oggetto DataSet.

GetXmlSchema()

Restituisce lo schema XML per la rappresentazione XML dei dati memorizzati nell'oggetto DataSet.

HasChanges()

Ottiene un valore che indica se l'oggetto DataSet presenta delle modifiche, quali righe nuove, eliminate o modificate.

HasChanges(DataRowState)

Ottiene un valore che indica se l'oggetto DataSet presenta delle modifiche, quali righe nuove, eliminate o modificate, filtrate in base all'oggetto DataRowState.

InferXmlSchema(Stream, String[])

Lo schema XML dalla classe Stream specificata viene applicato alla classe DataSet.

InferXmlSchema(String, String[])

Lo schema XML dal file specificato viene applicato all'oggetto DataSet.

InferXmlSchema(TextReader, String[])

Lo schema XML dalla classe TextReader specificata viene applicato alla classe DataSet.

InferXmlSchema(XmlReader, String[])

Lo schema XML dalla classe XmlReader specificata viene applicato alla classe DataSet.

InitializeDerivedDataSet()

Deserializza tutti i dati delle tabelle del DataSet dal flusso binario o XML.

IsBinarySerialized(SerializationInfo, StreamingContext)

Esamina il formato della rappresentazione serializzata di DataSet.

Load(IDataReader, LoadOption, DataTable[])

Riempie una classe DataSet con valori da un'origine dati, utilizzando l'interfaccia IDataReader fornita, tramite una matrice di istanze della classe DataTable, per fornire informazioni relative allo schema e allo spazio dei nomi.

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

Riempie una classe DataSet con valori da un'origine dati, utilizzando l'interfaccia IDataReader fornita, tramite una matrice di istanze della classe DataTable, per fornire informazioni relative allo schema e allo spazio dei nomi.

Load(IDataReader, LoadOption, String[])

Riempie una classe DataSet con valori da un'origine dati, utilizzando l'interfaccia IDataReader fornita e una matrice di stringhe, per rendere disponibili i nomi delle tabelle all'interno della classe DataSet.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
Merge(DataRow[])

Unisce una matrice di oggetti DataRow nell'oggetto DataSet corrente.

Merge(DataRow[], Boolean, MissingSchemaAction)

Unisce una matrice di oggetti DataRow nell'oggetto DataSet corrente, mantenendo o ignorando eventuali modifiche apportate a DataSet e gestendo uno schema incompatibile secondo gli argomenti definiti.

Merge(DataSet)

Unisce una classe DataSet specificata e il relativo schema nella classe DataSet corrente.

Merge(DataSet, Boolean)

Unisce un oggetto DataSet specificato e il relativo schema nell'oggetto DataSet corrente, mantenendo o ignorando eventuali modifiche apportate a DataSet secondo l'argomento definito.

Merge(DataSet, Boolean, MissingSchemaAction)

Unisce un oggetto DataSet specificato e il relativo schema nell'oggetto DataSet corrente, mantenendo o ignorando eventuali modifiche apportate all'oggetto DataSet corrente e gestendo uno schema incompatibile secondo gli argomenti definiti.

Merge(DataTable)

Unisce una classe DataTable specificata e il relativo schema nella classe DataSet corrente.

Merge(DataTable, Boolean, MissingSchemaAction)

Unisce un oggetto DataTable specificato e il relativo schema nell'oggetto DataSet corrente, mantenendo o ignorando eventuali modifiche apportate all'oggetto DataSet e gestendo uno schema incompatibile secondo gli argomenti definiti.

OnPropertyChanging(PropertyChangedEventArgs)

Genera l'evento OnPropertyChanging(PropertyChangedEventArgs).

OnRemoveRelation(DataRelation)

Viene generato quando si rimuove un oggetto DataRelation da un oggetto DataTable.

OnRemoveTable(DataTable)

Viene generato quando si rimuove un oggetto DataTable da un oggetto DataSet.

RaisePropertyChanging(String)

Invia una notifica nella quale è indicato che la proprietà dell'oggetto DataSet specificato sta per essere modificata.

ReadXml(Stream)

Legge i dati e lo schema XML nella classe DataSet utilizzando la classe Stream specificata.

ReadXml(Stream, XmlReadMode)

Legge i dati e lo schema XML nella classe DataSet utilizzando la classe Stream e l'enumerazione XmlReadMode specificate.

ReadXml(String)

Legge i dati e lo schema XML nell'oggetto DataSet utilizzando il file specificato.

ReadXml(String, XmlReadMode)

Legge i dati e lo schema XML nell'oggetto DataSet utilizzando il file e l'oggetto XmlReadMode specificati.

ReadXml(TextReader)

Legge i dati e lo schema XML nella classe DataSet utilizzando la classe TextReader specificata.

ReadXml(TextReader, XmlReadMode)

Legge i dati e lo schema XML nella classe DataSet utilizzando la classe TextReader e l'enumerazione XmlReadMode specificate.

ReadXml(XmlReader)

Legge i dati e lo schema XML nella classe DataSet utilizzando la classe XmlReader specificata.

ReadXml(XmlReader, XmlReadMode)

Legge i dati e lo schema XML nella classe DataSet utilizzando la classe XmlReader e l'enumerazione XmlReadMode specificate.

ReadXmlSchema(Stream)

Legge lo schema XML dalla classe Stream specificata nella classe DataSet.

ReadXmlSchema(String)

Legge lo schema XML dal file specificato nell'oggetto DataSet.

ReadXmlSchema(TextReader)

Legge lo schema XML dalla classe TextReader specificata nella classe DataSet.

ReadXmlSchema(XmlReader)

Legge lo schema XML dalla classe XmlReader specificata nella classe DataSet.

ReadXmlSerializable(XmlReader)

Ignora gli attributi e restituisce un DataSet vuoto.

RejectChanges()

Annulla tutte le modifiche apportate all'oggetto DataSet dal momento in cui è stato creato o sin dall'ultima chiamata al metodo AcceptChanges().

Reset()

Rimuove tutte le tabelle e rimuove tutte le relazioni, vincoli stranieri e tabelle da DataSet. Per ripristinare lo stato originale dell'oggetto Reset(), è necessario eseguire l'override del metodo DataSet mediante le sottoclassi.

ShouldSerializeRelations()

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

ShouldSerializeTables()

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

ToString()

Restituisce un oggetto String che contiene il nome dell'eventuale oggetto Component. Questo metodo non deve essere sottoposto a override.

(Ereditato da MarshalByValueComponent)
WriteXml(Stream)

Scrive i dati correnti per la classe DataSet utilizzando la classe Stream specificata.

WriteXml(Stream, XmlWriteMode)

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

WriteXml(String)

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

WriteXml(String, XmlWriteMode)

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

WriteXml(TextWriter)

Scrive i dati correnti per la classe DataSet utilizzando la classe TextWriter specificata.

WriteXml(TextWriter, XmlWriteMode)

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

WriteXml(XmlWriter)

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

WriteXml(XmlWriter, XmlWriteMode)

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

WriteXmlSchema(Stream)

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

WriteXmlSchema(Stream, Converter<Type,String>)

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

WriteXmlSchema(String)

Scrive la struttura dell'oggetto DataSet come schema XML in un file.

WriteXmlSchema(String, Converter<Type,String>)

Scrive la struttura dell'oggetto DataSet come schema XML in un file.

WriteXmlSchema(TextWriter)

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

WriteXmlSchema(TextWriter, Converter<Type,String>)

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

WriteXmlSchema(XmlWriter)

Scrive la struttura dell'oggetto DataSet come schema XML in un oggetto XmlWriter.

WriteXmlSchema(XmlWriter, Converter<Type,String>)

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

Eventi

Disposed

Aggiunge un gestore evento per restare in attesa dell'evento Disposed sul componente.

(Ereditato da MarshalByValueComponent)
Initialized

Si verifica dopo l'inizializzazione dell'oggetto DataSet.

MergeFailed

Viene generato quando due oggetti DataRow di origine e di destinazione presentano la stessa chiave primaria e la proprietà EnforceConstraints è impostata su true.

Implementazioni dell'interfaccia esplicita

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 di informazioni di serializzazione con i dati necessari per serializzare l'istanza di 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