ASP com Procedures SQL
Criei um simples script em ASP para inserção de dados em um banco SQL por meio de procedures, assim sua aplicação se torna mais segura com um melhor desempenho, pois os dados são resolvidos(inseridos) no banco e não na página asp.
A procedure em si:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
–Cria a Procedure SP_Insere_Dados
ALTER PROCEDURE [banco].[SP_Insere_Dados]
–Passa como parâmetros para a Procedure os dados (CPF) vindosdo código ASP.
@STRACAO varchar(50)=NULL,
@CPF varchar(50)=NULL
AS
BEGIN
IF @STRACAO = ‘IN’ –aqui é recebido o paramentro definido no asp, no caso inserção
IF NOT EXISTS (SELECT CPFUsuario FROM TB_USUARIOS(NOLOCK)
WHERE CPFUsuario = @CPF
)– este if verifica se o registro já existe no banco, caso exista, ele sai do if e entra no else
BEGIN
SELECT ‘CPF CADASTRAD0’ AS RETORNO
–Executa código SQL que insere os dados no banco
INSERT INTO TB_USUARIOS(NomeUsuario,
CpfUsuario,
EnderecoUsuario,
IdadeUsuario)
VALUES(@Nome, @CPF, @Endereco, @Idade)
END
ELSE
BEGIN
SELECT ‘CPF JÁ EXISTE’ AS RETORNO
END
END
Agora o ASP
-
<!–#include file=”includes/conexao.asp”–>’aqui é feito a inclusão da conexão com o banco
-
<!–#include file=”includes/adovbs.inc”–>’aqui é feito a inclusão do adovbs.inc
-
<%
-
Dim stracao, cpf
-
stracao = “IN” ‘parametro que é passado para o sql, como visto acima
-
cpf = TRIM(REQUEST(“CPF”))
-
Set CMD = Server.CreateObject(“ADODB.Command”)
-
CMD.CommandText = “SP_Insere_Dados” ‘ definindo o nome da procedure a ser usada
-
CMD.CommandType = 4
-
CMD.ActiveConnection = Conexao
-
‘Criamos agora a parametrização dos dasdos para serem recebidos no SQL
-
CMD.Parameters.AppendCMD.CreateParameter(“@STRACAO”, advarchar,1,50)
-
CMD.Parameters.AppendCMD.CreateParameter(“@CPF”, advarchar,1,50)
-
‘Agora enviamos os dados para o SQL
-
CMD.Parameters(“@stracao”).Value = stracao
-
CMD.Parameters(“@cpf”).Value = cpf
-
Set rsRetorno = CMD.execute()
-
response.writersRetorno(“retorno”)&”<br/>”
-
%>
Este script é bem simples, basta apenas adequalo a sua aplicação.
Em breve estarei postando novos artigos.