Conheça o Plugfeed | » Início » Desenvolvimento » Inclusão de Dados - ASP Orientado a Objetos
Conheça o Plugfeed | » Início » Desenvolvimento » Inclusão de Dados - ASP Orientado a Objetos -->
 
Avaliação: | Publicado em: 16/12/2008
Inclusão de Dados - ASP Orientado a Objetos
Edson Junior Desenvolver WEB desde 2000, atualmente trabalhando em uma consultoria de grande porte.
Inclusão de Dados - ASP Orientado a Objetos

Bom, vamos lá.

A programação orientada a objetos consiste teóricamente em utilizar das propriedades e métodos do objeto criado para executar procedimentos, sejam eles, configurar uma nova classe, passar valores, enfim, são inúmeras as vantagens.

Nesse tutorial utilizaremos apenas 2 arquivos, um com o formulário para digitação dos dados e, outro arquivo onde as classes estarão contidas. Essas classes serão as responsáveis pela recuperação dos dados, etc.

*Obs: Numa aplicação orientada a objetos e com Objetos de Negócios (BO) podemos usar várias classes sendo que, tais classes terão métodos, subs e functions para diversos fins.

Chega de blá blá blá, vamos ao que interessa.

Nosso primeiro arquivo terá o nome incluir.asp e, abaixo temos seu código:

<!--#include file="classe.asp"-->
<!--#include file="_database.asp"-->
<%
if request("bt") = "0" then
'Chamando a classe que possui a função incluir que grava no banco de dados
dim ag
'Criamos uma nova instancia com nome "ag" a qual utilizara as funções da classe "agenda"
set ag = new agenda

'é aqui que começa a mágica, através do nosso querido "ag" podemos manipular dados, informações e quaisquer
'procedimentos que configurarmos e setarmos nas funções do arquivo classe.asp
'atribui os valores digitados nos campos àquelas variáveis que criamos na classe. Lembra?
'abaixo estamos recuperando os valores do formulário como nome,endereco, etc
ag.Nome = request("nome")
ag.Endereco = request("endereco")
ag.Telefone = request("telefone")
ag.Email = request("email")

'Aqui usamos nosso amigo "ag" e, seu método incluir para cadastro dos dados
ag.incluir

'Aqui seria opcional e personalizável, podemos colocar a msg dentro da função de inclusão mas, para não adentrarmos muito no js , etc coloquei aqui mesmo
response.Write("<script>javascript:alert('Dados incluido com sucesso...');</script>")
end if

%>
<html>
<head>
<title>Exemplo ASP - Classes</title>
<script>
// o script abaixo recupera os dados do form e submete os dados uma vez que não colocamos um ACTION
function clicou()
{
FormIncluir.bt.value = 0;
FormIncluir.action = 'incluir.asp'
FormIncluir.submit();
}
</script>
</head>
<body>
<form name="FormIncluir" method="post">
<table width="42%" border="0" cellspacing="1" cellpadding="1" align="center">
<tr>
<td width="13%">Nome:</td>
<td width="87%">
<input type="tex" name="nome" size="50">
</td>
</tr>
<tr>
<td>Endereço:</td>
<td>
<input type="text" name="endereco" size="40">
</td>
</tr>
<tr>
<td>Telefone:</td>
<td>
<input type="text" name="telefone" size="20">
</td>
</tr>
<tr>
<td>E-mail:</td>
<td>
<input type="text" name="email" size="60">
</td>
</tr>
<tr>
<td colspan="2" align="center" height="40">
<input type="button" name="gravar" value=" Gravar " onClick="clicou();">
</td>
</tr>
</table>
<input type="hidden" name="bt">
</form>
</body>
</html>


Com o formulário anterior pronto e salvo, vamos criar o include que terá nossa string de banco de dados "_database.asp" e também nosso arquivo "classe.asp" o qual terá todas as funções para manipulação da aplicação e também nossa classe Agenda.

Salve-o como _database.asp
"lembre de salvar na mesma pasta do arquivo incluir.asp"

'Nesse caso estamos usando uma base Access chamada agenda.mdb com a tabela TB_CONTATOS com os campos abaixo:
'nome
'endereco
'telefone
'email

<%
Db_Agenda = "Provider=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE=" & Server.MapPath(".") & "agenda.mdb;"
%>

Para finalizar, vamos criar agora nosso arquivo classe.asp, é nele que teremos a manipulação dos dados e inclusão no banco. Segue o código abaixo:


<%
'nome da classe

Class Agenda

'definição das variáveis que serão utilizadas para guardar as informações<br/> Dim Nome,Endereco,Telefone,Email, Id
'variável que fará a conexão com o banco
Private Conex
'*** variáveis privadas são utilizadas apenas na Classe
'a sub classe Initialize é responsável pela inicialização de parametros e demais informações da classe, ou seja, ao ser chamada ela aloca as informações na memória para nossa aplicação
Sub Class_Initialize()
'setamos o objeto Connection chamando-o de Conex
Set Conex = CreateObject("ADODB.Connection")
'Abrimos a conexão com o banco
Conex.Open Db_Agenda
End Sub

'a Sub classe terminate faz o oposto da Initialize, ou seja, libera as informações da memória, destroi objetos, etc.
' no nosso caso, estamos fechando e destruindo o objeto de conexão
Sub Class_Terminate()
Set Conex = Nothing
End Sub

'função para inclusão dos dados
Sub Incluir
Conex.Execute("INSERT INTO TB_Contatos(Nome,Endereco,Telefone,Email) VALUES ('"& Nome &"','"& Endereco &"','"& Telefone &"','"& Email &"')")
End Sub

End Class
%>

Espero ter sido claro no que se refere a utilização de orientação a objetos no ASP, não é nenhum bicho de 7 cabeças mas, requer um pouco mais de planejamento para as aplicações. Com o tempo, podemos otimizar nosso código fazendo com que a aplicação fique melhor, mais segura, mais rápida, mais gerenciável e muito mais fácil de ter manutenção, enfim, só existem vantagens de tal prática. . Nos próximos artigos veremos como exibir, excluir e alterar os dados também com orientação a objetos (OO).

Até a próxima

Arquivos anexos ao artigo

Não funcionou =/
Está FAltando um arquivo "c_incluir.asp"

Ele faz uma chamada desde arquivo no "incluir.asp" e não funciona não alimenta o banco de dados ....
Michael, identifiquei os erros q, por sinal eram de grafia e já corrigi, mil desculpas......... enviei os arquivos corrigidos para seu email.
Eu sou um merda mesmo!

desistir de ser programador!
=/
não deu certo
vc pode mandar as correções pro meu e-mail tambem?
Edina, bom dia.
Efetuei um teste e o exemplo está funcionando normalmente pois as correções já foram aplicadas ao tutorial.
Também, no próprio tutorial está disponibilizado a Versão 2 do tutorial, com as correções.
Mas, em todo caso também enviei para seu email, qualquer dúvida pode entrar em contato comigo.
Abraços








Um produto Detetive.net