Ir para conteúdo
Fórum Script Brasil
  • 0

Não mostra o Alert de jeito nenhum


Xenofonte

Pergunta

Fala Galera,

Estou com um problema aqui que está me fazendo perder muito tempo.

P.S: No SQL SERVER dá tudo certo, mas no oracle acontece o erro a seguir:

Tenho uma página em asp que está validando a senha do usuário através de uma procedure em Oracle.

Se houver algum erro na validação dessa senha, por exemplo, o usuário tenha digitado uma senha com menos de 8 caracteres. Então ele acessa a procedure e verifica que a senha tem menos de 8 caracteres, então retorna erro.

Aqui é a chamada da procedure

sRespostaAux = ValidouSenhaDocente(Csng(txt_numero_matricula),txt_senha)
Session("ResultadoError") = sRespostaAux
Dentro da FUNÇÃO ValidouSenhaDocente ele acessa a Procedure(ORACLE) e acontece o erro:
a_APrI_Ly_docente.erro :=  'A senha deve ter um mínimo de 8 caracteres.';
RETURN;
A função recebe a mensagem de erro:
ValidouSenhaDocente = cmd("erro")
Nesse momento está assim: ValidouSenhaDocente = "A senha deve ter um mínimo de 8 caracteres." sRespostaAux = "A senha deve ter um mínimo de 8 caracteres." Session("ResultadoError") = "A senha deve ter um mínimo de 8 caracteres." Agora, popula uma variável de sessão:
If sRespostaAux <> "" Then
    Session("ResultadoTratamentoSenha") = "NO"
Else
    Session("ResultadoTratamentoSenha") = "OK"
End if
Ele entrou no If, então ficou assim: Session("ResultadoTratamentoSenha") = "NO" Agora, entra no If, mas não mostra o alert com o erro na tela:
If Session("ResultadoTratamentoSenha") = "NO" Then
    Response.Write  "<script LANGUAGE=JavaScript>" & _
                    "self.alert('" & Session("ResultadoError") & "');" & _
                    "self.location.href = 'AltSenha.asp';</SCRIPT>" 
    Response.end
End if

Ou seja, era pra aparecer na página, "A senha deve ter um mínimo de 8 caracteres.". Depois ir pra página de alterar a senha

Acontece que não mostra de jeito nenhum o erro e entra normal. Mesmo eu debugando ele entra no If, mas quando dá o response.end não para e se perde.

No SQL tudo isso funciona normal, será que tem algo a ver com o Oracle? O que pode ser? Parece que a variável está recebendo espaço a mais, não sei. Já tentei passar trim, mas não deu certo.

OBS: SE EU COLOCAR O ALERT('ERRO!'), DÁ CERTO. SÓ NÃO DÁ CERTO QUANDO EU QUERO PASSAR VARIÁVEL NO ALERT. SEJA

DE SESSÃO OU NÃO.

Alguém pra ajudar?

Valeu.

Descobri que o erro é justamente na Session("ResultadoError").

Tipo quando eu dou o len(Session("ResultadoError")), me aparece 1023 caracteres.

e na mensagem de erro só são 43:

alguma coisa ta fazendo de errado

pode ser aquele negócio de unicode, asc essas coisas que não manjo.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...