ASP - Help query

 
Vista:

Help query

Publicado por Victor (2 intervenciones) el 10/02/2003 00:55:10

ESTIMADOS, TENGO EL SIGUIENTE PROBLEMA:
LO QUE DESEO HACER UNA CONSULTA SQL A UNA BD, CON LA CONDICION DE QUE SI EL NOMBRE DE
USUARIO Y CLAVE SON CORRECTOS, SE LOS DERIVE A OTRA PAGINA ASP , CONSTRUI ALGO MUY
PRECARIO (NOVATO) CON EL SIG. CODIGO:

<%cusuario=request.form("usuario")
cclave=request.form("clave")
set rs=createobject("ADODB.Recordset")
sqltxt="select usuario,clave from clientes where (usuario like '%"&cusuario&"%' and clave like '%"&clave&"%')"
rs.open sqltxt,"DSN=user" %>
<%if rs.eof then%>

PROBLEMAS:
1) ESTE COD. RESPONDE NO MUY BIEN, YA QUE SI DETECTA UNA LETRA DEL CAMPO NOMBRE
POR EJEMPLO YA LO TOMA COMO VALIDO AUNQUE LA CLAVE NO COINCIDA.

2) SI COLOCO "==" EN LUGAR DE "LIKE" LA PAGINA NO SE EJECUTA (NO SE COMO SE
ESPECIFICA EN ASP EL COMANDO SQL "EXACTAMENTE IGUAL")

3) NO SE SI cclave y cusuario ESTAN CORRECTAMENTE DEFINIDAS EN EL CODIGO

CUALQUIER MEJORA A ESTE MINUSCULO INTENTO SE AGRADECE.

DESDE YA MUCHAS GRACIAS, SALUDOS VICTOR
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:Help query

Publicado por Esteban (508 intervenciones) el 10/02/2003 06:44:38
Hola...

Como tú mismo lo propones debe hacer una comparación de igualdad: "=" OJO solo un signo, ha que no estás con JavaScript eso es VBScript.

Además, estás seguro que el DSN te funciona? Si es un ODBC creo que no es la mejor solución, yo recomiendo que personas como tú revisen esta página: http://www.able-consulting.com/ADO_Conn.htm
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

RE:Help query

Publicado por Santos Pairazamán (415 intervenciones) el 10/02/2003 16:26:26
Prueba con esto :

sqltxt= "select usuario,clave from clientes where usuario = '" & Request("cusuario") & "' and clave = '" & Request("cclave") & "'"

P.D. Tu variables son Cusuario y Cclave corrige eso.
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

RE:Help query

Publicado por Alfredo Camacho (41 intervenciones) el 10/02/2003 18:01:03
La respuesta ya te la otorgaron nuestros buenos participantes Esteban y Santos Pairazamán pero creo que al menos te mereces una pequeña explicación de porque tiene que ser así como ellos te dice lo que pasa es que tu instrucción o sentencia SQL esta mal debido a que la sentencia Like te regresa todos los valores que contengan en cualquiera de sus tramos la serie de caracteres que estés estableciendo, por ejemplo:

La instrucción like:

Select * from usuarios where nombre like ‘Alf%’

Tu resultado seria el siguiente:

Nombre Edad Telefono Etc.
Alfredo Camacho 18 xxx-xxxx
Alfonso Serda 25 xxx-xxxx

Si tu intuición fuera:

Select * from usuarios where nombre like ‘%Alf%’

Nombre Edad Teléfono Etc.
Alfredo Camacho 18 xxx-xxxx
Alfonso Serda 25 xxx-xxxx
José Alfonso Ríos 20 xxx-xxxx
Marco Alfaro 19 xxx-xxx
etc.….

Espero que con esto comprendas lo que te quiero decir y puedas ver el error en tu sentencia y el porque a pesar de que tienes o tenias tu nombre de usuario y contraseña te daba otros usuarios que no eran ya que me imagino que no te había de coincidir ni el nombre de usuario y la contraseña.

Espero haber sido de ayuda y aclarado tu duda.

Tu amigo Alfredo Camacho.
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