Classe System.Data.DataSet

Observação

Este artigo fornece observações complementares à documentação de referência para esta API.

A DataSet classe, que é um cache na memória de dados recuperados de uma fonte de dados, é um componente importante da arquitetura ADO.NET. O DataSet consiste em uma coleção de DataTable objetos que você pode relacionar uns com os outros com DataRelation objetos. Você também pode impor a integridade dos dados no DataSet usando os UniqueConstraint objetos e ForeignKeyConstraint . Para obter mais detalhes sobre como trabalhar com DataSet objetos, consulte DataSets, DataTables e DataViews.

Enquanto DataTable os objetos contêm os dados, o DataRelationCollection permite navegar pela hierarquia da tabela. As tabelas estão contidas numa DataTableCollection acessível através da propriedade Tables. Ao aceder a objetos DataTable, tenha em atenção que distinguem entre maiúsculas e minúsculas condicionalmente. Por exemplo, se uma DataTable é chamada "mydatatable" e outra é chamada "Mydatatable", uma cadeia de caracteres usada para procurar uma das tabelas é considerada sensível a maiúsculas e minúsculas. No entanto, se "mydatatable" existir e "Mydatatable" não, a cadeia de caracteres de pesquisa será considerada insensível a maiúsculas e minúsculas. Para obter mais informações sobre como trabalhar com DataTable objetos, consulte Criando uma DataTable.

A DataSet pode ler e gravar dados e esquema como documentos XML. Os dados e o esquema podem ser transportados por HTTP e usados por qualquer aplicativo, em qualquer plataforma habilitada para XML. Você pode salvar o esquema como um esquema XML com o WriteXmlSchema método, e tanto o esquema quanto os dados podem ser salvos usando o WriteXml método. Para ler um documento XML que inclui esquema e dados, use o ReadXml método.

Em uma implementação típica de várias camadas, as etapas para criar e atualizar um DataSete, por sua vez, atualizar os dados originais são:

  1. Crie e preencha cada DataTable em um DataSet com dados de uma fonte de dados usando um DataAdapter.

  2. Altere os dados em objetos individuais DataTable adicionando, atualizando ou excluindo DataRow objetos.

  3. Invoque o GetChanges método para criar um segundo DataSet que apresenta apenas as alterações nos dados.

  4. Chame o método Update de DataAdapter, passando o segundo DataSet como argumento.

  5. Invoque o Merge método para mesclar as alterações do segundo DataSet para o primeiro.

  6. Invoque o AcceptChanges no DataSet. Como alternativa, invoque RejectChanges para cancelar as alterações.

Observação

Os objetos DataSet e DataTable herdam de MarshalByValueComponent e suportam a interface ISerializable para comunicação remota. Estes são os únicos objetos ADO.NET que podem ser remotos.

Observação

As classes herdadas de DataSet não são finalizadas pelo coletor de lixo, porque o finalizador foi suprimido em DataSet. A classe derivada pode chamar o ReRegisterForFinalize método em seu construtor para permitir que a classe seja finalizada pelo coletor de lixo.

Considerações de segurança

Para obter informações sobre a segurança DataSet e DataTable, consulte Diretrizes de segurança.