DataSet Classe

Definição

Representa uma cache de dados em memória.

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
Herança
Atributos
Implementações

Exemplos

O exemplo seguinte consiste em vários métodos que, combinados, criam e preenchem a DataSet a partir da base de dados da 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

Observações

Para mais informações sobre esta API, consulte Observações suplementares sobre a API para DataSet.

Construtores

Name Description
DataSet()

Inicializa uma nova instância da DataSet classe.

DataSet(SerializationInfo, StreamingContext, Boolean)

Inicializa uma nova instância da DataSet classe com dados serializados.

DataSet(SerializationInfo, StreamingContext)

Inicializa uma nova instância da DataSet classe com dados serializados.

DataSet(String)

Inicializa uma nova instância da DataSet classe com o nome próprio.

Propriedades

Name Description
CaseSensitive

Obtém ou define um valor que indica se as comparações de cadeias dentro DataTable de objetos são distintas de maiúsculas e maiúsculas.

Container

Recebe o recipiente do componente.

(Herdado de MarshalByValueComponent)
DataSetName

Recebe ou define o nome da corrente DataSet.

DefaultViewManager

Obtém uma vista personalizada dos dados contidos no DataSet para permitir filtragem, pesquisa e navegação usando um arquivo personalizado DataViewManager.

DesignMode

Recebe um valor que indica se o componente está atualmente em modo de design.

(Herdado de MarshalByValueComponent)
EnforceConstraints

Recebe ou define um valor que indica se as regras de restrição são seguidas ao tentar qualquer operação de atualização.

Events

Obtém a lista de gestores de eventos que estão associados a este componente.

(Herdado de MarshalByValueComponent)
ExtendedProperties

Obtém a recolha de informações personalizadas do utilizador associadas ao DataSet.

HasErrors

Obtém um valor que indica se existem erros em algum dos DataTable objetos dentro deste DataSet.

IsInitialized

Obtém um valor que indica se o DataSet está inicializado.

Locale

Obtém ou define a informação local usada para comparar cadeias dentro da tabela.

Namespace

Obtém ou define o namespace do DataSet.

Prefix

Obtém ou define um prefixo XML que aliasa o namespace do DataSet.

Relations

Obtém a coleção de relações que ligam tabelas e permitem a navegação das tabelas pais para as tabelas filhas.

RemotingFormat

Obtém ou define o formato de serialização para o DataSet que é usado durante o remoto.

SchemaSerializationMode

Obtém ou define a SchemaSerializationMode para um DataSet.

Site

Obtém ou define um ISite para o DataSet.

Tables

Obtém a coleção de tabelas contida no DataSet.

Métodos

Name Description
AcceptChanges()

Faz commit de todas as alterações DataSet feitas desde que foi carregado ou desde a última vez AcceptChanges() que foi chamada.

BeginInit()

Inicia-se a inicialização de um DataSet que é usado num formulário ou por outro componente. A inicialização ocorre em tempo de execução.

Clear()

Limpa todos DataSet os dados removendo todas as linhas em todas as tabelas.

Clone()

Copia a estrutura do DataSet, incluindo todos os DataTable esquemas, relações e restrições. Não copia quaisquer dados.

Copy()

Copia tanto a estrutura como os dados para este DataSet.

CreateDataReader()

Devolve a DataTableReader com um conjunto de resultados por DataTable, na mesma sequência em que as tabelas aparecem na Tables coleção.

CreateDataReader(DataTable[])

Devolve um DataTableReader com um conjunto de resultados por DataTable.

DetermineSchemaSerializationMode(SerializationInfo, StreamingContext)

Determina o SchemaSerializationMode para um DataSet.

DetermineSchemaSerializationMode(XmlReader)

Determina o SchemaSerializationMode para um DataSet.

Dispose()

Liberta todos os recursos utilizados pelo MarshalByValueComponent.

(Herdado de MarshalByValueComponent)
Dispose(Boolean)

Liberta os recursos não geridos usados pelo MarshalByValueComponent e opcionalmente liberta os recursos geridos.

(Herdado de MarshalByValueComponent)
EndInit()

Termina a inicialização de um DataSet que é usado num formulário ou usado por outro componente. A inicialização ocorre em tempo de execução.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetChanges()

Recebe uma cópia do DataSet que contém todas as alterações feitas desde que foi carregado ou desde AcceptChanges() que foi chamado pela última vez.

GetChanges(DataRowState)

Obtém uma cópia do DataSet que contém todas as alterações feitas desde que foi carregado pela última vez, ou desde que AcceptChanges() foi chamado, filtrado por DataRowState.

GetDataSetSchema(XmlSchemaSet)

Recebe uma cópia para XmlSchemaSet o DataSet.

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetObjectData(SerializationInfo, StreamingContext)

Preenche um objeto de informação de serialização com os dados necessários para serializar o DataSet.

GetSchemaSerializable()

Devolve uma instância serializável XmlSchema .

GetSerializationData(SerializationInfo, StreamingContext)

Desserializa os dados da tabela do fluxo binário ou XML.

GetService(Type)

Obtém o implementador do IServiceProvider.

(Herdado de MarshalByValueComponent)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetXml()

Devolve a representação XML dos dados armazenados no DataSet.

GetXmlSchema()

Devolve o Esquema XML para a representação XML dos dados armazenados no DataSet.

HasChanges()

Recebe um valor que indica se tem DataSet alterações, incluindo linhas novas, eliminadas ou modificadas.

HasChanges(DataRowState)

Recebe um valor que indica se tem DataSet alterações, incluindo linhas novas, eliminadas ou modificadas, filtradas por DataRowState.

InferXmlSchema(Stream, String[])

Aplica o esquema XML do especificado Stream ao DataSet.

InferXmlSchema(String, String[])

Aplica o esquema XML do ficheiro especificado ao DataSetarquivo .

InferXmlSchema(TextReader, String[])

Aplica o esquema XML do especificado TextReader ao DataSet.

InferXmlSchema(XmlReader, String[])

Aplica o esquema XML do especificado XmlReader ao DataSet.

InitializeDerivedDataSet()

Desserialize todos os dados das tabelas do DataSet a partir do fluxo binário ou XML.

IsBinarySerialized(SerializationInfo, StreamingContext)

Inspeciona o formato da representação serializada do DataSet.

Load(IDataReader, LoadOption, DataTable[])

Preenche a DataSet com valores de uma fonte de dados usando o fornecido IDataReader, usando um array de DataTable instâncias para fornecer a informação do esquema e do namespace.

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

Preenche a DataSet com valores de uma fonte de dados usando o fornecido IDataReader, usando um array de DataTable instâncias para fornecer a informação do esquema e do namespace.

Load(IDataReader, LoadOption, String[])

Preenche a DataSet com valores de uma fonte de dados usando o fornecido IDataReader, usando um array de cadeias para fornecer os nomes das tabelas dentro do DataSet.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
Merge(DataRow[], Boolean, MissingSchemaAction)

Funde um array de DataRow objetos no atual DataSet, preservando ou descartando alterações no DataSet e tratando um esquema incompatível de acordo com os argumentos dados.

Merge(DataRow[])

Funde um array de DataRow objetos na corrente DataSet.

Merge(DataSet, Boolean, MissingSchemaAction)

Funde um esquema especificado DataSet e do seu esquema com o atual DataSet, preservando ou descartando alterações no esquema atual DataSet e tratando um esquema incompatível de acordo com os argumentos fornecidos.

Merge(DataSet, Boolean)

Funde um esquema especificado DataSet e o seu no atual DataSet, preservando ou descartando quaisquer alterações neste DataSet de acordo com o argumento dado.

Merge(DataSet)

Funde um esquema especificado DataSet e do seu esquema na corrente DataSet.

Merge(DataTable, Boolean, MissingSchemaAction)

Funde um esquema especificado DataTable e o seu esquema no atual DataSet, preservando ou descartando alterações no DataSet e tratando um esquema incompatível de acordo com os argumentos fornecidos.

Merge(DataTable)

Funde um esquema especificado DataTable e do seu esquema na corrente DataSet.

OnPropertyChanging(PropertyChangedEventArgs)

Eleva o OnPropertyChanging(PropertyChangedEventArgs) evento.

OnRemoveRelation(DataRelation)

Ocorre quando um DataRelation objeto é removido de um DataTable.

OnRemoveTable(DataTable)

Ocorre quando a DataTable é removido de um DataSet.

RaisePropertyChanging(String)

Envia uma notificação de que a propriedade especificada DataSet está prestes a mudar.

ReadXml(Stream, XmlReadMode)

Lê o esquema XML e os dados no DataSet usando o especificado Stream e XmlReadMode.

ReadXml(Stream)

Lê o esquema XML e os dados no DataSet usando o especificado Stream.

ReadXml(String, XmlReadMode)

Lê o esquema XML e os dados em DataSet usando o ficheiro especificado e XmlReadMode.

ReadXml(String)

Lê o esquema XML e os dados usando DataSet o ficheiro especificado.

ReadXml(TextReader, XmlReadMode)

Lê o esquema XML e os dados no DataSet usando o especificado TextReader e XmlReadMode.

ReadXml(TextReader)

Lê o esquema XML e os dados no DataSet usando o especificado TextReader.

ReadXml(XmlReader, XmlReadMode)

Lê o esquema XML e os dados no DataSet usando o especificado XmlReader e XmlReadMode.

ReadXml(XmlReader)

Lê o esquema XML e os dados no DataSet usando o especificado XmlReader.

ReadXmlSchema(Stream)

Lê o esquema XML do especificado Stream para o DataSet.

ReadXmlSchema(String)

Lê o esquema XML do ficheiro especificado para o DataSetarquivo .

ReadXmlSchema(TextReader)

Lê o esquema XML do especificado TextReader para o DataSet.

ReadXmlSchema(XmlReader)

Lê o esquema XML do especificado XmlReader para o DataSet.

ReadXmlSerializable(XmlReader)

Ignora atributos e devolve um DataSet vazio.

RejectChanges()

Reverte todas as alterações feitas DataSet desde que foi criado, ou desde a última vez AcceptChanges() que foi chamada.

Reset()

Limpa todas as tabelas e remove todas as relações, restrições estrangeiras e tabelas do DataSet. As subclasses devem sobrescrever Reset() para restaurar a DataSet ao seu estado original.

ShouldSerializeRelations()

Recebe um valor que indica se Relations a propriedade deve ser mantida.

ShouldSerializeTables()

Recebe um valor que indica se Tables a propriedade deve ser mantida.

ToString()

Devolve a String contendo o nome do Component, se existir. Este método não deve ser ultrapassado.

(Herdado de MarshalByValueComponent)
WriteXml(Stream, XmlWriteMode)

Escreve os dados atuais, e opcionalmente o esquema, para o DataSet usando os especificados Stream e XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para WriteSchema.

WriteXml(Stream)

Escreve os dados atuais para o DataSet usando o especificado Stream.

WriteXml(String, XmlWriteMode)

Escreve os dados atuais e, opcionalmente, o esquema, para o DataSet ficheiro especificado usando o ficheiro especificado XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para WriteSchema.

WriteXml(String)

Escreve os dados atuais para o DataSet ficheiro especificado.

WriteXml(TextWriter, XmlWriteMode)

Escreve os dados atuais, e opcionalmente o esquema, para o DataSet usando os especificados TextWriter e XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para WriteSchema.

WriteXml(TextWriter)

Escreve os dados atuais para o DataSet usando o especificado TextWriter.

WriteXml(XmlWriter, XmlWriteMode)

Escreve os dados atuais, e opcionalmente o esquema, para o DataSet usando os especificados XmlWriter e XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para WriteSchema.

WriteXml(XmlWriter)

Escreve os dados atuais para o DataSet especificado XmlWriter.

WriteXmlSchema(Stream, Converter<Type,String>)

Escreve a DataSet estrutura como um esquema XML no objeto especificado Stream .

WriteXmlSchema(Stream)

Escreve a DataSet estrutura como um esquema XML no objeto especificado Stream .

WriteXmlSchema(String, Converter<Type,String>)

Escreve a DataSet estrutura como um esquema XML num ficheiro.

WriteXmlSchema(String)

Escreve a DataSet estrutura como um esquema XML num ficheiro.

WriteXmlSchema(TextWriter, Converter<Type,String>)

Escreve a DataSet estrutura como um esquema XML para o especificado TextWriter.

WriteXmlSchema(TextWriter)

Escreve a DataSet estrutura como um esquema XML no objeto especificado TextWriter .

WriteXmlSchema(XmlWriter, Converter<Type,String>)

Escreve a DataSet estrutura como um esquema XML para o especificado XmlWriter.

WriteXmlSchema(XmlWriter)

Escreve a DataSet estrutura como um esquema XML num XmlWriter objeto.

evento

Name Description
Disposed

Adiciona um gestor de eventos para ouvir o Disposed evento no componente.

(Herdado de MarshalByValueComponent)
Initialized

Ocorre após a inicialização.DataSet

MergeFailed

Ocorre quando um destino e uma fonte DataRow têm o mesmo valor de chave primária, e EnforceConstraints é definido como verdadeiro.

Implementações de Interface Explícita

Name Description
IListSource.ContainsListCollection

Para uma descrição deste elemento, veja ContainsListCollection.

IListSource.GetList()

Para uma descrição deste elemento, veja GetList().

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Preenche um objeto de informação de serialização com os dados necessários para serializar o DataSet.

IXmlSerializable.GetSchema()

Para uma descrição deste elemento, veja GetSchema().

IXmlSerializable.ReadXml(XmlReader)

Para uma descrição deste elemento, veja ReadXml(XmlReader).

IXmlSerializable.WriteXml(XmlWriter)

Para uma descrição deste elemento, veja WriteXml(XmlWriter).

Aplica-se a

Segurança de Thread

Este tipo é seguro para operações de leitura multithread. Tem de sincronizar quaisquer operações de escrita.

Ver também