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

Personalizar ADODB.Field error '80020009'

Estas en el tema de Personalizar ADODB.Field error '80020009' en el foro de ASP Clásico en Foros del Web. A ver, más cosas... Cuando hago una petición select * a la access, raclamando campos con una variable dada, y los campos están ya borrados, ...
  #1 (permalink)  
Antiguo 08/02/2008, 10:05
 
Fecha de Ingreso: septiembre-2007
Mensajes: 99
Antigüedad: 16 años, 8 meses
Puntos: 0
Personalizar ADODB.Field error '80020009'

A ver, más cosas...

Cuando hago una petición select * a la access, raclamando campos con una variable dada, y los campos están ya borrados, asp me manda con toda la razón el

ADODB.Field error '80020009'
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

Perfecto. Lo que yo quiero es personalizar el error, hacer un debug, a través de un response.write. Pero por más que hago pruebas, no doy con la condicional correcta para este caso. ¿Alguien la sabe?
  #2 (permalink)  
Antiguo 08/02/2008, 10:22
 
Fecha de Ingreso: septiembre-2007
Mensajes: 99
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Personalizar ADODB.Field error '80020009'

Ya está...es con:

if con.EOF then
response.write("ya borraste el registro, chaval(a)")

siendo con exactamente lo que parece, el con=Server.CreateObject("ADODB.RECORDSET")

(es duro ser newbie)
  #3 (permalink)  
Antiguo 08/02/2008, 10:50
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Re: Personalizar ADODB.Field error '80020009'

solo para reforzar tu entendimiento de lo que paso, es una estructura simple que se puede implementar en cualquiera de tus consultas



Código PHP:
set RS=conexion.execute(SQL)
if 
Err=0 then
    
'si no existe error
    if RS.EOF=False then
        '
si no es el final del archivo
        
'despliego mis registros
        '
algunos hacen DO WHILE, otros simplemente WHILE
        
'prefiero el while <--- eleccion propia
        while RS.EOF=FALSE
            response.Write "campo= " & RS.fields.item("campo").value
            '
muy importantesino seria un ciclo infinito
            RS
.movenext
        wend
    
else
        
'en este caso, es por que se llego al final de la tabla
        '
y no se encontro resultado algunoo coincidencias
    end 
if
else
    
'existio error
    '
aki se puede llamar a la funcion que tengas 
    
'diseñada para enviarte mensajes de error
end if
'
recordar de liberar la memoria
set rs
.close
conexion
.close
set conexion
=nothing 
mira el codigo, y trata de ver que es lo que se esta haciendo... si tienes dudas... postea

__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #4 (permalink)  
Antiguo 08/02/2008, 11:08
 
Fecha de Ingreso: septiembre-2007
Mensajes: 99
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Personalizar ADODB.Field error '80020009'

Está estupendo, Libra....Es así más o menos como me ha quedado el esqueleto del código final de esa página, aunque yo hago las condicionales invertidas (primero pido ejecucion del error y al else le mando el resto). PERO UNA COSA....yo no declaro xy.EOF = true, simplemente If xy.EOF then...Funcionar, funciona pero ¿qué es lo correctamente correcto?
  #5 (permalink)  
Antiguo 08/02/2008, 11:30
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Re: Personalizar ADODB.Field error '80020009'

solo es validacion de que verdaderamente sea falso
pero no queda de mas definir correctamente que sea efectivamente el final...
cualquiera de las dos, es correcta... una version corta nada mas
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #6 (permalink)  
Antiguo 08/02/2008, 11:33
 
Fecha de Ingreso: septiembre-2007
Mensajes: 99
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Personalizar ADODB.Field error '80020009'

All right...Muchas 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 22:33.