Ir para conteúdo

POWERED BY:

Arquivado

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

flneves

[Resolvido] Erro no EOF BOF

Recommended Posts

Pessoal fiz um login, mas quando redireciona para a página da o erro abaixo no recordset reconhecendo o nome do usuário, optado no campo login.

 

 

ADODB.Field error '800a0bcd' 

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record. 

/amb_seg/index.asp, line 91

Vale ressaltar que o banco não está vazio.

 

O código está abaixo:

 

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

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

<%

' *** Logout the current user.

MM_Logout = CStr(Request.ServerVariables("URL")) & "?MM_Logoutnow=1"

If (CStr(Request("MM_Logoutnow")) = "1") Then

Session.Contents.Remove("MM_Username")

Session.Contents.Remove("MM_UserAuthorization")

MM_logoutRedirectPage = "../index.asp"

' redirect with URL parameters (remove the "MM_Logoutnow" query param).

if (MM_logoutRedirectPage = "") Then MM_logoutRedirectPage = CStr(Request.ServerVariables("URL"))

If (InStr(1, UC_redirectPage, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then

MM_newQS = "?"

For Each Item In Request.QueryString

If (Item <> "MM_Logoutnow") Then

If (Len(MM_newQS) > 1) Then MM_newQS = MM_newQS & "&"

MM_newQS = MM_newQS & Item & "=" & Server.URLencode(Request.QueryString(Item))

End If

Next

if (Len(MM_newQS) > 1) Then MM_logoutRedirectPage = MM_logoutRedirectPage & MM_newQS

End If

Response.Redirect(MM_logoutRedirectPage)

End If

%>

 

<%

' *** Restrict Access To Page: Grant or deny access to this page

MM_authorizedUsers=""

MM_authFailedURL="../index.asp"

MM_grantAccess=false

If Session("MM_Username") <> "" Then

If (true Or CStr(Session("MM_UserAuthorization"))="") Or _

(InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization"))>=1) Then

MM_grantAccess = true

End If

End If

If Not MM_grantAccess Then

MM_qsChar = "?"

If (InStr(1,MM_authFailedURL,"?") >= 1) Then MM_qsChar = "&"

MM_referrer = Request.ServerVariables("URL")

if (Len(Request.QueryString()) > 0) Then MM_referrer = MM_referrer & "?" & Request.QueryString()

MM_authFailedURL = MM_authFailedURL & MM_qsChar & "accessdenied=" & Server.URLEncode(MM_referrer)

Response.Redirect(MM_authFailedURL)

End If

%>

<%

Dim d_pessoais__MMColParam

d_pessoais__MMColParam = "1"

If (Session("login") <> "") Then

d_pessoais__MMColParam = Session("login")

End If

%>

<%

Dim d_pessoais

Dim d_pessoais_numRows

 

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

d_pessoais.ActiveConnection = MM_con_adm_STRING

d_pessoais.Source = "SELECT * FROM usuário WHERE login = '" + Replace(d_pessoais__MMColParam, "'", "''") + "'"

d_pessoais.CursorType = 0

d_pessoais.CursorLocation = 2

d_pessoais.LockType = 1

d_pessoais.Open()

 

d_pessoais_numRows = 0

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<title>Página do Administrador</title>

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

<style type="text/css">

<!--

body,td,th {

font-family: Verdana, Arial, Helvetica, sans-serif;

font-size: 10px;

}

.style1 {

font-size: 24px;

font-weight: bold;

}

-->

</style></head>

 

<body>

<table width="100%" border="0">

<tr>

<td><span class="style1">Logomarca</span></td>

</tr>

<tr>

<td><div align="right">Bem vindo<%=(d_pessoais.Fields.Item("nome").Value)%>!</div></td>

</tr>

<tr>

<td><div align="right"><a href="<%= MM_Logout %>">

 

Sair da página</a> </div></td>

</tr>

</table>

<p> </p>

<p> </p>

<table width="100%" border="0">

<tr>

<td width="18%">Meu currículo </td>

<td width="51%"> </td>

<td width="31%"><div align="center">Minhas anotações </div></td>

</tr>

<tr>

<td>Meus arquivos </td>

<td> </td>

<td><div align="right">Postada dia: </div></td>

</tr>

<tr>

<td>Minhas anotações </td>

<td> </td>

<td rowspan="4" valign="top"><div align="justify"></div></td>

</tr>

<tr>

<td>Fórum</td>

<td> </td>

</tr>

<tr>

<td>Meus contatos </td>

<td> </td>

</tr>

<tr>

<td>Agenda</td>

<td> </td>

</tr>

<tr>

<td> </td>

<td> </td>

<td valign="top" bgcolor="#FFFF00"><div align="center">Ver todas anotações </div></td>

</tr>

</table>

<p> </p>

</body>

</html>

<%

d_pessoais.Close()

Set d_pessoais = Nothing

%>

 

Obrigado a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro penso que esta aqui:

d_pessoais.Close()
Set d_pessoais = Nothing

coloque apenas isso:

Set d_pessoais = Nothing

você está fechando um objecto e depois setando (set), logo ele não existe mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao é bem assim nao Filipe

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro é porque ele esta tentando exibir um valor que nao foi retornado na consulta

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro é porque ele esta tentando exibir um valor que nao foi retornado na consulta

 

Isso ae Mario!

 

O erro é nesta linha:

 

<td><div align="right">Bem vindo<%=(d_pessoais.Fields.Item("nome").Value)%>!</div></td>

Mas a informação esta na tabela e existem campos cadastrados...

 

Da uma força ae!

Compartilhar este post


Link para o post
Compartilhar em outros sites

sua consulta naum esta retornando resultado.. tem q tratar isso no codigo da aplicacao...

algo comoÇ

<td><div align="right">
Bem vindo<%if d_pessoais.EOF = false then response.write (" "+d_pessoais("nome")) end if%>!
</div></td>
´

 

mas de boa.. naum usa esse wizard do dreamweaver q eh muito zuado essa bagaça!

 

abs,

ska!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usei o código postado abaixo, porém esperava ter como resposta o nome do usuário mas ficou em branco o campo. Creio que o código não esta conseguindo ler o campo do bd! To certo?

 

Abraços

 

sua consulta naum esta retornando resultado.. tem q tratar isso no codigo da aplicacao...

algo comoÇ

<td><div align="right">
Bem vindo<%if d_pessoais.EOF = false then response.write (" "+d_pessoais("nome")) end if%>!
</div></td>
´

 

mas de boa.. naum usa esse wizard do dreamweaver q eh muito zuado essa bagaça!

 

abs,

ska!

Compartilhar este post


Link para o post
Compartilhar em outros sites

de um response.write nisso

 

"SELECT * FROM usuário WHERE login = '" + Replace(d_pessoais__MMColParam, "'", "''") + "'"

 

e poste o resultado aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mario,

 

 

Retornou:

 

 

Bem vindoSELECT * FROM usuário WHERE login = '1'!

 

Segue abaixo como ficou o código com as alterações feitas:

 

 

<td><div align="right">Bem vindo<%response.write "SELECT * FROM usuário WHERE login = '" + Replace(d_pessoais__MMColParam, "'", "''") + "'" %>!</div></td>

 

 

O que devo fazer para corrigir?

 

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

e existe algum login com este valor 1?

Compartilhar este post


Link para o post
Compartilhar em outros sites

veja ai mas este é o motivo de estar vindo sem resultado

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro é porque ele esta tentando exibir um valor que nao foi retornado na consulta

Ok Mario, realmente o problema dele não era isso, rsrs! mas acontece que vai da erro naquela linha tbm apos resolver esse, ele esta fechando o o bjecto e depois setando o que vai da erro tbm, mas pronto.

Desculpa por não ajudar, como não tinha a linha pensei que poderia ser esse o erro, porque se não me engano, retorna o mesmo erro para as duas cituações.

 

Entretanto posso dar um conselho? mude o seu codigo, não use nada do dreamweaver ou esses programas, bagunç demais o codigo, podes fazer assim:

set rs = server.CreateObject("adodb.recordset")
sql = "select campos from tabela"
rs.open sql,Conn,3,3

depois para capturar o valor de um campo basta você fazer isso: <%=rs("nome_do_campo")%>, isso se for dentro do html, se for dentro das tags asp basta apenas o rs("nome_do_campo").

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos aguardar um retorno do usuario pois ele ta seelcionando um login = 1 que ele ja afirmou qeu nao existe e é esse o erro

 

Fechar objeto que foi aberto e depois setar como nada é normal e correto

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos aguardar um retorno do usuario pois ele ta seelcionando um login = 1 que ele ja afirmou qeu nao existe e é esse o erro

 

Fechar objeto que foi aberto e depois setar como nada é normal e correto

Epa, tens razão, é ao contrario que daria erro, peço perdão, me enganei.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tranquilo filipe

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom qeu resolveu

 

Abraços

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.