DataReader
ou DataSet ? eis a questão !!!
DataReader ou DataSet ? Será o DataReader melhor que o
DataSet ? Será que existe um diferença significativa ?
Não é uma tarefa tão simples
como parece dizer quando usar uma ou outra classe , tudo vai
depender do contexto.
Vou assumir que você já tenha
noções sobre essas duas classes e que o contexto sejam as aplicações
ASP.NET ( a coisa pode ser diferente em aplicações Windows Forms ). Com isto em mente segue abaixo uma relação de quando
usar DaReader ou DataSet :
Obs: Para ficar por dentro leia os artigos :
-
VB.NET -
ADO.NET - uma visão geral IV : Objeto DataSet.
-
VB.NET _
ADO.NET - Uma visão Geral I :
Objeto Connection -
DataReader
Situações quando o uso de DataReader
é recomendado :
- Os dados
com os quais você esta trabalhando precisam estar sempre
atualizados , ou seja , você precisa de dados on-line em
tempo real . Neste caso usar um DataReader é menos
oneroso para o desempenho do seu sistema.
- Você
precisa acessar dados individuais localizados a cada
momento para atualizar o seu sistema.
- Você
precisa apenas de um acesso onde os dados não sofrerão
atualizações nem buscas e serão somente exibidos.( i.e
uma conexão do tipo somente-leitura e
somente-para-frente)
- Você terá
que fazer repetidas chamadas a base de dados para obter
pequenas porções de informações
Situações onde o uso de um DataSet
é recomendado:
- Você esta
criando um Web Service que utiliza os dados que você
esta retornando como valores de retorno. Como um
DataReader mantém uma conexão permanente com a fonte de
dados ele não pode ser serializado em XML e assim não
pode ser transmitido pela rede pelo consumidor do Web
Service.
- Você
precisa filtrar e ordernar seus dados.
- Você
precisa interagir com os dados mais de uma vez na mesma
requisição.
- Você
precisa armazenar os dados que serão usados novamente
por subsequentes requisições de páginas.
- Você
precisa carregar e manipular dados XML em duas
dimensões.
- A sua fonte
de dados não é um banco de dados . Um DataSet pode
carregar dados diretamente de um arquivo XML e
interpretar o seu esquema dinamicamente.
Até mais !!