Desenvolvimento - ASP. NET

Acesso à Dados com ASP.NET - Parte 5

Nesta 5ª parte vamos configurar a página da nossa aplicação para que receba os dados de nosso DataSet Tipado.

por Wellington Balbo de Camargo



Olá pessoal, volto com mais uma parte de nossa série de artigos sobre acesso ao banco de dados com ASP.NET usando a linguagem C#. Nesta parte iremos configurar a página da nossa aplicação para que receba os dados de nosso DataSet Tipado.

 Em nosso DataSet podemos visualizar o conteúdo do arquivo XML clicando com o botão direito em qualquer área livre do nosso DataSet Designer e clicarmos em View Code, como mostra a imagem:

Descrição: DataSetViewCode.JPG

 Como marcamos a opção para armazenar nossa string de conexão no arquivo de configuração, se abrirmos nosso web.config haverá uma entrada parecida com a de baixo:

Descrição: ConnectionString.JPG

 Usamos o elemento connectionstring para declararmos quais as strings de conexão iremos utilizar em nossa aplicação. No caso o da imagem acima. Antes de fazermos isso, no 2º artigo de nossa série por exemplo, repetíamos a string de conexão cada vez que acessávamos o banco de dados. Essa prática não é recomendada, pois o código é duplicado e, dessa forma, a manutenção fica mais difícil de ser feita. Com a string de conexão armazenada em nosso web.config podemos usar o código abaixo para recuperá-la:

Descrição: RetrieveConnectionString.JPG

  A classe ConfigurationManager é o meio indicado para se trabalhar com arquivos de configuração. Vamos agora criar uma nova página para nossa aplicação.

 No Solution Explorer, clique com o botão direito sobre o projeto e escolha Add New Item. Escolha o template Web Form e dê o nome DataSetTipado.aspx.

Descrição: DataSetTipado.aspx.jpeg

 Monte um formulário parecido com o primeiro, com um controle DropDownList, com ID ddlClientes, propriedade AutoPostBack igual a True e um controle GridView com o ID gvEncomendas. Abra a página de códigos de nosso form e adicione o código relativo ao método preencheGridView, como mostra a imagem abaixo:

Descrição: preencheGridView.JPG

 No método da imagem acima, instanciamos o TableAdapter da tabela Orders e executamos o método ObterEncomendasPeloCliente, passando o parâmetro Encomenda. Os TableAdapters que criamos no artigo anterior ficam em um namespace específico do Visual Studio, que nesse exemplo se chama DadosDataSetTableAdapters.

 No Page_Load, adicione o código para preencher nosso DropDownList com os clientes disponíveis:

Descrição: Page_Load.JPG

 Acima instanciamos o TableAdapter da tabela Customers e executamos o método GetCustomers(), associando seu retorno à propriedade DataSource do controle ddlClientes.

 Finalizando, adicione o código relativo ao evento SelectedIndexChanged do controle ddlClientes, para isso clique em cima do seu DropDownList, vá na aba propriedades (aperte F4), selecione o evento SelectedIndexChanged e dê dois cliques na área branca do mesmo, como mostra a imagem abaixo:

Descrição: ddlClientesProperties.JPG

 Depois de clicado, você irá para voltar a sua página de códigos dentro desse evento, apenas adicione o código abaixo:

Descrição: SelectedIndexChanged.JPG

 Salve o projeto e execute a aplicação, deverá ficar parecido com a da imagem abaixo:

Descrição: CompiledProject.JPG

 Note que o DropDownList contém os clientes disponíveis. Selecione outros clientes e note as encomendas relacionadas aos clientes no GridView. Na verdade temos a mesma funcionalidade do exemplo anterior, só que desta vez não precisamos escrever nenhum código que use os objetos do ADO.NET, como o Connection e Command, por exemplo.

 Continuamos a usá-los, só que de forma indireta e automaticamente, através de nosso TableAdapter, que abstrai e encapsula toda essa camada de acesso aos dados, em que geralmente, o padrão é repetitivo (abrir conexão, executar comandos e fechar conexão).

 Essa abstração facilita a troca do banco de dados que acessamos, por exemplo. Além disso, temos o benefício de trabalhar com um modelo de dados fortemente tipado, que nos oferece muitas vantagens de produtividade e qualidade do sistema.

 Portanto aqui finalizamos mais uma parte de nosso artigo. Na próxima parte iremos falar sobre os controles do DataSource.

Quaisquer dúvidas, estou à disposição. Abraços.

Até o próximo artigo!

Wellington Balbo de Camargo

Wellington Balbo de Camargo - Desenvolvedor Web/Desktop em .NET, com pouco mais de 1 ano de experiência na área. Cursando o 4º Semestre de Análise de Sistemas, atualmente estuda para melhorar os conhecimentos em SQL Server e ASP.NET, buscando em um futuro próximo as certificações Microsoft nessas áreas. Mantém um blog com dicas e artigos para iniciantes em .NET no endereço http://programandodotnet.wordpress.com e nas horas vagas procura ajudar e aprender com o pessoal do Fórum daMSDN. Atualmente é editor de artigos da Linha de Código.