Ir para conteúdo

POWERED BY:

Arquivado

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

Paulo Cézar Júnior

Ocorre erro depois que paginei.

Recommended Posts

http://forum.imasters.com.br/public/style_emoticons/default/excl.gif Oi pessoal beleza...

 

Estou com um problema do qual não consegui resolver de jeito nenhum. Eu tenho um sistema de login que usa global.asa. Ele funcionava perfeitamente, mas no momento em que fui fazer a paginação para exibir as informações de acesso do usuário de forma mais organizada começou esse problema.

 

O erro é este:

 

ADODB.Recordset error '800a0cc1'

Item cannot be found in the collection corresponding to the requested name or ordinal.

 

/login5/home.asp, line 42

 

Na linha 42 eu tenho isso: Response.Write "<p class=FieldLabel>Histórico do usúario: " & rs("FirstName") & " " & rs("LastName") & " (" & rs("UserName") & ")</p>"

 

Download do banco de dados para verificar que os nomes dos campos estão corretos

 

Abaixo disponibilizo o código completo da página para ajudar a entender melhor o problema. Muito obrigado.

 

<%@ Language=VBScript %><%Response.Expires = 0%><%Response.Buffer = true%><!--#include file="verify_login.asp"--><!--#include file="header.asp"--><center>  <%user = Session("member") set rs_log = server.CreateObject ("ADODB.Recordset")query = "SELECT * FROM User_logTime WHERE offline=True AND user_id=" & user & " ORDER BY id DESC"rs_log.Open query, Application("connString"), 3if not rs_log.eof then  set rs = server.CreateObject ("ADODB.Recordset") RS.PageSize = 5 query = "SELECT * FROM Members WHERE id=" & user rs.Open query, Application("connString"), 3, 3 IF RS.EOF then 	Response.Write "nenhum registro encontrado"	Response.End 	ELSE   IF Request.QueryString("pagina")="" then 	 intpagina=1   ELSE	 IF cint(Request.QueryString("pagina"))<1 then		intpagina=1 	 ELSE		IF cint(Request.QueryString("pagina"))> RS.PageCount then 		   intpagina=RS.PageCount 		ELSE		   intpagina=Request.QueryString("pagina")		END IF	 END IF  END IFEND IF	   RS.AbsolutePage=intpagina intrec=0 While intrec < RS.PageSize and not RS.EOF	 Response.Write "<p class=FieldLabel>Histórico do usúario: " & rs("FirstName") & " " & rs("LastName") & " (" & rs("UserName") & ")</p>" rs.Close rs.Open "SELECT DISTINCT user_id FROM User_LogTime WHERE offline=False", Application("connString"), 3 online = rs.RecordCount  Response.Write "<table cellspacing=2 cellpadding=2 width=50% >" Response.Write "<tr bgcolor=#333366>" Response.Write "<td><font class=colltitle>Sessão N.º:</a></td>" Response.Write "<td><font class=colltitle>Data e Hora do Login:</a></td>" Response.Write "<td><font class=colltitle>Data e Hora do Logout:</a></td>" Response.Write "<td><font class=colltitle>IP:</a></td>" Response.Write "</tr>" & vbcrlf  RS.MoveNext intrec=intrec+1  IF RS.EOF then 	 response.write " "   END IFWendrs.Close  set rs = nothingIF intpagina > 1 then %>   <a href="home.asp?pagina=<%=intpagina-1%>">Anterior</a> <% END IFIF strcomp(intpagina,RS.PageCount) <> 0 then %>   <a href="home.asp?pagina=<%=intpagina + 1%>">Próxima</a> <% END IF%><%    i = 1 while not rs_Log.EOF   if i mod 2 then    Response.Write "<tr class=defaultsmall>"  else   Response.Write "<tr class=defaultsmall bgcolor=#dedede>"  end if  Response.Write "<td>" & rs_Log("SID") & "</td>"  Response.Write "<td>" & rs_Log("Login_Time") & "</td>"  if rs_Log("Logout_Time") <> "" then    Response.Write "<td>" & rs_Log("Logout_Time") & "</td>"  else   Response.Write "<td>N/A</td>"  end if  Response.Write "<td>" & rs_Log("user_ip") & "</td>"  Response.Write "</tr>" & vbcrlf  i = i + 1  rs_Log.MoveNext  wend Response.Write "</table>"  Response.Write "<p class=defaultsmall>" & online & " usúario(s) online.</p>"	else Response.Write "<p class=FieldLabel>Este é seu primeiro acesso ao sistema.<br> Você ainda não tem histórico, faça o logout e logue-se novamente.</p>"end ifrs_Log.Close set rs_Log = nothing%> <a href='logout.asp' class=errmsg>Logout!</a> </center>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lucas obrigado pela ajuda.

 

Eu já verifiquei isso e está sim. Pra você confirmar o que eu falo faça o download do db neste link seguro.

Banco de dados Acesso

 

Eu estive pensando será que essa dificuldade da página localizar o campo não está no Global.asa do meu site que também é responsável por fazer a conexão deste sistema d elogin...

 

Veja código do Global.asa:

 

<script language="VBScript" runat="server">'Inicia as variaveis de aplicaçãoSub Application_onStart()		' - - - -Conexao com o banco de dados - -- - -- - -- --- - -  - - --  	Application("Connection") = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=C:\Domains\noticiaregional.com.br\db\noticias.mdb;"		Application("connString") = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Domains\noticiaregional.com.br\db\acesso.mdb"End SubSub Session_OnEnd	set conn = Server.CreateObject ("ADODB.Connection")	conn.Open Application("connString")	'	Update the record when the user logout and write the logout time plus it sets the user as OFFLINE.	query = "UPDATE User_LogTime SET Logout_Time=#" & now() & "#, offline=True WHERE offline=False AND SID=" & Session.SessionID & " AND user_id=" & Session("member")	conn.Execute (query)	conn.Close	set conn = Nothing	End SubSub Session_onStart()	Session.Timeout = 20 	Session.LCID = 1046 End Sub</script>

Espero que possam me ajudar. Obrigado.

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.