ASP.NET 2.0 - Trabalhando com datasets tipados


Os datasets tipados podem ser usados de uma forma a agilizar o trabalho de desenvolvimento, além disto na versão 2.0 eles tiveram seu desempenho melhorado e muitos bugs foram consertados.

Neste artigo vou usar o Visual Web Developer para criar uma página que exibe dados de uma consulta parametrizada a partir de uma determinada data. O exemplo foi feito usando a tabela Orders do banco de dados Northwind.mdb mas pode ser repetido com um banco de dados SQL Server , Oracle , etc.

Para acompanhar o artigo você deverá ter instalado o Visual Web Developer 2005 (VWD2005) instalado (ele é grátis) e o banco de dados Northwind.mdb.

Criando um projeto e o DataSet tipado

Abra o VWD2005 e no menu File selecione a opção New Web Site informando o nome do projeto. Chamei o projeto do artigo de dsNet.

O seu projeto será criado no Solution Explorer e você verá uma página com o nome de default.aspx

Clique com o botão direito do mouse sobre o nome do projeto na janela Solution Explorer e selecione a opção Add New Item...

Na janela Add New item selecione a opção DataSet e informe o nome Northwind.xsd

O assistente irá ser acionado clique no botão Cancel para desativar o assistente pois vamos criar os datasets de outra forma.

Abra em seguida a janela DataBase Explorer e clique em Data Connections e selecione a opção Add Connection.

Na janela Add Connection informe a localização do banco de dados e o Data Source e clique no botão OK. A conexão deverá aparecer na janela DataBase Explorer

Na janela DataBase Explorer exiba as tabelas do banco de dados Northwind.mdb e arraste as tabelas Orders Details e Orders para a janela do descritor de datasets. Você deverá ver o esquema das tabelas e o relacionamento entre elas sendo exibido conforme a seguir.

Clique com o botão direito do mouse sobre OrdersTableAdapter e selecione Add Query para incluir uma nova consulta.

Selecione a opção Use Select Statements e clique no botão Next. A seguir selecione Select which returns rows e clique em Next. A seguir defina o comando SQL Select conforme a figura abaixo.

Esta instrução SQL seleciona alguns campos da tabela e usa o parâmetro OrderDate para filtrar os dados a partir de uma data informada. Como estou usando um banco de dados Access o parâmetro é representado pelo ? se estivesse usando o SQL Server a cláusula seria: WHERE (OrderDate > @OrderDate).

Clique no botão Next e informe o nomes para as consultas criadas como FillByOrderDate e GetDataByOrderDate.

Criamos um dataset tipado que esta pronto para ser usado. Vamos aproveitar a página default.aspx do projeto.

Selecione a página no modo Design e inclua um componente GridView, um Label , 3 TextBox e um Button conforme leiaute abaixo:

Agora vamos incluir no evento Click do botão de comando o seguinte código:

Primeiro acrescente a linha de código para importar os objetos TableAdapters:

Imports NorthwindTableAdapters

A seguir inclua o código abaixo :   

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim ordersAdapter As OrdersTableAdapter = New OrdersTableAdapter()

Dim orders As Northwind.OrdersDataTable = ordersAdapter.GetDataByOrderDate(New DateTime(txtAno.Text, txtMes.Text, txtDia.Text))

GridView1.DataSource = orders
GridView1.DataBind()

End Sub

Este código cria uma instância de OrdersTableAdapter, a qual será usada para preencher a nossa DataTable. Note que o DataTable criado foi do tipo OrdersDataTable.

Para preencher este DataTable, chamamos o método GetDataByOrderDate() passando um valor referente a data a partir da qual desejamos filtrar os dados. (Note que a data esta no formato AAAA,MM,DD)

Executando o projeto teremos como resultado a página exibida a seguir para a data informada.

Pegue o projeto completo aqui : dsNet.zip

Bom estudo e até o próximo artigo ASP.NET...


José Carlos Macoratti