Sentencia en SQL

16/12/2003 - 00:04 por Zman | Informe spam
Hola a todo el mundo,

tengo un pequeño problema de sintaxis y me estoy volviendo loco, haber si
conseguís decirme por favor dónde meto la pata.

Lo que quiero hacer es una consulta que me devuelva las empresas que
empiecen por la letra (l) que le paso como variable, la sentencia que tengo
es esta pero no funciona, no me devuelve nada.

rsclientes.open "select * from clientes where empresa like
'"&request.querystring("l")&"*' order by numcli" ,conn ,adOpenKeyset
,adLockOptimistic

Me parece que las comillas dobles y simples no las pongo bien, no sé.


Gracias por intentar ayudarme.

Zman

Preguntas similare

Leer las respuestas

#1 Sashka
16/12/2003 - 00:36 | Informe spam
Usa % en lugar de *..

Sashka

"Zman" escribió en el mensaje
news:umCnK$
Hola a todo el mundo,

tengo un pequeño problema de sintaxis y me estoy volviendo loco, haber si
conseguís decirme por favor dónde meto la pata.

Lo que quiero hacer es una consulta que me devuelva las empresas que
empiecen por la letra (l) que le paso como variable, la sentencia que


tengo
es esta pero no funciona, no me devuelve nada.

rsclientes.open "select * from clientes where empresa like
'"&request.querystring("l")&"*' order by numcli" ,conn ,adOpenKeyset
,adLockOptimistic

Me parece que las comillas dobles y simples no las pongo bien, no sé.


Gracias por intentar ayudarme.

Zman



Respuesta Responder a este mensaje
#2 Raul Carrillo aka Metsuke
16/12/2003 - 00:45 | Informe spam
Buenas noches:

tengo un pequeño problema de sintaxis y me estoy volviendo loco, haber si


conseguís decirme por favor dónde meto la pata.

Veamos ¿Qué base de datos estas usando?

Lo que quiero hacer es una consulta que me devuelva las empresas que


empiecen por la letra (l) que le paso como variable, la sentencia que tengo
es esta pero no funciona, no me devuelve nada.

* Si la sql es ejecutada , la cuestion puede ser que tu busques minusculas y
en la base de datos las empresas comiencen con mayúsculas. Depende de que
base de datos (con Oracle ocurre, con Access no, pero con SQL Server y MySQL
lo desconozco, aunque entiendo que si se verán afectadas.

* Tambien podría ocurrir (en ASP Jscript tendriamos este problema), que
request.querystring deba ser escrito como Request.QueryString, y que en tu
caso esté devolviendo 'undefined' lo que haria que tu consulta buscara las
empresas que comenzaran con esta palabra.

rsclientes.open "select * from clientes where empresa like


'"&request.querystring("l")&"*' order by numcli" ,conn ,adOpenKeyset
,adLockOptimistic

Puedes probar a convertir a mayusculas tanto el contenido del campo como la
cadena a comparar y ademas cambiaría el QueryString a su formato en
mayusculas -minusculas, en la consulta voy a usar la función UPPER de
Oracle, si tu bd no es oracle cambia esta funcion por la que corresponda, y
el caracter de comodin % si lo ves necesario por el asterisco, aunque en mi
caso el % me funciona en access, oracle y mysql siempre que la consulta sea
realizada mediante adodb con conexion via odbc. Si no es tu caso introduce
el caracter comodin que corresponda a tu configuracion particular.

rsclientes.open "SELECT * FROM clientes WHERE UPPER(empresa) like UPPER('" &
Request.QueryString (<nombre de variable sin comillas>) & "%' ORDER BY
numcli", conn, adOpenKeyset, adLockOptimistic

Espero haberte servido de ayuda, y ya nos contarás el resultado de la
cuestión.

Saludos,

Raul Carrillo aka Metsuke
Respuesta Responder a este mensaje
#3 Zman
16/12/2003 - 14:24 | Informe spam
Gracias Sashka,

era eso, a veces te obcecas en una cosa y no ves el resto :o)


"Sashka" escribió en el mensaje
news:
Usa % en lugar de *..

Sashka

"Zman" escribió en el mensaje
news:umCnK$
> Hola a todo el mundo,
>
> tengo un pequeño problema de sintaxis y me estoy volviendo loco, haber


si
> conseguís decirme por favor dónde meto la pata.
>
> Lo que quiero hacer es una consulta que me devuelva las empresas que
> empiecen por la letra (l) que le paso como variable, la sentencia que
tengo
> es esta pero no funciona, no me devuelve nada.
>
> rsclientes.open "select * from clientes where empresa like
> '"&request.querystring("l")&"*' order by numcli" ,conn ,adOpenKeyset
> ,adLockOptimistic
>
> Me parece que las comillas dobles y simples no las pongo bien, no sé.
>
>
> Gracias por intentar ayudarme.
>
> Zman
>
>
>


Respuesta Responder a este mensaje
#4 Zman
16/12/2003 - 14:25 | Informe spam
Gracias por tu ayuda Raúl,

era una tontería y me lo había dicho Sashka.

Gracias por todo.

"Raul Carrillo aka Metsuke <(^_^)>"
&139coleccionaloQUITA.com> escribió en el mensaje
news:
Buenas noches:

> tengo un pequeño problema de sintaxis y me estoy volviendo loco, haber


si
conseguís decirme por favor dónde meto la pata.

Veamos ¿Qué base de datos estas usando?

> Lo que quiero hacer es una consulta que me devuelva las empresas que
empiecen por la letra (l) que le paso como variable, la sentencia que


tengo
es esta pero no funciona, no me devuelve nada.

* Si la sql es ejecutada , la cuestion puede ser que tu busques minusculas


y
en la base de datos las empresas comiencen con mayúsculas. Depende de que
base de datos (con Oracle ocurre, con Access no, pero con SQL Server y


MySQL
lo desconozco, aunque entiendo que si se verán afectadas.

* Tambien podría ocurrir (en ASP Jscript tendriamos este problema), que
request.querystring deba ser escrito como Request.QueryString, y que en tu
caso esté devolviendo 'undefined' lo que haria que tu consulta buscara las
empresas que comenzaran con esta palabra.

> rsclientes.open "select * from clientes where empresa like
'"&request.querystring("l")&"*' order by numcli" ,conn ,adOpenKeyset
,adLockOptimistic

Puedes probar a convertir a mayusculas tanto el contenido del campo como


la
cadena a comparar y ademas cambiaría el QueryString a su formato en
mayusculas -minusculas, en la consulta voy a usar la función UPPER de
Oracle, si tu bd no es oracle cambia esta funcion por la que corresponda,


y
el caracter de comodin % si lo ves necesario por el asterisco, aunque en


mi
caso el % me funciona en access, oracle y mysql siempre que la consulta


sea
realizada mediante adodb con conexion via odbc. Si no es tu caso introduce
el caracter comodin que corresponda a tu configuracion particular.

rsclientes.open "SELECT * FROM clientes WHERE UPPER(empresa) like UPPER('"


&
Request.QueryString (<nombre de variable sin comillas>) & "%' ORDER BY
numcli", conn, adOpenKeyset, adLockOptimistic

Espero haberte servido de ayuda, y ya nos contarás el resultado de la
cuestión.

Saludos,

Raul Carrillo aka Metsuke


Respuesta Responder a este mensaje
#5 Sashka
16/12/2003 - 16:27 | Informe spam
:)) nos pasa a todos

Sashka

"Zman" escribió en el mensaje
news:eAM6%
Gracias Sashka,

era eso, a veces te obcecas en una cosa y no ves el resto :o)


"Sashka" escribió en el mensaje
news:
> Usa % en lugar de *..
>
> Sashka
>
> "Zman" escribió en el mensaje
> news:umCnK$
> > Hola a todo el mundo,
> >
> > tengo un pequeño problema de sintaxis y me estoy volviendo loco, haber
si
> > conseguís decirme por favor dónde meto la pata.
> >
> > Lo que quiero hacer es una consulta que me devuelva las empresas que
> > empiecen por la letra (l) que le paso como variable, la sentencia que
> tengo
> > es esta pero no funciona, no me devuelve nada.
> >
> > rsclientes.open "select * from clientes where empresa like
> > '"&request.querystring("l")&"*' order by numcli" ,conn ,adOpenKeyset
> > ,adLockOptimistic
> >
> > Me parece que las comillas dobles y simples no las pongo bien, no sé.
> >
> >
> > Gracias por intentar ayudarme.
> >
> > Zman
> >
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida