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

Consulta desde ASP

Estas en el tema de Consulta desde ASP en el foro de ASP Clásico en Foros del Web. Buenos días foro, solicito de su apoyo con el error... "ADODB.Field (0x80020009) El valor de BOF o EOF es True, o el actual registro se ...
  #1 (permalink)  
Antiguo 19/12/2008, 10:35
 
Fecha de Ingreso: abril-2008
Mensajes: 9
Antigüedad: 17 años
Puntos: 0
Consulta desde ASP

Buenos días foro, solicito de su apoyo con el error...

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

Este aparece cuando doy click para hacer una búsqueda, no le doy a la solución les pongo mi código para que le echen un ojo... Todas sus sugerencias son muy bien recibidas, de ante mano muchas gracias!

<form method="post" action="buserie.asp">
<table width="1219" border="0">
<tr>
<td width="166" class="style6"> <div align="left" class="style8">Ingresa número de serie: </div></td>
<td width="185"><Input type="text" name="serie" size="30"></td>
<td width="854"><Input type="submit" value="Buscar"></td>
</tr>
</table>
</form>

<%
'Inicia consulta a la base de datos
Dim bd,rsdb

serie=Request.Form("serie")
Set bd=Server.CreateObject("ADODB.Connection")
Set rsdb=Server.CreateObject("ADODB.RecordSet")

bd.Open ("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" + Server.MapPath("DeviceName.mdb"))
consulta="SELECT * FROM nombres_equipos where (serie_equipo) like '%" & (Request.Form("serie")) & "%'"
rsdb.Open consulta, bd
%>

<table width="275" border="0">
<tr>
<td width="133">Nombre de equipo:</td>
<td width="126"><%=rsdb.Fields("nombre_equipo")%></td>
</tr>
<tr>
<td>Ciudad:</td>
<td><%=rsdb.Fields("ciudad_equipo")%></td>
</tr>
<tr>
<td>Localidad</td>
<td><%=rsdb.Fields("localidad_equipo")%></td>
</tr>
<tr>
<td>Oficina</td>
<td><%=rsdb.Fields("oficina_equipo")%></td>
</tr>
<tr>
<td>Tipo de equipo:</td>
<td><%=rsdb.Fields("tipo_equipo")%></td>
</tr>
<tr>
<td>Propietario:</td>
<td><%=rsdb.Fields("propietario")%></td>
</tr>
<tr>
<td>Piso / Edificio:</td>
<td><%=rsdb.Fields("piso_equipo")%></td>
</tr>
<tr>
<td>Usuario:</td>
<td><%=rsdb.Fields("usuario_equipo")%></td>
</tr>
</table>

<%
bd.Close
Set bd= Nothing
%>
  #2 (permalink)  
Antiguo 19/12/2008, 13:23
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Respuesta: Consulta desde ASP

Hola

Prueba añadiendo

Código asp:
Ver original
  1. rsdb.Open consulta, bd
  2. if rsdb.eof = True Then
  3. %>
  4. tabla
  5. <%
  6. else
  7. 'otra cosa
  8. end if
  9. %>


Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 20/12/2008, 14:30
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 2 meses
Puntos: 88
Respuesta: Consulta desde ASP

como te ha dicho Adler (), lo que pasa es que no controlas los errores involuntarios que puede traerte la consulta.....

por ejemplo....

- que la consulta no traiga ningun registro
- que la consulta no coincida con nada en la tabla

lo que debes hacer es una estructura de correccion, por lo regular todo programa debe manejar bien los errores, ese es nuestro objetivo primordial

ejemplo:
Código ASP:
Ver original
  1. 'Variables
  2. criterio = request.form("criterio") <--- campo del formulario
  3. campos = "campo1"
  4. tabla="tabla1"
  5. SQL="SELECT "& campos &" FROM "& tabla &" WHERE campo1 like [B][COLOR=Red]'%[/COLOR][/B]"& criterio &"[B][COLOR=Red]%'[/COLOR][/B]"
  6. stringcxn= [FONT=Tahoma]"PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" + Server.MapPath("DeviceName.mdb")[/FONT]
  7. [FONT=Tahoma]
  8. 'definimos variables del servidor para consulta
  9. Set bd=Server.CreateObject("ADODB.Connection")
  10.    
  11.     bd.Open stringcxn
  12. bd.execute SQL
  13.  
  14. 'definimos el comportamiento de la consulta
  15. if Err=0 then 'No existio error
  16. if bd.eof=false 'no es el final de la consulta
  17. while db.eof=false 'mientras haya registros a mostrarlos
  18. response.write db.fields.item("campo1").value & "<br>"
  19. wend
  20. else
  21. response.write "no se encontro ninguna coincidencia"
  22. end if
  23. else
  24. response.write "Error "& Err
  25. end if[/FONT]


eso seria una estructura basica, de ahi, las modificaciones necesarias para el control de todo los errores


__________________
"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 22/12/2008, 12:30
 
Fecha de Ingreso: abril-2008
Mensajes: 9
Antigüedad: 17 años
Puntos: 0
Respuesta: Consulta desde ASP

Buenas tardes Shiryu_Libra / Adler, perfecto muchas gracias por su colaboración... Como bien comentan, no estaba considerando esos escenarios. Voy a realizar los cambios que me comentan y les aviso.
  #5 (permalink)  
Antiguo 22/12/2008, 13:09
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Respuesta: Consulta desde ASP

Solo te recomiendo que antes de copiar y pegar códigos que usuarios te colaboren por Internet, revísalos y analízalos, ya que a uno a veces se le barren detallitos, como al buen Shiryu_Libra

Cita:
while db.eof=false 'mientras haya registros a mostrarlos
response.write db.fields.item("campo1").value & "<br>"
db.MoveNext
wend

Saludos!
  #6 (permalink)  
Antiguo 22/12/2008, 14:25
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 2 meses
Puntos: 88
Respuesta: Consulta desde ASP

Cita:
Iniciado por Myakire Ver Mensaje
Solo te recomiendo que antes de copiar y pegar códigos que usuarios te colaboren por Internet, revísalos y analízalos, ya que a uno a veces se le barren detallitos, como al buen Shiryu_Libra

Saludos!
y comprobaria????

sensei
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #7 (permalink)  
Antiguo 23/12/2008, 09:05
 
Fecha de Ingreso: abril-2008
Mensajes: 9
Antigüedad: 17 años
Puntos: 0
Respuesta: Consulta desde ASP

Buenos días, ya logre hacer la consulta de esta manera...

<%
dim conexion,registros,serie,consulta

serie=Request.Form("serie")
set conexion=Server.CreateObject("ADODB.Connection")
set registros=Server.CreateObject("ADODB.RecordSet")

conexion.open ("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" + Server.MapPath("DeviceName.mdb"))
consulta="SELECT * FROM nombres_equipos WHERE Ucase(serie_equipo) LIKE '%" & UCase(request.form("serie")) & "%'"
registros.open consulta,conexion

if not registros.EOF then

%>

<table width="275" border="0">
<tr>
<td width="133">Nombre de equipo:</td>
<td width="126"><%=registros.Fields("nombre_equipo")%> </td>
</tr>
<tr>
<td>Ciudad:</td>
<td><%=registros.Fields("ciudad_equipo")%></td>
</tr>
<tr>
<td>Localidad</td>
<td><%=registros.Fields("localidad_equipo")%></td>
</tr>
<tr>
<td>Oficina</td>
<td><%=registros.Fields("oficina_equipo")%></td>
</tr>
<tr>
<td>Tipo de equipo:</td>
<td><%=registros.Fields("tipo_equipo")%></td>
</tr>
<tr>
<td>Propietario:</td>
<td><%=registros.Fields("propietario")%></td>
</tr>
<tr>
<td>Piso / Edificio:</td>
<td><%=registros.Fields("piso_equipo")%></td>
</tr>
<tr>
<td>Usuario:</td>
<td><%=registros.Fields("usuario_equipo")%></td>
</tr>
</table>

<%
else
response.write("No existe ningún dato")
end if
conexion.close
Set registros= Nothing
%>

Ahora solo una pregunta que quizá suene muy básica... como hago para que de inicio los campos esten vacios, hasta que se haga una búsqueda...

Muchas gracias, sus consejos han sido muy útiles!

Saludos!
  #8 (permalink)  
Antiguo 23/12/2008, 12:38
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Respuesta: Consulta desde ASP

Hola

Cita:
Iniciado por YumCimil Ver Mensaje
Ahora solo una pregunta que quizá suene muy básica... como hago para que de inicio los campos esten vacios, hasta que se haga una búsqueda...
¿A qué te refieres?
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #9 (permalink)  
Antiguo 23/12/2008, 17:52
 
Fecha de Ingreso: abril-2008
Mensajes: 9
Antigüedad: 17 años
Puntos: 0
Respuesta: Consulta desde ASP

Que tal Adler buenas tardes...

Lo que sucede es que cuando voy a esa página por default carga los datos de mi primer registro en la base, sin necesidad de realizar la consulta, ¿me explico?

Muchas gracias!
  #10 (permalink)  
Antiguo 23/12/2008, 18:41
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Respuesta: Consulta desde ASP

Cita:
Iniciado por YumCimil Ver Mensaje
Que tal Adler buenas tardes...

Lo que sucede es que cuando voy a esa página por default carga los datos de mi primer registro en la base, sin necesidad de realizar la consulta, ¿me explico?

Muchas gracias!
tovck tock

ummm
serie=Request.Form("serie")

si serie esta vacio que no ejecute el código

asi no te tendria que mostrara nada al cargar la web

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #11 (permalink)  
Antiguo 05/01/2009, 16:10
 
Fecha de Ingreso: abril-2008
Mensajes: 9
Antigüedad: 17 años
Puntos: 0
Respuesta: Consulta desde ASP

Buenas tardes!

Muchas gracias a todos por su apoyo, tema resuelto!
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 05:09.