LIKE pyPqSQL SOLUCIONADO
FERNANDO VILLARROEL
fvillarroel en yahoo.com
Lun Feb 14 15:39:31 CET 2005
Hola Marcos probe lo siguiente:
cur.execute(q, (c,)) # No est? probado, mirar docu
...no corrio, pero si de la siguiente forma:
cur.execute(q % c)
Fernando
--- Marcos S?nchez Provencio <rapto en arrakis.es> wrote:
> Si tienes que lanzarla varias veces, ir? m?s r?pida
> si utilizas
> par?metros en la consulta:
> c=self.rzd+'%'
>
> q="select a.cclte, a.razonsocial,a.direccion,
> a.telefono1, b.descripcion \
> from cltescred as a, comunas as b \
> where a.ccomuna=b.ccomuna and a.razonsocial \
> like %s"
>
> cur.execute(q, (c,)) # No est? probado, mirar docu
>
> En la mayor?a de los gestores de BD, de este modo el
> sql que llega al
> servidor es siempre el mismo, con lo que el an?lisis
> del sql y
> optimizaci?n de la consulta se guardan de una
> llamada a la siguiente,
> sustituyendo tan solo el valor de los par?metros.
> Adem?s, tienes la
> ventaja de que te ahorras fallos de inyecci?n de sql
> y errores de
> sinaxis si la cadena original contiene comillas.
>
> El vie, 11-02-2005 a las 18:14 -0800, FERNANDO
> VILLARROEL escribi?:
> > Hola lo solucione de la siguiente forma:
> >
> > self.rzd (es la cadena a buscar)
> >
> > c=self.rzd+'%'
> >
> > q="select a.cclte, a.razonsocial,a.direccion,
> > a.telefono1, b.descripcion \
> > from cltescred as a, comunas as b \
> > where a.ccomuna=b.ccomuna and a.razonsocial \
> > like '%s' " % c
> >
> > cur.execute(q)
> >
> > y listo la clave esta en la concatenacion de la
> cadena
> > a buscar + "%"
> >
> > Lo Posteo por si alguien se tropieza con este
> problema
> >
> > Saludos
> > Fernando
> > --- FERNANDO VILLARROEL <fvillarroel en yahoo.com>
> wrote:
> >
> > > Te quedara algo ms o menos as:
> > >
> > > q="select a.cclte, a.razonsocial,a.direccion,
> > > a.telefono1,
> > > b.descripcion \
> > > from cltescred as a, comunas as b \
> > > where a.ccomuna=b.ccomuna and a.razonsocial \
> > > like '%%%s' " % self.rzd
> > >
> > > Hola probe con es te script,pero sigo con error,
> > > pero
> > > ahora a nivel de libpq:
> > >
> > > ERROR: syntax error at or near "'%fer'" at
> character
> > > 241
> > >
> > > Tambien probe con (self.rzd,) pero me tira el
> mismo
> > > error.
> > >
> > > No se lo probe en la base de datos y alla el
> script
> > > funciona de la siguiente manera:
> > >
> > > cargas=# select a.razonsocial, b.descripcion
> from
> > > cltesctdo as a, comunas as b where razonsocial
> like
> > > 'E%' and a.ccomuna=b.ccomuna;
> > > razonsocial | descripcion
> > > -------------+-------------
> > > ENTEL | santiago
> > > (1 row)
> > >
> > > cargas=#
> > >
> > > Esto me muestra todos los clientes cuya razon
> social
> > > cominece con la letra E.
> > >
> > >
> > > Fernando
> > >
> > >
> > >
> > > __________________________________
> > > Do you Yahoo!?
> > > The all-new My Yahoo! - Get yours free!
> > > http://my.yahoo.com
> > >
> > >
> > > >
> _______________________________________________
> > > Python-es mailing list
> > > Python-es en aditel.org
> > > http://listas.aditel.org/listinfo/python-es
> > >
> >
> >
> >
> >
> > __________________________________
> > Do you Yahoo!?
> > Meet the all-new My Yahoo! - Try it today!
> > http://my.yahoo.com
> >
> >
> > _______________________________________________
> > Python-es mailing list
> > Python-es en aditel.org
> > http://listas.aditel.org/listinfo/python-es
>
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es
Más información sobre la lista de distribución Python-es