ASP - el valor de BOF o EOF es True, o el actual registr

 
Vista:

el valor de BOF o EOF es True, o el actual registr

Publicado por Ainhoa (5 intervenciones) el 09/08/2001 10:35:32
hola, tengo un problema al recorrer una base de datos de la que solo quiero sacar unos datos haciendo una consulta, pero me da el error arriba inicado.Sabriais decirme donde tengo el problema?Os mando el codigo.
Gracias

<%
if request.QueryString("cod")<>"" then
dim x,i,kk,q
x=1
dim rstm
dim rstv
set rstm=server.CreateObject("adodb.recordset")
rstm.ActiveConnection=session("con")
rstm.CursorType=adOpenKeyset
rstm.LockType =adLockoptimistic
rstm.Source="select * from mayoristas where id_cliente like " & session("pp")
rstm.open
session("coco")=Request.QueryString("cod")
rstm.fields("compra")=rstm.fields("compra") & session("coco") & " "
rstm.Update%>
<font size=2>
<%for i=x to len(lTrim(rstm.Fields("compra")))
session("kk")=mid(rstm.Fields("compra"),i,1)
if session("kk")=" " then
set rstv=server.CreateObject("adodb.recordset")
rstv.ActiveConnection=session("con")
rstv.Cursorlocation=adopenDynamic
rstv.LockType =adLockoptimistic
rstv.Source="select * from productos where id="& session("codi")
rstv.Open
Response.Write(rstv.Fields(2))%>   
<%Response.Write(rstv.Fields(4))%>
<br>
<%else
session("codi")=session("codi")&session("kk")
end if
next
rstv.Close
rstm.close
end if%>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:el valor de BOF o EOF es True, o el actual regi

Publicado por federico (270 intervenciones) el 09/08/2001 11:59:26
Bueno algunas sugerencias:
ADO en cliente solo puede abrir el cursor de un recordset en modo static, da igual lo que le pongas.
La variable X sobra, solo es para el bucle for i la variable i se puede inicializar en el mismo bucle.
un id_cliente (si es id, imagino que sera un identificador de cliente, luego sera unico) no debes buscarlo con like ya que like hace una comparacion textual. (ahi puede estar el error de registro no encontrado
utiliza =.
las variables en asp son de tipo string, con lo cual cuando desees buscar un numero te sigiero que hagas la conversion manual:
select * from productos where id="& clng(session("codi") )

Demasiadas variables de sesion, ten encuanta que cuando se conecten muchos usuarios (no se el trafico de tu pagina, pero internet es impredecible) todas esas variables estaran en memoria multiplicadas por el numero de usuarios.Por ejemplo la variable KK creo que no deberia ser de sesion.

almacenas en el campo compra los id separados por espacio. Mal diseño, eso se puede hacer impredecible y el campo debe ser declarado como memo, mejor emplea una tabla relacionada como detalle de compra.

bueno dale un repaso a la base de datos y al codigo. Optimiza al maximo el empleo de variables y codigo, como te he dicho los accesos en interenet pueden ser impredecibles y colgar el servidor.


Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar