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!