ASP - Cadastro On-line com foto


 

Neste artigo irei mostrar como você pode criar um cadastro com páginas dinâmicas em ASP com foto. Na verdade este código foi ajustado de um código recebido de um colaborador anônimo a muito tempo. Remexendo o meu baú de códigos antigos encontrei-o e achei interessante. Resolvi publicar pois as vezes recebo emails solicitando algo parecido.

 

Esta aplicação ASP é muito simples e consiste basicamente em um cadastro on-line com foto com as opções de incluir , alterar, excluir e pesquisar.

 

Por questões óbvias as funções de excluir e incluir estão desabilitadas. (credite isto na conta dos espíritos de porcos que vicejam na web...)

 

A aplicação usa um banco de dados Access - cadastro.mdb-  onde armazena os dados em uma tabela chamada contato. Abaixo a estrutura e os dados que eu já inclui na tabela como exemplo:

 

 

 

Os arquivos que compõem a aplicação são :

Todos os arquivos acima e o banco de dados contato.mdb e o arquivo nd.jpg devem estar em uma mesma pasta de trabalho ou diretório virtual. (Você pode alterar o local do banco de dados desde que faça isto no código também). Eu realizei os testes usando o IIS onde criei uma pasta chamada cadastro no caminho x:\inetpub\wwwroot.

 

Eu não vou colocar o código de cada página pois ocuparia muito espaço e ficaria confuso para ler, mas vou destacar os trechos de código mais importantes em cada funcionalidade:

 

A primeira página a ser exibida é a página procura.asp. Isto porque o código da página index.asp que é primeira a ser carregada direciona para a página procura.asp. Abaixo temos o código da página index.asp.

 

<html>
<head>
<title>Cadastro em ASP com foto</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
//-->
</script>
</head>
<LINK REL=stylesheet HREF="liks_etc.css" TYPE="text/css">
<body onLoad="MM_goToURL('parent','procura.asp');return document.MM_returnValue">
</body>
</html>

 

 

Na página procura.asp , além de uma função JavaScript que retira o acento das letras que estou exibindo abaixo:

 

'#Função que tira todos os acentos das palavras
function TiraAcento(StrAcento)
 for i = 1 to len(StrAcento) 
  Letra = mid(StrAcento, i, 1)
  Select Case Letra
   Case "á","Á","à","À","ã","Ã","â","Â","â","ä","Ä"
   Letra = "A"
   Case "é","É","ê","Ê","Ë","ë","È","è"
   Letra = "E"
   Case "í","Í","ï","Ï","Ì","ì"
   Letra = "I"
   Case "ó","Ó","ô","Ô","õ","Õ","ö","Ö","ò","Ò"
   Letra = "O"
   Case "ú","Ú","Ù","ù","ú","û","ü","Ü","Û"
   Letra = "U"
   Case "ç","Ç"
   Letra = "C"
   Case "ñ"
   Letra = "N"
  End Select
  texto = texto & Letra
 next
 TiraAcento = texto
end function 

 

 

destaco o trecho de código abaixo que define o caminho da base de dados cadastro.mdb (Server.MapPath) e da string de conexão usando um provedor OLEBD.

 

If strSearch <> "" Then

strDBPath = Server.MapPath("cadastro.mdb")
Const adUseClient = 3

Set cnnSearch = Server.CreateObject("ADODB.Connection")
	
cnnSearch.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & ";"
cnnSearch.CursorLocation = adUseClient

strSQL = "SELECT nome, telefone, email, foto " _
		& "FROM contato " _
		& "WHERE telefone LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
		& "OR email LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
		& "ORDER BY nome;"

	Set rstSearch = cnnSearch.Execute(strSQL)

 

 

Em todas as páginas onde a conexão com a base de dados é necessária usamos o mesmo esquema.

 

Poderiamos ter usando uma conexão ODBC da seguinte forma :

 

objConn.Open "DBQ=" & Server.MapPath("contato.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"

 

mas  não é aconselhável usar uma conexão ODBC visto que um provedor OLE DB fornece melhor desempenho.

 

As rotinas para incluir , alterar e excluir dados usam instruções SQL do tipo:

E tem as instruções executados sempre pela seguinte linha de código : Set ObjRs = objConn.Execute(strQuery)

 

'Executa a inserção no Banco de Dados 
Set ObjRs = objConn.Execute(strQuery)
'Fecha o Objeto de Conexão
objConn.close
'"APAGA" qualquer instancia que possa ter no objeto objRs e objConn
Set objRs = Nothing
Set objConn = Nothing

 

 

Creio que será melhor você acessar a aplicação on-line em :  http://www.macoratti.net/cadastro/

 

Pegue o código completo aqui e bom estudo :  cadastroonline.zip

 

No próximo artigo ASP irei publicar uma loja virtual completa para você usar. Aguarde...

 

Até o próximo artigo ASP...

Referências:


José Carlos Macoratti