Olá pessoal, volto com a série de artigos usando os conceitos básicos de ADO.NET. Nesta parte vou mostrar uma breve introdução ao DataSet e depois criarei um exemplo em um novo projeto Windows Forms. Confiram:

No artigo anterior, já usamos o DataSet no projeto, só que o usamos para alimentar os dados no DataGridView. Vamos aos conceitos básicos dele:

DataSet – o ADO.NET é desenhado para permitir o desenvolvimento de aplicações grandes e altamente escaláveis, e um dos maiores obstáculos para a escalabilidade é o limite de conectividade dos bancos de dados, já que eles normalmente trabalham com um número limite de conexões ativas disponíveis simultaneamente. Isto significa que, se uma parte do código tentar fazer a conexão e todas as conexões disponíveis estiverem sendo utilizadas, ele precisará aguardar até que uma delas esteja livre. Este problema está ligado ao número de conexões disponíveis, as possibilidades de a performance ser afetada são grandes; se este número for próximo ou igual ao número de conexões disponíveis, o risco é menor.

Para minimizar esse problema, além da interface IDataReader, o ADO.NET também suporta o conceito de manipulação do registro desconectado, através da classe DataSet. Esta classe é desenhada para permitir uma visão geral fácil e navegável do banco de dados da aplicação. A idéia por trás disso é conectar e desconectar rapidamente do banco de dados, saindo com uma cópia dos dados.

Na classe DataSet, os objetos normalmente são construídos com a utilização de um DataAdapter. A DataSet inclui um array DataTable (um para cada sentença de seleção na query). Toda vez que o DataAdapter voltar com os dados do DataSet, teremos a visão geral mais recente do banco de dados na memória. O DataSet possui uma coleção DataTable e cria um elemento DataTable para cada sentença (instrução SQL) SELECT na pesquisa.

Conceitos sobre ADO.NET retirados da Apostila de ASP.NET 2005 – Capítulo 4, do curso feito na Impacta Tecnologia.

Após os conceitos, vamos à prática: Crie um novo projeto em Windows Forms com o nome ExemploDataSet.


Agora abra a Solution Explorer (CTRL + W + S), clique em Add > New Item, em Categories selecione Data, escolha o template DataSet, dê o nome DataSetCliente e clique em OK.


Agora abra o Server Explorer (CTRL + W + L), expanda um Database qualquer e arraste a tabela para o DataSet (neste exemplo arrastei a tabela Clientes, usada nos artigos de SQL Server do meu blog).

Ok, nossa tabela foi arrastada para nosso DataSet. Perceba que foi criado automaticamente um TableAdapter, responsável por preencher os dados do DataTable. Agora vá ao form criado pelo VS, e adicione um DataGridView, da mesma forma que fizemos no artigo anterior. A diferença é que agora não iremos configurar pelo modo visual e sim via código.


Dê o nome a esse DataGridView de dgvCliente. Agora dê dois cliques no form, para irmos ao evento Load. Adicione o seguinte código:


Simples não? Com apenas 4 linhas de código, instanciei o TableAdapter e o DataTable, preenchi o DataTable com o TableAdapter, que já contém os dados que preciso, já que ele tem como fonte de dados meu DataSet, que por sua vez me retorna os dados de minha tabela, e passei como DataSource a meu GridView o DataTable já preenchido. Só não se esqueça de importar o namespace relativo ao TableAdapter do DataSet para que o mesmo possa ser usado na aplicação.

Salve seu projeto e o compile. Seu GridView deverá vir preenchido:


Assim encerramos nossa introdução básica a ADO.NET. Para ver mais conceitos importantes de acesso a dados, em artigos com ASP.NET que fiz um tempo atrás em meu blog, clique aqui.

Para quem se interessar, disponibilizo o código fonte desse projeto aqui.

Dúvidas? Mandem emails para wellingtonbalbo@gmail.com ou postem nos comentários.

Abraços.

Até o próximo artigo!