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 e nos próximos artigos iremos falar sobre os controles DataSource do ASP.NET.
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:
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:
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:
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.
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:
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:
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:
Depois de clicado, você irá para voltar a sua página de códigos dentro desse evento, apenas adicione o código abaixo:
Salve o projeto e execute a aplicação, deverá ficar parecido com a da imagem abaixo:
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!