filtrar base de datos con una variable

Gerardo Juarez gerardo en computo-industrial.com.mx
Jue Jul 19 18:20:31 CEST 2007


Si pones con "cedula" o cedula sin comillas es mas o menos lo mismo: se
supone que habra una *columna* con ese nombre. Prueba con la consola y 
veras que con "" dice que no existe un atributo con ese nombre y sin
comillas da un conjunto vacio (0 registros). La razon es que las comillas
"" se usan para otra cosa en SQL. Si quieres una cadena constante usa 
'' y ademas, debes poner como ya lo indicaron, %s, de modo que seria:

for r in db.query("""SELECT * FROM estudiantes where cedu = '%s' 
""" % (cedula,)).dictresult():

Creo que tambien se podria:

for r in db.query("""SELECT * FROM estudiantes where cedu = '%s'
""", cedula).dictresult():

Las comillas simples no se requieren si tienes una interfaz que 
implemente el DB-API 2.0. 

saludos
Gerardo


------------ 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