SQL Server - Busquedas en MS SQL

 
Vista:

Busquedas en MS SQL

Publicado por Josemi (4 intervenciones) el 12/11/2008 18:44:38
Buenas,

Me estoy volviendo loco con una simple búsqueda en el SQL SERVER.

¿Esta cadena de búsqueda en SQL es correcta?

SELECT * FROM USUARIOS WHERE USUARIO='pepito' AND PASS='menganito'

Esto lo ejecuto en ASP, Base de datos en SQL SERVER, y no me devuelve ningún resultado.

Si lo ejecuto en una base de datos en ACCESS funciona perfecto. En SQL server no.

He probado a usar:

SELECT * FROM USUARIOS WHERE USUARIO LIKE 'pepito' AND PASS LIKE 'menganito'

Y nada!!!

Ni que decir tiene que la cadena de conexión con la base de datos es correcta. Es decir, he probado a recorrer una tabla y me funciona perfectamente, pero las búsquedas nada de nada.

Saludos y gracias por vuestro tiempo.
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:Busquedas en MS SQL

Publicado por pacopaz (131 intervenciones) el 12/11/2008 19:41:38
Puedes probar usando esta cadena:

SELECT * FROM USUARIOS WHERE ltrim(USUARIO)='pepito' AND ltrim(PASS)='menganito'

o

SELECT * FROM USUARIOS WHERE USUARIO like 'pepito%' AND PASS like 'menganito%'

Mi sospecha es que usas campos con tipo de datos char, que hacen que los espacios no usados se llenen con espacion en blanco ( ). Para evitar esto, los campos deben ser varchar.

Espero que te sirva.

Saludos.
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:Busquedas en MS SQL

Publicado por Josemi (4 intervenciones) el 12/11/2008 21:09:31
Gracias pacopaz,

Gracias a tu respuesta, revisé la tabla para ver si los datos eran "char" o "varchar" y los tengo como "nvarchar". De todas formas, haciendo esta comprobación me percaté de que al exportar la tabla desde access a MS SQL, el campo "user" me lo renombró como [USER], no se si será porque ese nombre se lo reserva el SQL Server. De todas formas, probé con la siguiente cadena de búsqueda:

SELECT * FROM USUARIOS WHERE [USER]='pepito' AND pass='menganito'

y me funcionó... :o)

Genial, ya me veía modificando 52 tablas y otros tantos archivos asp...

Gracias.
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:Busquedas en MS SQL

Publicado por Josemi (4 intervenciones) el 12/11/2008 21:33:28
Bueno, al final no puedo evitar el tener que modificar un mogollón de archivos ASP porque los campos booleanos en ACCESS buscas por:

SELECT * FROM TABLA WHERE ACTIVO=TRUE

y en SQL SERVER veo que True o False lo tengo que cambiar por 1 o 0 respectivamente.

En fin... :o(
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