Foros del Web » Programando para Internet » ASP Clásico »

otro problema ADODB.Field (0x800A0BCD)

Estas en el tema de otro problema ADODB.Field (0x800A0BCD) en el foro de ASP Clásico en Foros del Web. ADODB.Field (0x800A0BCD) El valor de BOF o EOF es True, o el actual registro se eliminó; la operación solicitada requiere un registro actual. hola amigo ...
  #1 (permalink)  
Antiguo 29/10/2007, 17:33
 
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 16 años, 6 meses
Puntos: 0
Pregunta otro problema ADODB.Field (0x800A0BCD)

ADODB.Field (0x800A0BCD)
El valor de BOF o EOF es True, o el actual registro se eliminó; la operación solicitada requiere un registro actual.

hola amigo ese problema me esta matando...
aqui coloco el codigo..

<%@ Language="VBScript" %>
<% Option Explicit %>
<%
Dim user,pass

user = LCASE(Request.Form("username"))
pass = Request.Form("password")
%>
<!--#include file="dbconn.asp"-->
<%
IF user = "" Then
error("emptyuname")
ELSEIF pass = "" Then
error("emptypass")
ELSE
IF user = "admin" Then
Dim sql,rsUser,lpass
sql = "SELECT pass FROM Users WHERE username = 'admin'"
Set rsUser = Server.CreateObject("ADODB.Recordset")
rsuser.Open sql, dbconn, 3, 3
lpass = rsUser("pass")
rsUser.close
set rsUser = nothing
IF pass = lpass Then
Session("username") = "admin"
Response.Redirect("index.asp")
ELSE
error("wrongp")
END IF
ELSE
error("wrongu")
END IF

END IF
%>

<%FUNCTION error(calltype)%>
<!--#include file="head.asp"-->
<br><br><br>
<table Align="center" vAlign="center" width="500">
<tr>
<td Align="center">
<h3>LOGIN ERROR</h3>
</td>
</tr>
<tr>
<td Align="center">
<%IF calltype = "emptyuname" Then%>
<font size="2">You can`t enter any username in username field.</font>
<%ELSEIF calltype = "emptypass" Then%>
<font size="2">You can`t enter any password in password field.</font>
<%ELSEIF calltype = "wrongp" Then%>
<font size="2">Your password is wrong.</font>
<%ELSEIF calltype = "wrongu" Then%>
<font size="2">This section is only for Admin.</font>
<%END IF%>
</td>
</tr>
</table>

<br><center><a href="javascript:history.back()"> Please click here to go back and make changes</a> </center>


<!--#include file="footer.asp"-->
<%END FUNCTION%>

no se como arreglar esto.... pueden mirar el codigo y decirme que pasa ..
  #2 (permalink)  
Antiguo 29/10/2007, 18:23
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 5 meses
Puntos: 8
Re: otro problema ADODB.Field (0x800A0BCD)

Que tal Gabo.

No nos dices en que línea te esta marcando el error.

Observado el código una de las líneas donde puediera estar el error es en:
Código:
lpass = rsUser("pass")
Y eso pudiera ser porque el query:
Código:
SELECT pass FROM Users WHERE username = 'admin'
No esta generando resultados, y por lo tanto el recordset esta vacío.

Saludos!
  #3 (permalink)  
Antiguo 30/10/2007, 00:25
 
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: otro problema ADODB.Field (0x800A0BCD)

hola esta es la linea donde me da el error me podrias decir como solucionar el problemas por favor...

Tipo de error:
ADODB.Field (0x800A0BCD)
El valor de BOF o EOF es True, o el actual registro se eliminó; la operación solicitada requiere un registro actual.
/usermanager/admin/loginprocess.asp, línea 21
  #4 (permalink)  
Antiguo 30/10/2007, 08:57
 
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: otro problema ADODB.Field (0x800A0BCD)

como puedo arreglar eso alguien sabe porfavor....
muchas gracias
  #5 (permalink)  
Antiguo 30/10/2007, 10:20
 
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: otro problema ADODB.Field (0x800A0BCD)

hola amigos del foro aun busco y busco pero no se que hacer con eso del recordset esta vacío. alguien podria ayudarme por favor
  #6 (permalink)  
Antiguo 30/10/2007, 11:12
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 5 meses
Puntos: 8
Re: otro problema ADODB.Field (0x800A0BCD)

Que tal Gabo.

No dices cual es la línea 21.. pero en fin.

Cuando un recordet esta vació, antes de tratar de leer información hay que validar, por ejemplo:

Código:
if Not rsUser.EOF Then
   lpass = rsUser("pass")  'Esta es la línea donde te marca error.
Else
   lpass = ""
End If
U otra forma es meter datos a la tabla Users, donde el campo username = admin

Saludos!
  #7 (permalink)  
Antiguo 30/10/2007, 11:29
 
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: otro problema ADODB.Field (0x800A0BCD)

como se puede hacer eso de username = admin en la tabla access..
he buscado por todos lados informacion y nada espero en el foro solucionar mi problema...
  #8 (permalink)  
Antiguo 30/10/2007, 12:14
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 5 meses
Puntos: 8
Re: otro problema ADODB.Field (0x800A0BCD)

Que porcentaje sabes de Access.??
  #9 (permalink)  
Antiguo 30/10/2007, 14:22
 
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: otro problema ADODB.Field (0x800A0BCD)

no se mucho pero ya arregle el programa gracias ...

hasta pronto
  #10 (permalink)  
Antiguo 30/10/2007, 16:43
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 5 meses
Puntos: 8
Re: otro problema ADODB.Field (0x800A0BCD)

Que tal Gabo.

Si dices como solucionaste tu problema tal vez le sirva a alguien más.

Saludos!
  #11 (permalink)  
Antiguo 31/10/2007, 06:32
 
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: otro problema ADODB.Field (0x800A0BCD)

la solucion fue como tu me dijiste de esta forma agrege estas lineas

if Not rsUser.EOF Then
lpass = rsUser("pass") 'Esta es la línea donde te marca error.
Else
lpass = "tupassword"
End If

mucgas gracias....
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:48.