ASP.NET 2.0 - ObjectDataSource - trabalhando em camadas I
Como eu estou embalado pelo artigo VB.NET - Camada de Acesso a dados , de negócio e apresentação I resolvi falar um pouco sobre o desenvolvimento em camadas para web usando o objectDataSource.
Quando se usa o componente SqlDataSource , o ObjectDataSource ou outros componentes, o assistente do ASP .NET entra em ação para criar a conexão e as instruções SQL ou stored Procedures que serão usadas no acesso a base de dados. Muitos desenvolvedores fogem dos assistentes por acreditarem que não terão um controle sobre o código gerado, não podendo assim efetuar alterações quando estas se fizerem necessárias no futuro.
Muitos desenvolvedores pensam também que não é possível usar os assistentes no desenvolvimento em camadas. Esse artigo vai mostrar de forma objetiva e direta que você pode desenvolver em camadas usando os assistentes do ASP .NET podendo assim obter produtividade sem perder o controle sobre o seu projeto.
Neste artigo eu vou usar as seguintes ferramentas: Visual Studio 2005 e SQL Server 2005 Express.
Abra o VS 2005 e crie um novo Web Site , opção Create Web Site, e na janela New Web Site informe o nome do projeto oDataSourceCamadas, Location igual a File System e linguagem Visual Basic;
Agora vamos incluir um novo projeto que será usado para criar a camada de dados. Teremos então o web site e o projeto que será responsável pela camada de acesso a dados como iremos ver adiante.
No menu File selecione Add -> New Project
Selecione o tipo de projeto Visual Basic e o template Class Library com o nome acessoDados na mesma localização do web site
Neste momento , na janela Solution Explorer , você terá a seguinte visão da sua solução:
Como eu vou usar os assistentes para configuração do Data Source e também o componente ObjectDataSource eu não preciso do arquivo Class1.vb pois não vou usar código para criar a camada de acesso a dados.
Vamos excluir então o arquivo Class1.vb e clicar com o botão direito do mouse sobre o nome do projeto - acessoDados - e selecionar a opção Add -> New Item;
Na janela Add New Item, selecione o template DataSet e informe o nome dsNorthwind , ou um nome relacionado com o banco de dados que você vai acessar.
Eu vou acessar o banco de dados Northwind.mdf que contém uma tabela chamada Territories que será usado neste exemplo.
Agora selecione o dataset criado, e, a partir da ToolBox, arraste um controle TableAdapter para o descritor. No assistente de configuração selecione , ou crie se não existir , a conexão com o banco de dados Northwind.mdf;
Clique em Next> e salve a string de conexão, NORTHWNDConnectionString, no arquivo de configuração , clicando em Next> , novamente;
Agora , selecione a opção Use SQL Statements e clique em Next>;
Ative o Query Builder e selecione a tabela Territories clicando no botão Add;
Clique em Next> até a a janela Enter a SQL Statement , clique no botão Advanced Options e desmarque as opções : Use Optimistic concurrecy e Refresh the data table;
Clique no botão OK e a seguir em Next>. Na janela Table Adapter Configuration Wizard , desmarque a opção - Create methods to send updates directly to the database(...)
Clique em Next> e a seguir em Finish. Ao final teremos o Datatable Territories e o TableAdatper TerritoriesTableAdapter prontos para serem usados
Vamos criar consultas no TableAdapter para efetua a atualização , inclusão e exclusão de dados. Para isso clique com o botão direito do mouse sobre o mesmo e selecione Add -> Query;
A seguir selecione Use SQL Statements e clique em Next>, selecionando o tipo de consulta que deseja criar; Iremos criar primeiro um Update, marque então esta opção e clique em Next>;
Será apresentada a instrução SQL para atualizar o banco de dados, e, se você observar vai notar que precisamos fazer um pequeno ajuste no SQL.
Após ajustar o nome do parâmetro clique em Next> e informe o nome atualizaTerritorios para a consulta de atualização criada;
Clique em Next> e teremos que a consulta será gerada no tableAdapter;
Ao final você verá o seu TableAdapter conforme a figura abaixo:
Repita o procedimento para criar uma consulta para excluir dados da tabela dando o nome excluiTerritorio para o método e usando a instrução SQL conforme a figura abaixo:(Note que temos que ajustar o nome do parâmetro TerritoryID)
Repita o procedimento para criar uma consulta para incluir dados da tabela dando o nome incluiTerritorio da mesma forma que feita anteriormente usando a instrução SQL para inserir dados na tabela Territories.
Ao final deste processo você deverá ter o seu tableAdapter contendo as 3 consultas criadas conforme abaixo:
Neste momento efetue um Rebuild do projeto acessoDados , no menu Build -> Rebuild acessoDados.
Para encerrar esta primeira parte vamos agora incluir uma referência no projeto Web ao nosso projeto acessoDados. Clique com o botão direito do mouse sobre o nome do web site e selecione Add -> Reference;
Na janela Add Reference selecione a aba Projects, pois nossa referência será a nível de projeto , e selecione o projeto acessoDados clicando em OK;
Pronto ! na segunda parte iremos usar a camada de dados no nosso web site. Até lá...
Até a segunda parte do artigo ASP.NET
ASP.NET 2.0 - ObjectDataSource - trabalhando em camadas II
referências:
José Carlos Macoratti