Clique aqui para ler todos os artigos desta edição
Explore o DataReader
por Israel Aéce
Este artigo discute |
Este artigo usa as seguintes tecnologias: |
·Acesso a Dados ·Utilização do objeto DataReader ·Características do DataReader ·Performance e Boas Práticas |
Visual Basic .NET e Visual C# .NET
Download: ---- |
Chapéu DataReader |
|
Há aplicações as quais necessitam dos dados sempre em tempo real, apresentando o conteúdo mais atualizado possível ao usuário. Muitos clientes necessitam ainda de uma forma rápida para diminuir o tempo de espera de uma determinada solicitação.
Tendo este cenário, temos a meta de desenvolvermos um software que seja bastante eficiente na busca e exibição de dados ao cliente. Este artigo explicará como e quais as melhores práticas, tanto para resgatar dados da base de dados quanto para manipular e exibí-los.
A Plataforma .NET fornece um objeto chamado DataReader, o qual está contido dentro do Namespace System.Data e que por sua vez tem como finalidade resgatar os dados da base de dados de forma extremamente rápida. Como o DataReader é uma espécie de cursor e “caminha” somente para frente, seus dados são somente para leitura, não sendo possível fazermos nada mais com estes dados a não ser exibi-los ao usuário final. Em uma linguagem mais técnica dizemos que o DataReader é foward-only (somente avança) e read-only (somente leitura).
A Interface IDataReader
Esta é a Interface base que deve ser implementanda quando um novo DataReader é criado. Ele contém 3 propriedades (veja a Tabela 1) e 4 métodos (veja a Tabela 2) que devem ser implementados nas classes que implementar esta Interface.
Tabela 1 - Propriedades da Interface IDataReader
Depth |
Retorna um valor maior que zero (0) caso existam linhas (rows). No caso do SQL Server, sempre será retornado 0, já que o mesmo não suporta esta funcionalidade |
HasRows * |
Esta propriedade (ReadOnly) retorna True se existe um ou mais registros, e False caso o DataReader não retorne nenhum registro |
IsClosed |
Verifica se o leitor está aberto ou fechado |
RecordsAffected |
Retorna o número de linhas modificadas, inseridas ou excluídas através da execução de SQL Statements |
* A propriedade HasRows foi introduzida apenas na versão 1.1 do .NET Framework. Como as Interfaces são imutáveis, essa propriedade foi criada e implementada nas classes que implementam IDataReader, fazendo assim parte da classe e não da Interface.
Tabela 2 - Métodos da Interface IDataReader
Close |
Fecha o objeto IdataReader |
GetSchemaTable |
Retorna um objeto do tipo DataTable contendo as descrições das colunas contidas no DataReader |
NextResult |
Utilizado para processar múltiplos SQL Statements. Retorna True caso encontre um Statements e False caso contrário" |