DataSet Classe

Definição

Representa um cache de dados na 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 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 da API Complementar para DataSet.

Construtores

Nome Description
DataSet()

Inicializa uma nova instância da classe DataSet.

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 fornecido.

Propriedades

Nome Description
CaseSensitive

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

Container

Obtém o contêiner do componente.

(Herdado de MarshalByValueComponent)
DataSetName

Obtém ou define o nome do atual DataSet.

DefaultViewManager

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

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 anexados a esse componente.

(Herdado de MarshalByValueComponent)
ExtendedProperties

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

HasErrors

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

IsInitialized

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

Locale

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

Namespace

Obtém ou define o namespace do DataSet.

Prefix

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

Relations

Obtém a coleção de relações que vinculam tabelas e permitem a navegação de tabelas pai para tabelas filho.

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

Nome Description
AcceptChanges()

Confirma todas as alterações feitas a isso DataSet desde que ela foi carregada ou desde a última vez AcceptChanges() que foi chamada.

BeginInit()

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

Clear()

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

Clone()

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

Copy()

Copia a estrutura e os dados para isso DataSet.

CreateDataReader()

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

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

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

GetChanges(DataRowState)

Obtém uma cópia da DataSet que contém todas as alterações feitas a ela desde que foi carregada pela última vez ou desde que AcceptChanges() foi chamada, filtrada por DataRowState.

GetDataSetSchema(XmlSchemaSet)

Obtém uma cópia do Conjunto de XmlSchemaSet Dados.

GetHashCode()

Serve como a função hash predefinida.

(Herdado de Object)
GetObjectData(SerializationInfo, StreamingContext)

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

GetSchemaSerializable()

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

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 valor tem alterações, incluindo linhas novas, excluídas ou modificadas.

HasChanges(DataRowState)

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

InferXmlSchema(Stream, String[])

Aplica o esquema XML do especificado Stream ao DataSet.

InferXmlSchema(String, String[])

Aplica o esquema XML do arquivo especificado ao DataSet.

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 de tabelas do DataSet do fluxo binário ou XML.

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 fornecido IDataReader, usando uma matriz de DataTable instâncias para fornecer as informações de esquema e namespace.

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

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

Load(IDataReader, LoadOption, String[])

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

MemberwiseClone()

Cria uma cópia superficial do Objectatual.

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

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

Merge(DataRow[])

Mescla uma matriz de DataRow objetos no atual DataSet.

Merge(DataSet, Boolean, MissingSchemaAction)

Mescla um esquema especificado DataSet e 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)

Mescla um especificado DataSet e seu esquema no atual DataSet, preservando ou descartando quaisquer alterações nesse DataSet argumento de acordo com o argumento fornecido.

Merge(DataSet)

Mescla um esquema especificado DataSet e seu esquema no atual DataSet.

Merge(DataTable, Boolean, MissingSchemaAction)

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

Merge(DataTable)

Mescla um esquema especificado DataTable e seu esquema no atual DataSet.

OnPropertyChanging(PropertyChangedEventArgs)

Aciona o evento OnPropertyChanging(PropertyChangedEventArgs).

OnRemoveRelation(DataRelation)

Ocorre quando um DataRelation objeto é removido de um DataTable.

OnRemoveTable(DataTable)

Ocorre quando um DataTable é removido de um DataSet.

RaisePropertyChanging(String)

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

ReadXml(Stream, XmlReadMode)

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

ReadXml(Stream)

Lê o esquema XML e os DataSet dados no uso do .Stream

ReadXml(String, XmlReadMode)

Lê o esquema XML e os DataSet dados no uso do arquivo especificado e XmlReadMode.

ReadXml(String)

Lê o esquema XML e os dados no DataSet arquivo que está usando o arquivo especificado.

ReadXml(TextReader, XmlReadMode)

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

ReadXml(TextReader)

Lê o esquema XML e os DataSet dados no uso do .TextReader

ReadXml(XmlReader, XmlReadMode)

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

ReadXml(XmlReader)

Lê o esquema XML e os DataSet dados no uso do .XmlReader

ReadXmlSchema(Stream)

Lê o esquema XML do especificado Stream no DataSet.

ReadXmlSchema(String)

Lê o esquema XML do arquivo especificado no DataSet.

ReadXmlSchema(TextReader)

Lê o esquema XML do especificado TextReader no DataSet.

ReadXmlSchema(XmlReader)

Lê o esquema XML do especificado XmlReader no DataSet.

ReadXmlSerializable(XmlReader)

Ignora atributos e retorna um DataSet vazio.

RejectChanges()

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

Reset()

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

ShouldSerializeRelations()

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

ShouldSerializeTables()

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

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, XmlWriteMode)

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

WriteXml(Stream)

Grava os dados atuais para o DataSet uso do Stream.

WriteXml(String, XmlWriteMode)

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

WriteXml(String)

Grava os dados atuais para o DataSet arquivo especificado.

WriteXml(TextWriter, XmlWriteMode)

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

WriteXml(TextWriter)

Grava os dados atuais para o DataSet uso do TextWriter.

WriteXml(XmlWriter, XmlWriteMode)

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

WriteXml(XmlWriter)

Grava os dados atuais para o DataSetXmlWriterespecificado.

WriteXmlSchema(Stream, Converter<Type,String>)

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

WriteXmlSchema(Stream)

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

WriteXmlSchema(String, Converter<Type,String>)

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

WriteXmlSchema(String)

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

WriteXmlSchema(TextWriter, Converter<Type,String>)

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

WriteXmlSchema(TextWriter)

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

WriteXmlSchema(XmlWriter, Converter<Type,String>)

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

WriteXmlSchema(XmlWriter)

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

Eventos

Nome Description
Disposed

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

(Herdado de MarshalByValueComponent)
Initialized

Ocorre após a DataSet inicialização.

MergeFailed

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

Implantações explícitas de interface

Nome Description
IListSource.ContainsListCollection

Para obter uma descrição deste membro, consulte ContainsListCollection.

IListSource.GetList()

Para obter uma descrição deste membro, consulte 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 deste membro, consulte GetSchema().

IXmlSerializable.ReadXml(XmlReader)

Para obter uma descrição deste membro, consulte ReadXml(XmlReader).

IXmlSerializable.WriteXml(XmlWriter)

Para obter uma descrição deste membro, consulte WriteXml(XmlWriter).

Aplica-se a

Acesso thread-safe

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

Confira também