Compartilhar via


DataSet Classe

Definição

Representa um cache em memória dos dados.

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

Exemplos

O exemplo a seguir consiste em vários métodos que, combinados, criam e preenchem um DataSet do banco de dados 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

Comentários

Para obter mais informações sobre essa API, consulte Comentários sobre a API Complementar para DataSet.

Construtores

DataSet()

Inicializa uma nova instância da classe DataSet.

DataSet(SerializationInfo, StreamingContext)
Obsoleto.

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

DataSet(SerializationInfo, StreamingContext, Boolean)
Obsoleto.

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

DataSet(String)

Inicializa uma nova instância da classe DataSet com o nome especificado.

Propriedades

CaseSensitive

Obtém ou define um valor que indica se comparações de cadeia de caracteres dentro de objetos DataTable diferenciam maiúsculas de minúsculas.

Container

Obtém o contêiner para o componente.

(Herdado de MarshalByValueComponent)
DataSetName

Obtém ou define o nome do DataSet atual.

DefaultViewManager

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

DesignMode

Obtém um valor que indica se o componente está atualmente no modo de design.

(Herdado de MarshalByValueComponent)
EnforceConstraints

Obtém 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 manipuladores de eventos que estão anexados a este componente.

(Herdado de MarshalByValueComponent)
ExtendedProperties

Obtém a coleção de informações de usuário personalizadas associadas a um DataSet.

HasErrors

Obtém um valor que indica se há erros em qualquer um dos objetos DataTable nesse DataSet.

IsInitialized

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

Locale

Obtém ou define as informações de localidade usadas para comparar cadeias de caracteres na tabela.

Namespace

Obtém ou define o namespace do DataSet.

Prefix

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

Relations

Obtém a coleção de relações que vinculam tabelas e permitem a navegação de tabelas principais para tabelas secundárias.

RemotingFormat

Obtém ou define o formato de serialização para o DataSet usado durante a comunicação remota.

SchemaSerializationMode

Obtém ou define um SchemaSerializationMode para um DataSet.

Site

Obtém ou define um ISite para o DataSet.

Tables

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

Métodos

AcceptChanges()

Confirma todas as alterações feitas nesse DataSet desde que foi carregado ou desde a última vez que AcceptChanges() foi chamado.

BeginInit()

Começa a inicialização de um DataSet usado em um formulário ou por outro componente. A inicialização ocorre no tempo de execução.

Clear()

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

Clone()

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

Copy()

Copia a estrutura e os dados para este DataSet.

CreateDataReader()

Retorna um DataTableReader com um resultado definido por DataTable, na mesma sequência em que as tabelas são exibidas na coleção Tables.

CreateDataReader(DataTable[])

Retorna 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()

Libera todos os recursos usados pelo MarshalByValueComponent.

(Herdado de MarshalByValueComponent)
Dispose(Boolean)

Libera os recursos não gerenciados usados pelo MarshalByValueComponent e opcionalmente libera os recursos gerenciados.

(Herdado de MarshalByValueComponent)
EndInit()

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

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetChanges()

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

GetChanges(DataRowState)

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

GetDataSetSchema(XmlSchemaSet)

Obtém uma cópia de XmlSchemaSet para DataSet.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetObjectData(SerializationInfo, StreamingContext)
Obsoleto.

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

GetSchemaSerializable()

Retorna uma instância XmlSchema serializável.

GetSerializationData(SerializationInfo, StreamingContext)

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

GetService(Type)

Obtém o implementador do IServiceProvider.

(Herdado de MarshalByValueComponent)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetXml()

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

GetXmlSchema()

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

HasChanges()

Obtém um valor que indica se o DataSet tem alterações, incluindo linhas novas, excluídas ou modificadas.

HasChanges(DataRowState)

Obtém um valor que indica se o DataSet tem alterações, incluindo linhas novas, excluídas ou modificadas, filtradas por DataRowState.

InferXmlSchema(Stream, String[])

Aplica o esquema XML do Stream especificado ao DataSet.

InferXmlSchema(String, String[])

Aplica o esquema XML do arquivo especificado no DataSet.

InferXmlSchema(TextReader, String[])

Aplica o esquema XML do TextReader especificado ao DataSet.

InferXmlSchema(XmlReader, String[])

Aplica o esquema XML do XmlReader especificado ao DataSet.

InitializeDerivedDataSet()

Desserialize todos os dados de tabelas do DataSet do fluxo XML ou binário.

IsBinarySerialized(SerializationInfo, StreamingContext)

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

Load(IDataReader, LoadOption, DataTable[])

Preenche um DataSet com valores de uma fonte de dados usando o IDataReader fornecido, usando uma matriz de instâncias DataTable para fornecer o esquema e as informações de namespace.

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

Preenche um DataSet com valores de uma fonte de dados usando o IDataReader fornecido, usando uma matriz de instâncias DataTable para fornecer o esquema e as informações de namespace.

Load(IDataReader, LoadOption, String[])

Preenche um DataSet com valores de uma fonte de dados usando o IDataReader, usando uma matriz de cadeias de caracteres para fornecer os nomes das tabelas dentro de DataSet.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
Merge(DataRow[])

Mescla uma matriz de objetos DataRow no DataSet atual.

Merge(DataRow[], Boolean, MissingSchemaAction)

Mescla uma matriz de objetos DataRow no DataSet, preservando ou descartando alterações no DataSet atual e manipulando um esquema incompatível de acordo com os argumentos fornecidos.

Merge(DataSet)

Mescla um DataSet especificado e seu esquema no DataSet atual.

Merge(DataSet, Boolean)

Mescla um DataSet especificado e seu esquema no DataSet atual, preservando ou descartando as alterações neste DataSet de acordo com o argumento determinado.

Merge(DataSet, Boolean, MissingSchemaAction)

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

Merge(DataTable)

Mescla um DataTable especificado e seu esquema no DataSet atual.

Merge(DataTable, Boolean, MissingSchemaAction)

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

OnPropertyChanging(PropertyChangedEventArgs)

Aciona o evento OnPropertyChanging(PropertyChangedEventArgs).

OnRemoveRelation(DataRelation)

Ocorre quando um objeto DataRelation é removido de um DataTable.

OnRemoveTable(DataTable)

Ocorre quando um DataTable é removido de um DataSet.

RaisePropertyChanging(String)

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

ReadXml(Stream)

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

ReadXml(Stream, XmlReadMode)

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

ReadXml(String)

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

ReadXml(String, XmlReadMode)

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

ReadXml(TextReader)

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

ReadXml(TextReader, XmlReadMode)

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

ReadXml(XmlReader)

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

ReadXml(XmlReader, XmlReadMode)

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

ReadXmlSchema(Stream)

Lê o esquema XML do Stream especificado no DataSet.

ReadXmlSchema(String)

Lê o esquema XML do arquivo especificado no DataSet.

ReadXmlSchema(TextReader)

Lê o esquema XML do TextReader especificado no DataSet.

ReadXmlSchema(XmlReader)

Lê o esquema XML do XmlReader especificado no DataSet.

ReadXmlSerializable(XmlReader)

Ignora os atributos e retorna um DataSet vazio.

RejectChanges()

Reverte todas as alterações feitas ao DataSet desde que foi criado ou desde a última vez em que o AcceptChanges() foi chamado.

Reset()

Limpa todas as tabelas e remove todas as relações, restrições externas e tabelas de DataSet. As subclasses devem substituir Reset() para restaurar um DataSet ao seu estado original.

ShouldSerializeRelations()

Obtém um valor que indica se a propriedade Relations deve ser persistida.

ShouldSerializeTables()

Obtém um valor que indica se a propriedade Tables deve ser persistida.

ToString()

Retorna um String que contém o nome do Component, se houver. Esse método não deve ser substituído.

(Herdado de MarshalByValueComponent)
WriteXml(Stream)

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

WriteXml(Stream, XmlWriteMode)

Grava os dados atuais e, opcionalmente, o esquema do DataSet usando o Stream e o XmlWriteMode especificados. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema.

WriteXml(String)

Grava os dados atuais do DataSet no arquivo especificado.

WriteXml(String, XmlWriteMode)

Grava os dados atuais e, opcionalmente, o esquema do DataSet no arquivo especificado usando o XmlWriteMode especificado. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema.

WriteXml(TextWriter)

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

WriteXml(TextWriter, XmlWriteMode)

Grava os dados atuais e, opcionalmente, o esquema do DataSet usando o TextWriter e o XmlWriteMode especificados. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema.

WriteXml(XmlWriter)

Grava os dados atuais do DataSet no XmlWriter especificado.

WriteXml(XmlWriter, XmlWriteMode)

Grava os dados atuais e, opcionalmente, o esquema do DataSet usando o XmlWriter e o XmlWriteMode especificados. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema.

WriteXmlSchema(Stream)

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

WriteXmlSchema(Stream, Converter<Type,String>)

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

WriteXmlSchema(String)

Grava a estrutura DataSet como um esquema XML em um arquivo.

WriteXmlSchema(String, Converter<Type,String>)

Grava a estrutura DataSet como um esquema XML em um arquivo.

WriteXmlSchema(TextWriter)

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

WriteXmlSchema(TextWriter, Converter<Type,String>)

Grava a estrutura DataSet como um esquema XML no TextWriter especificado.

WriteXmlSchema(XmlWriter)

Grava a estrutura DataSet como um esquema XML em um objeto XmlWriter.

WriteXmlSchema(XmlWriter, Converter<Type,String>)

Grava a estrutura DataSet como um esquema XML no XmlWriter especificado.

Eventos

Disposed

Adiciona um manipulador de eventos para escutar o evento Disposed no componente.

(Herdado de MarshalByValueComponent)
Initialized

Ocorre após o DataSet ser inicializado.

MergeFailed

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

Implantações explícitas de interface

IListSource.ContainsListCollection

Para obter uma descrição desse membro, confira ContainsListCollection.

IListSource.GetList()

Para obter uma descrição desse membro, confira GetList().

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

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

IXmlSerializable.GetSchema()

Para obter uma descrição desse membro, confira GetSchema().

IXmlSerializable.ReadXml(XmlReader)

Para obter uma descrição desse membro, confira ReadXml(XmlReader).

IXmlSerializable.WriteXml(XmlWriter)

Para obter uma descrição desse membro, confira WriteXml(XmlWriter).

Métodos de Extensão

GetKeyedService<T>(IServiceProvider, Object)

Obtém um serviço do tipo T do IServiceProvider.

GetKeyedServices(IServiceProvider, Type, Object)

Obtém uma enumeração de serviços do tipo serviceType do IServiceProvider.

GetKeyedServices<T>(IServiceProvider, Object)

Obtém uma enumeração de serviços do tipo T do IServiceProvider.

GetRequiredKeyedService(IServiceProvider, Type, Object)

Obtém um serviço do tipo serviceType do IServiceProvider.

GetRequiredKeyedService<T>(IServiceProvider, Object)

Obtém um serviço do tipo T do IServiceProvider.

CreateAsyncScope(IServiceProvider)

Cria um novo AsyncServiceScope que pode ser usado para resolver serviços com escopo.

CreateScope(IServiceProvider)

Cria um novo IServiceScope que pode ser usado para resolver serviços com escopo.

GetRequiredService(IServiceProvider, Type)

Obter serviço do tipo serviceType do IServiceProvider.

GetRequiredService<T>(IServiceProvider)

Obter serviço do tipo T do IServiceProvider.

GetService<T>(IServiceProvider)

Obter serviço do tipo T do IServiceProvider.

GetServices(IServiceProvider, Type)

Obtém uma enumeração de serviços do tipo serviceType do IServiceProvider.

GetServices<T>(IServiceProvider)

Obtém uma enumeração de serviços do tipo T do IServiceProvider.

GetFakeLogCollector(IServiceProvider)

Obtém o objeto que coleta registros de log enviados ao agente falso.

GetFakeRedactionCollector(IServiceProvider)

Obtém a instância falsa do coletor de refatoração do contêiner de injeção de dependência.

Aplica-se a

Acesso thread-safe

Este tipo é seguro para operações de leitura e multithread. Você deve sincronizar todas as operações de gravação.

Confira também