Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

GF - Design Studio

Redirecionar página

Recommended Posts

Boa tarde pessoal,

Estou com uma dúvida e gostaria da ajuda de todos:

 

1 - Criei uma procedure no SQL Server

 

CREATE PROCEDURE dbo.SP_ITA_CONSULTA_CPF

@CPF VARCHAR(15)

AS

 

SET NOCOUNT ON

 

DECLARE @CONSULTA VARCHAR(15)

 

SET @CONSULTA = ISNULL((SELECT P1_IdCPF FROM CNTPROF WHERE P1_IdCPF=@CPF ),'0')

 

select @CONSULTA as [@OUT]

GO

 

2 - Eu preciso fazer uma verificação de CPF chamando essa procedure, ou seja quando o usuário digitar o cpf e não constar no BD, ele vai pra uma página de cadastro, ou se existir vai para alteração;

 

3 - Aqui é o código que faz a verificação do valor digitado pelo usuário.

 

<%

CPF = Request.Form("tmp_cpf")

 

SQL = "SP_ITA_CONSULTA_CPF '" & CPF & "'"

 

Set rs = DbConn.execute(SQL)

 

if not(rs.RecordCount = 0) then response.Redirect("login.asp?referer=formulario.asp&title=Altera%E7%E3o+de+Cadastro&")

%>

 

<script language="javascript">

window.location.href = 'formulario.asp?action=1';

</script>

 

4 - O que acontece é o seguinte:

Independente do valor que o usuário digita ele está sendo redirecionado para a página de alteração.

 

Gostaria muito da ajuda de vocês.

Muito obrigado pela força.

 

Bom feriado a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente trocar

if not(rs.RecordCount = 0) then response.Redirect("login.asp?referer=formulario.asp&title=Altera%E7%E3o+de+Cadastro&")
por:

if not rs.eof then response.Redirect("login.asp?referer=formulario.asp&title=Altera%E7%E3o+de+Cadastro&")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa Jonathandj,

 

Então coloquei seu código só que ele continua redirecionando para a mesma página, ou seja se eu digitar um valor "0" no textbox e pedir para consultar ele vai para a página de alteração.asp, sendo que se não existe no BD deveria para a página de inclusão...

 

Estou jogando o link ai para você ver como que funciona, caso tenha dúvidas:

 

http://www.tangram.inf.br/ita_hotsite/solicite2.asp

 

Coloque qualquer numero e veja o que acontece.

 

 

Obrigado

 

Abrcs

Compartilhar este post


Link para o post
Compartilhar em outros sites

então coloque

if rs.eof then response.Redirect("login.asp?referer=formulario.asp&title=Altera%E7%E3o+de+Cadastro&")

retirando o NOT do If

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa...

 

o código está assim:

 

if rs.eof then response.Redirect("login.asp?referer=formulario.asp&title=Altera%E7%E3o+de+Cadastro&")

 

Qualquer CPF que digito, ele não faz a verificação no BD, ou seja, independente do CPF que foi digitado ele está sempre para a página "formulario.asp".

 

Sendo que a PROCEDURE que estou pedindo para executar é essa:

 

CREATE PROCEDURE dbo.SP_ITA_CONSULTA_CPF

@CPF VARCHAR(15)

AS

 

SET NOCOUNT ON

 

DECLARE @CONSULTA VARCHAR(15)

 

SET @CONSULTA = ISNULL((SELECT P1_IdCPF FROM CNTPROF WHERE P1_IdCPF=@CPF ),'0')

 

select @CONSULTA as [@OUT]

GO

 

Essa PROCEDURE faz a verificação, mas não está me retornando se vai pra página de alteração caso exista o cpf, ou página de formulário caso não exista...

 

 

 

Obrigado!

 

Desculpe por está enxendo o saco rs.

 

Sim vi o retorno do recordset e está sendo este:

 

SP_ITA_CONSULTA_CPF '12345678900'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim vi o retorno do recordset e está sendo este:SP_ITA_CONSULTA_CPF '12345678900'

1º - Este retorno se deu na página ASP ou diretamente no SQL Server?2º - Se foi no ASP, este valor retornou quando você digitou um CPF válido? Se sim, teste passando um valor inválido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas na minha Stored Procedure, já está dizendo se caso não exista, ele retorne "0"

 

SET @CONSULTA = ISNULL((SELECT P1_IdCPF FROM CNTPROF WHERE P1_IdCPF=@CPF ),'0')

 

 

Se retornar 0 ele teria que ir para a página de formulario.asp, caso exista o CPF ele deveria ir para alteracao.asp...

 

 

Se eu executo minha Proc no Query Analyzer ele funciona de boa, colocando tanto um CPF válido como inválido.

 

 

 

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então é o seguinte, no seu if você não está checando se o retorno foi 0, mas sim se retornou ou não, considerando que no caso de nulo a stored procedure coloca 0, altere seu if desta forma e veja se funciona.

if rs.Fields(0).Value <> 0 then response.Redirect("login.asp?referer=formulario.asp&title=Altera%E7%E3o+de+Cadastro&")
Assim ele checa se retornou 0, se retornar outro valor diferente de 0 ele redireciona para a alteração.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.