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

Erro No Recordset


jariju

Pergunta

Boa tarde !!!

Estou com uma grande dúvida: Várias vezes criei um sistema de login, e logo utilizava a sessão criada para filtrar os registros da tabelas que utilizo no site. Agora estou criando da mesma forma, só que está dando o seguinte erro:

Tipo de erro:

ADODB.Field (0x800A0BCD)

BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo requer um registro atual.

/intranet/municipios/lista_municipio.asp, line 458

O erro acima é exibido somente quando uso o critério = no Recordset , se utilizar LIKE ou outro o erro não é exibido, e sim um registro que corresponda a consulta. Sempre utilizei o mesmo procedimento que estou utilizando agora, e não deu erro. Já estou a uma semana fazendo vários teste e não consegui resolver o problema, a única conclusão que cheguei foi que não posso utilizar o = , e na verdade preciso que o registro seja igual. Se alguém puder me ajudar vou ficar muito agradecido

----------------------------------------------------------------------------------------------

Eis o código que está dando erro:

Editado por Deividy
Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Esses códigos prontos do DW... param de funcionar de uma hora pra outra!

Mas, a página anterior a a página que esta este código é a página que contém o formulário de login??

Caso nqao seja dê uma olhada neste post http://scriptbrasil.com.br/forum/index.php...ic=67643&hl=bug

* Obs: Mude a varriavel de sessão do contrário o código de restrição da página não servirá para nada, já que se alguém se logar em outro sistema de login que tenha feito no dw ele poderá acesar sua página restrita sem se logar no seu site.

Link para o comentário
Compartilhar em outros sites

  • 0

Cara desculpa mas eu sinceramente não estou conseguindo achar o erro assim só olhando (já que não estou podendo testar seu codigo) - devo estar cego pois normamelnte eles são as coisas mais absurdas -, seguinte espere o moderador da sala para ver se ele consegue achar o erro...

Cheguei até a pensar que pudesse ser um valor inesperado que estava sendo retornado no

Link para o comentário
Compartilhar em outros sites

  • 0

Fiz tudo novamente, inclusive um novo banco, criei a página de login ( CHAMADA login.asp ) e uma que deveria recever os dados após o filtro ( SESSÃO ).

O resultado foi erro novamente. Estou deixando o código que desta fez está mais limpo.

-------------------------------------------------------------

Página de Login ( login.asp )

-------------------------------------------------------------

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>

<!--#include file="Connections/teste.asp" -->

<%

' *** Validate request to log in to this site.

MM_LoginAction = Request.ServerVariables("URL")

If Request.QueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + Request.QueryString

MM_valUsername=CStr(Request.Form("usuario"))

If MM_valUsername <> "" Then

MM_fldUserAuthorization=""

MM_redirectLoginSuccess="teste.asp"

MM_redirectLoginFailed="login.asp"

MM_flag="ADODB.Recordset"

set MM_rsUser = Server.CreateObject(MM_flag)

MM_rsUser.ActiveConnection = MM_teste_STRING

MM_rsUser.Source = "SELECT usuario, senha"

If MM_fldUserAuthorization <> "" Then MM_rsUser.Source = MM_rsUser.Source & "," & MM_fldUserAuthorization

MM_rsUser.Source = MM_rsUser.Source & " FROM user WHERE usuario='" & Replace(MM_valUsername,"'","''") &"' AND senha='" & Replace(Request.Form("senha"),"'","''") & "'"

MM_rsUser.CursorType = 0

MM_rsUser.CursorLocation = 2

MM_rsUser.LockType = 3

MM_rsUser.Open

If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then

' username and password match - this is a valid user

Session("MM_Username") = MM_valUsername

If (MM_fldUserAuthorization <> "") Then

Session("MM_UserAuthorization") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value)

Else

Session("MM_UserAuthorization") = ""

End If

if CStr(Request.QueryString("accessdenied")) <> "" And false Then

MM_redirectLoginSuccess = Request.QueryString("accessdenied")

End If

MM_rsUser.Close

Response.Redirect(MM_redirectLoginSuccess)

End If

MM_rsUser.Close

Response.Redirect(MM_redirectLoginFailed)

End If

%>

<html>

<head>

<title>Documento sem t&iacute;tulo</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body>

<form action="<%=MM_LoginAction%>" method="POST" name="formulario" id="formulario">

<input name="usuario" type="text" id="usuario">

<input name="senha" type="password" id="senha">

<input type="submit" name="Submit" value="Login">

</form>

</body>

</html>

-----------------------------------------

Página que é exibido o erro e que deveria exibir o nome do usuário após ter filtrado a variável de sessão: ( teste.asp )

-----------------------------------------

<%@LANGUAGE="VBSCRIPT"%>

<!--#include file="Connections/teste.asp" -->

<%

Dim Rs_usuario__MMColParam

Rs_usuario__MMColParam = "1"

If (Request.Form("MM_username") <> "") Then

Rs_usuario__MMColParam = Request.Form("MM_username")

End If

%>

<%

Dim Rs_usuario

Dim Rs_usuario_numRows

Set Rs_usuario = Server.CreateObject("ADODB.Recordset")

Rs_usuario.ActiveConnection = MM_teste_STRING

Rs_usuario.Source = "SELECT * FROM user WHERE usuario = '" + Replace(Rs_usuario__MMColParam, "'", "''") + "'"

Rs_usuario.CursorType = 0

Rs_usuario.CursorLocation = 2

Rs_usuario.LockType = 1

Rs_usuario.Open()

Rs_usuario_numRows = 0

%>

<html>

<head>

<title>Documento sem t&iacute;tulo</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body>

<div align="center">

<p>&nbsp;</p>

<p>Aqui est&aacute; o filtro da vari&aacute;vel de Sess&atilde;o: <%=(Rs_usuario.Fields.Item("nome").Value)%></p>

</div>

</body>

</html>

<%

Rs_usuario.Close()

Set Rs_usuario = Nothing

%>

------------------------------------------------------------------

Se usar LIKE onde uso = , funciona normal !!!

Link para o comentário
Compartilhar em outros sites

  • 0

bom qual é o erro que aparece nessa tela que você fez aqui por ultimo?

porque é assim se você quer faze uma busca com o login pelo que entendi você precisa que acessão aparece nessa tela cosia que naõ acontece!

então explica melhor o que deseja com esse código ai e se o mesmo ai em cima esta dando erro!

Se usar LIKE onde uso = , funciona normal !!!

é assim like substue o igual se usar o LIKE precisa de %%

Link para o comentário
Compartilhar em outros sites

  • 0

Cara o que aconteceu comigo foi o seguinte

quando ele da esse tipo de erro porque não tem uma condiçao

if (sua variavel) then

response.write "NENHUM REGISTRO ENCONTRADO"

response.end

end if

Link para o comentário
Compartilhar em outros sites

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...