Data Access Application Block ( DAAB)

 

Olá, este artigo tem como objetivo mostrar de forma simples e clara o que é o DAAB (Data Access Application Block).

 

Vamos lá!O DAAB é um padrão para o desenvolvimento de nossa camada de acesso a dados.

 Como assim padrão??Sempre que trabalhamos com dados temos que fazer algumas tarefas digamos que rotineiras, veja o exemplo:
SqlConnection conn = new SqlConnection(“Initial Catalog=Northwind; 
Data Source=(local);Integrated Security=sspi”);
string sql = “Select * FROM Products”;
SqlCommand cmd;
SqlDataReader dr;
conn.Open();
cmd = New SqlCommand(sql, conexao);
cmd.CommandType = CommandType.Text;
dr = cmd.ExecuteReader()
DataGrid1.DataSource = dr;
DataGrid1.DataBind();
conn.Close();
 O código acima nos mostra em um DataGrid todos os produtos da tabela Products do banco de dados Northwind do SqlServer. Ou seja, sempre executamos os mesmos códigos para fazer as mesmas coisas tornando assim um processo repetitivo, quando isso ocorre (o processo repetitivo) acabamos tendo menos tempo para pensar na lógica de nossa aplicação(o que é mais importante) e nos deparamos escrevendo os mesmos códigos sempre. O ideal nesse caso é termos um PADRÂO para o desenvolvimento de nossa camada de acesso a dados e é justamente o que o DAAB faz, veja o exemplo:

string conexao = “Initial Catalog=Northwind; Data Source=(local); Integrated Security=sspi”;
string sql = “Select * FROM Products”
DataGrid1.DataSource = SqlHelper.ExecuteReader(conexao, CommandType.Text, sql);
DataGrid1.DataBind();

No exemplo acima utilizamos o método ExecuteReader da classe SqlHelper do DAAB para fazer exatamente a mesma coisa que o código anterior, perceba que todo o processo é facilitado, agora não precisamos mais criar, abrir e fechar uma conexão por exemplo, o processo existe só que agora não nos preocupamos mais com ele, pois o processo é todo encapsulado pela classe SqlHelper.

 

Mãos na massa!

Logo após essa pequena introdução você já deve estar no mínimo com vontade de saber como proceder para começar a utilizar o DAAB então vamos lá.

 

Instalando o DAAB

Para a instalação do DAAB siga os seguintes passos:
1) - faça um download o DAAB do endereço abaixo e instale-o
DAAB.
2) - Após a instalação, vá ao menu iniciar do windows e escolha a opção do menu Microsoft Application Blocks for .NET->Data Access->Source Code (C#)
3) - Será aberto um projeto Application Block no Visual Studio, compile-o para gerar a sua DLL
4) - Após a construção do Assemblie você esta apto a utilizar o DAAB, agora em todas as aplicação que você desejar utilizar o DAAB basta adicionar uma referência ao Microsoft.ApplicationBlocks.Data.dll e adicione a declaração using(c#) para os namespaces

Microsoft.ApplicationBlocks.Data,
System.Data, System.Data.SqlClient

OBS: é muito importante que você abra o projeto e de um Build na aplicação, pois sem isso não teremos a dll para podermos referenciá-la nas aplicações.

A Classe SqlHelper

Toda a utilização do DAAB será baseada nesta classe SqlHelper que por sua vez possui os seguintes métodos:

 

ExecuteNonQuery – este método é usado para executar comandos que não retornam nenhuma linha ou valor, normalmente para instruções do tipo Insert, Delete e Update.

ExecuteReader – este método é usado para retornar um objeto do tipo SqlDataReader

ExecuteDataset – este método é usado para retornar um objeto do tipo DataSet

ExecuteScalar – este método retorna um único valor seja ele uma linha ou uma coluna.

ExecuteXmlReader – este método retorna um xml.

 

Para cada método acima existem alguns overloads (sobrecarga), para quem não sabe quando temos um método (função) com o mesmo nome, porém com argumentos (parâmetros) diferentes isso se dá o nome de Overload.

 

Um exemplo simples!

Crie uma nova aplicação do tipo Windows Application no seu Visual Studio com o nome de “WinDAAB”

 

Figura 1: Criando o projeto.

 

No Form1 adicione um Button e um DataGrid, para o Button mude a propriedade Name para “btnCarregaGrid” e a propriedade Text para “Carrega Grid” e para o DataGrid mude a propriedade Name para “GridDAAB”.

 

 

Figura 2: Formulário pronto.

 

Feito isso devemos agora referenciar a dll do DAAB para o nosso projeto, vá até o Solution Explorer e clique com o botão direito em References e selecione a opção “Add Reference...”, clique em “Browse....” agora vá até a pasta onde esta a dll do DAAB por padrão fica em Arquivos de Programas | Microsoft Application Blocks for .NET | Data Access | Code | CS | Microsoft.ApplicationBlocks.Data | Bin | Debug  e selecione a dll “Microsoft.ApplicationBlocks.Data.dll”

 

Figura 3: Selecionando a dll.

 

Clique em “Open” e “OK”.

 

Figura 4: dll referenciada.

 

Feito isso vá para o Design e pressione F7 isso o levará para o editor de código, no editor de código importe os seguintes namespaces:

-System.Data

-System.Data.SqlClient

-Microsoft.ApplicationBlocks.Data

Volte para o Design e de dois clique no Button e digite o código a seguir:

 

string conexao = "Sua String de Conexão";

string sql = "Select * FROM Products";

this.GridDAAB.DataSource = SqlHelper.ExecuteDataset(conexao, CommandType.Text, sql);

 

onde, “Sua String de Conexão” é a string com o seu SqlServer.

 

Agora execute sua aplicação e veja o resultado clicando no menu Debug | Start ou apenas pressionando a tecla F5.

 

Considerações sobre o exemplo.

Neste exemplo utilizamos o método ExecuteDataset da classe SqlHelper para preenchermos o nosso DataGrid, veja que fizemos isso de forma fácil e rápida com apenas três linhas de código.

 

Benefícios

Volto a repetir quando utilizamos o DAAB principalmente num ambiente de desenvolvimento em equipe temos um recurso muito importante que é a padronização, ou seja, nós seres humanos somos únicos e seguimos linhas de raciocínios diferentes talvez (bem provavelmente) se alguém te pede pra fazer uma determinada tarefa você o faz de um jeito e talvez um amigo seu também o faça, mas de forma diferente. Utilizando o DAAB você terá um padrão para utilizar em sua equipe o que é muito bom e recomendável.

 

Importante: O DAAB é implementado tanto em C# quanto em VB.NET, este artigo eu me referi somente ao C#, mas você poderia utilizar a classe feita em VB.NET sem problemas. Inclusive podendo alterar a classe de acordo com suas necessidades.

 

Conclusão

Vimos com esse artigo uma visão geral do que é o DAAB e porque e onde você deve utiliza-lo, para maiores informações sobre a forma de implementação do mesmo consulte a documentação do DAAB, vá até Iniciar | Programas | Microsoft Application Blocks for .NET | Data Access | Documentation.

 

Espero mais uma vez que esse artigo tenha agregado mais informações úteis e interessantes ao seu aprendizado, qualquer dúvida, dica, sugestão ou critica fale comigo: cleberwd@hotmail.com.

 

Até mais!