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

Uso de While y EOF

Estas en el tema de Uso de While y EOF en el foro de ASP Clásico en Foros del Web. Hola tengo un pequeño problema al tratar de mostrar mis registros en una tabla hago lo siguiente: <% Set RsDatos = Server.CreateObject("ADODB.RecordSet") SQL="Select * From ...
  #1 (permalink)  
Antiguo 11/04/2005, 15:03
 
Fecha de Ingreso: abril-2005
Mensajes: 137
Antigüedad: 19 años, 2 meses
Puntos: 0
Uso de While y EOF

Hola
tengo un pequeño problema al tratar de mostrar mis registros en una tabla
hago lo siguiente:

<%
Set RsDatos = Server.CreateObject("ADODB.RecordSet")
SQL="Select * From Tabla"
RsDatos.Open SQL, Conexion, 3
If RsDatos.RecordCount > 0 Then
While Not RsDatos.EOF
--Mostrar Registros
RsDatos.MoveNext
Wend
End If
%>

al ejecutar la pagina ASP me despliega el siguiente error:
El Actual registro es EOF o BOF o fue eliminado
Es necesario un registro actual.


¿¿¿QUE PUEDO HACER???
marcocho
  #2 (permalink)  
Antiguo 11/04/2005, 15:05
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
En logar de preguntar RsDatos.RecordCount > 0, pregunta If Not RsDatos.EOF
  #3 (permalink)  
Antiguo 11/04/2005, 15:33
Avatar de skatomundo  
Fecha de Ingreso: junio-2002
Ubicación: Santiago - CL
Mensajes: 2.532
Antigüedad: 22 años
Puntos: 125
Código:
Set RsDatos = Server.CreateObject("ADODB.RecordSet")
SQL="Select * From Tabla"
RsDatos.Open SQL, Conexion, 3
if not rsDatos.eof then
  do until rsDatos.eof
        response.write(rsdatos("campo1"))
        'blablabla..
  RsDatos.MoveNext
  loop
End If
rsDatos.close
  #4 (permalink)  
Antiguo 11/04/2005, 16:26
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Hola!

El metodo RecordCount tiende a fallar dentro de ASP, en Visual Basic siempre corre bien, pero en ASP normal tiende a fallar, con el SCRIPT que te pudieon abajo es seguro que cubres el problema, el error que te aparecia de todas formas significa que estas intentando acceder a un objeto Recordset que no ha regresado ningun valor, es probable que si tenias valores, pero cuando corriste RsDatos.RecordCount causo un error en el objeto.

Bueno, Bay
  #5 (permalink)  
Antiguo 11/04/2005, 16:53
Avatar de pablinweb  
Fecha de Ingreso: julio-2003
Mensajes: 283
Antigüedad: 20 años, 10 meses
Puntos: 0
Para que el if si el while ya lo cubre?

Código:
Set RsDatos = Server.CreateObject("ADODB.RecordSet")
SQL="Select * From Tabla"
RsDatos.Open SQL, Conexion
do while not RsDatos.eof
        response.write(RsDatos("campo1"))
        'blablabla..
  RsDatos.MoveNext
loop
rsDatos.close
  #6 (permalink)  
Antiguo 11/04/2005, 17:03
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Bien

Tienes razon en eso...
  #7 (permalink)  
Antiguo 11/04/2005, 18:20
Avatar de skatomundo  
Fecha de Ingreso: junio-2002
Ubicación: Santiago - CL
Mensajes: 2.532
Antigüedad: 22 años
Puntos: 125
"until"

Else

wend
  #8 (permalink)  
Antiguo 12/04/2005, 13:27
 
Fecha de Ingreso: abril-2005
Mensajes: 137
Antigüedad: 19 años, 2 meses
Puntos: 0
Gracias

ok gracias a todos
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 20:52.