Bom dia pessoal, neste artigo irei mostrar como utilizar a DLL de acesso a dados genérica criada neste artigo:

http://aspneti.com/Criando+uma+DLL+de+acesso+a+dados+Generica+utilizando+o+namespac
e+System+Data+Comom+444,0.aspx


Crie um novo projeto Web do tipo ASP.NET Web Application com o Visual Studio 2010 com o nome TestGenericDB conforme imagem abaixo:


Clique na imagem para ampliar

Como muitos j√° devem saber o VS 2010 cria automaticamente um template de um site muito bom com duas p√°ginas, uma Default.aspx e outra About.aspx.

Neste artigo iremos utilizar apenas a p√°gina Default.aspx. Primeiro vamos criar um banco de dados com apenas uma tabela bem simples, apenas para podermos executar os testes com a DLL criada no artigo

http://aspneti.com/Criando+uma+DLL+de+acesso+a+dados+Generica+utilizando+o+namespac
e+System+Data+Comom+444,0.aspx
.

Clique com o botão direito do mouse em cima do projeto e adicione um novo item do tipo SQL Server Database e de o nome de GenericDB. Irá aparecer uma mensagem perguntando se você gostaria de adicionar o novo item na página App_Data. Clique em Sim.

Agora vamos criar uma tabela com o nome PESSOA. Para isso podemos utilizar o próprio VS na janela Server Explorer já irá aparecer a conexão com o banco GenericDB conforme você pode ver na figura abaixo:


Clique na imagem para ampliar

Clique com o bot√£o direito em cima de Tables e depois em ADD New Table e crie uma tabela com a seguinte estrutura:


Clique na imagem para ampliar

Nesta primeira parte do artigo vou mostrar um comando Insert utilizando Stored Procedure.
Clique com o bot√£o direito em cima de Stored Procedure e depois em Add New Stored
Procedure e digite o seguinte código:

CREATE PROCEDURE spSetPessoa
@NOME VARCHAR(50),
@ENDERECO VARCHAR(50),
@TELEFONE VARCHAR(50)
AS
INSERT INTO PESSOA (NOME, ENDERECO, TELEFONE) VALUES (@NOME, @ENDERECO,
@TELEFONE)
RETURN

Agora vamos acrescentar ao nosso projeto a DLL GenericDataBase. Crie uma pasta no projeto com o nome Assembly e adicione a DLL nesta pasta conforme imagem:


Clique na imagem para ampliar

Fazendo isso nós estamos apenas acrescentando a DLL ao projeto, mas ainda precisamos referenciá-la. Para isto basta clicar com o botão direito do mouse em cima de References e depois em Add Reference, na aba Browse selecione a DLL que acabamos de adicionar na pasta Assembly conforme imagem abaixo:


Clique na imagem para ampliar

Abra a página Default.aspx e digite o seguinte código dentro do BodyContent:
<h2>
Cadastro de Pessoas
</h2>
<br />
<table>
<tr>
<td>Nome:</td>
<td><asp:TextBox ID="txtNome" runat="server" /></td>
</tr>
<tr>
<td>Endereço:</td>
<td><asp:TextBox ID="txtEndereco" runat="server" /></td>
</tr>
<tr>
<td>Telefone:</td>
<td><asp:TextBox ID="txtTelefone" runat="server" /></td>
</tr>
<tr>
<td colspan="2">
<br />
<asp:Button ID="btnCadastrar" runat="server" Text="Cadastrar" />
<br />
<br />
<asp:Label ID="lblMSG" runat="server" />
</td>
</tr>
</table>

Vá para o Design e clique duas vezes no botão Cadastrar. E digite o seguinte código para este método:

/// <summary>
/// Método do botão cadastrar
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnCadastrar_Click(object sender, EventArgs e)
{
// Recebe os dados da tela
string nome = txtNome.Text;
string endereco = txtEndereco.Text;
string telefone = txtTelefone.Text;
// Cria Lista de Par√Ęmetros
List<DbParameter> param = new List<DbParameter>();
// Adiciona os par√Ęmetros da Stored Procedure
param.Add(GenericDB.criaParameter("@NOME", DbType.String, nome));
param.Add(GenericDB.criaParameter("@ENDERECO", DbType.String,
endereco));
param.Add(GenericDB.criaParameter("@TELEFONE", DbType.String,
telefone));
try
{
// Executa o comando
GenericDB.executeCommand("spSetPessoa",
CommandType.StoredProcedure, param, TypeCommand.ExecuteNonQuery);
// Exibe mensagem de sucesso
lblMSG.Text = "Cadastro Efetuado com Sucesso!";
}
catch (Exception ex)
{
// Exibe mensagem de erro
lblMSG.Text = ex.Message;
}
}
Não se esqueça de adicionar as seguintes namespace using System.Data.Common;
using GenericDataBase;
using System.Data;

Veja que eu crio a lista de par√Ęmetros j√° utilizando o m√©todo criaParameter do framework passando o nome, tipo e valor do par√Ęmetro. Depois chamo o m√©todo de execu√ß√£o passando o nome da procedure o tipo de comando, a lista de par√Ęmetros e o comando ExecuteNonQuery que √© utilizado para esse tipo de execu√ß√£o.

Antes de executar devemos acrescentar no Web.Config a string de conex√£o conforme o framework utiliza. Segue a string de conex√£o:

<connectionStrings>
<add name="ConnectionString" connectionString="Data
Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\GenericDB.mdf;Integrated
Security=True;User Instance=True" providerName="System.Data.SqlClient"/>
</connectionStrings>

Execute a aplicação e veja como ficou:


Clique na imagem para ampliar

Informe os dados e clique no bot√£o cadastrar e se der tudo certo, a mensag em de sucesso ir√° aparecer conforme abaixo:


Clique na imagem para ampliar

Gostaria de lembrar que neste artigo é apenas um exemplo de como podemos utilizar a DLL GenericDataBase, tem várias melhorias que podem ser feitas para deixar um código mais seguro para desenvolvermos em meio profissional.

No próximo artigo irei mostrar como exibir os dados cadastrados utilizando a DLL GenericDataBase.

Até a próxima.