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

error de principiante en la busqueda de registro

Estas en el tema de error de principiante en la busqueda de registro en el foro de ASP Clásico en Foros del Web. Hola. tengo un script que me permite buscar un registro en la base de datos. Lo que occure es que siempre me dice que no ...
  #1 (permalink)  
Antiguo 24/11/2004, 10:53
 
Fecha de Ingreso: abril-2004
Ubicación: zaragoza
Mensajes: 36
Antigüedad: 20 años, 1 mes
Puntos: 0
error de principiante en la busqueda de registro

Hola.

tengo un script que me permite buscar un registro en la base de datos. Lo que occure es que siempre me dice que no existe el usuario aunque exista. Es decir que no me lo encuentra.
¿ Sabeis dondé podria tener el fallo?


<html>
<title>Buscar usuario</title>
<body>
<%
Set oConn = Server.CreateObject ("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("data.mdb")

sql=" select * from persona where usuario = ' " & request.form("usuario") & " ' "

Set RS = Server.CreateObject ("ADODB.RecordSet")
RS.Open sql, oConn


if RS.EOF And RS.BOFThen

response.write("No existe este usuario con el nombre , Lo siento")
else
response.write(""&request.form("usuario")&"")
end if
%>
</body>
</html>







Gracias
__________________
bibiche
  #2 (permalink)  
Antiguo 24/11/2004, 10:59
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 21 años, 9 meses
Puntos: 16
primero debuguea


Código:
<html>
<title>Buscar usuario</title>
<body>
<%
Set oConn = Server.CreateObject ("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("data.mdb")

sql=" select * from persona where usuario = ' " & request.form("usuario") & " ' "

response.write sql
response.end

Set RS = Server.CreateObject ("ADODB.RecordSet")
RS.Open sql, oConn


'if RS.EOF And RS.BOF      falta espacio parece aqui      Then

if RS.EOF
response.write("No existe este usuario con el nombre , Lo siento")
else
response.write(""&request.form("usuario")&"") 
end if
%>
</body>
</html>

y por ahi vas viendo
  #3 (permalink)  
Antiguo 24/11/2004, 14:02
 
Fecha de Ingreso: abril-2004
Ubicación: zaragoza
Mensajes: 36
Antigüedad: 20 años, 1 mes
Puntos: 0
sigue sin funcionar

hola Muzztein.

Lo he intentado , pero sigue sin funcionar.Solo ejecuta la primera condicion.

No se si alguien mas me puede ayudar.

gracias
__________________
bibiche
  #4 (permalink)  
Antiguo 24/11/2004, 14:20
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
Dudo que te lo encuentre como lo estas buscando:

sql=" select * from persona where usuario = ' " & request.form("usuario") & " ' "

De esa forma, el nombre debe estar con espacios al inicio y al final.
Si hubieras debugueado como Muzztein te recomendó, hubieras detectado que el sql que se forma es, por ejemplo:

select * from persona where usuario = ' juan '

Solo elimina esos espacios en blanco.
  #5 (permalink)  
Antiguo 24/11/2004, 14:25
 
Fecha de Ingreso: abril-2004
Ubicación: zaragoza
Mensajes: 36
Antigüedad: 20 años, 1 mes
Puntos: 0
Si funciona

Lo siento no me habia dado cuenta de los espacios. Ahora que si funciona
Mil gracias
__________________
bibiche
  #6 (permalink)  
Antiguo 24/11/2004, 14:39
 
Fecha de Ingreso: noviembre-2004
Mensajes: 1
Antigüedad: 19 años, 6 meses
Puntos: 0
Cita:
Iniciado por Myakire
Dudo que te lo encuentre como lo estas buscando:

sql=" select * from persona where usuario = ' " & request.form("usuario") & " ' "

De esa forma, el nombre debe estar con espacios al inicio y al final.
Si hubieras debugueado como Muzztein te recomendó, hubieras detectado que el sql que se forma es, por ejemplo:

select * from persona where usuario = ' juan '

Solo elimina esos espacios en blanco.
veamoslo de nuevo
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:22.