[Python-es] una query con sqlite y python binding

Antonio Beamud Montero antonio.beamud en gmail.com
Lun Ago 1 16:09:59 CEST 2011


El 01/08/11 15:52, Tony Peña escribió:
>
> hola tengo una duda como esta
>
> http://www.experts-exchange.com/Programming/Languages/Scripting/Python/Q_21935351.html
>
> en mi caso es casi igual pq busco la variable de un combobox, y trato 
> de setear la variable dentro de la query
> y solo pregunto por 1 sin embargo me sale como si me faltaran mas 
> parametros
>
> les paso aparte de la URL el codigo mio donde estoy tratando con la 
> misma duda
>
> cursor.execute('SELECT DISTINCT(flagCode) FROM iata_icao_codes WHERE 
> Country=?', (country_selected))
> flagCode = cursor.fetchone()
>
> el error por ejemplo es en un combobox donde estan el listado de los 
> paises, ejemplo en Angola me saca este error
>
> sqlite3.ProgrammingError: Incorrect number of bindings supplied. The 
> current statement uses 1, and there are 6 supplied.
>

Como argumentos espera una tupla, prueba a pasarlo así:

cursor.execute('SELECT DISTINCT(flagCode) FROM iata_icao_codes WHERE 
Country=?', (country_selected,))

Observa la coma del final de country_selected, ya que (country_selected) 
no es una tupla.

> si elijo otro por ejemplo: Argentina
>
> sqlite3.ProgrammingError: Incorrect number of bindings supplied. The 
> current statement uses 1, and there are 9 supplied.
>

Toma la cadena de texto como una lista, por eso te dice que le has 
pasado 9 cuando esperaba 1, 9 es la longitud de la cadena 'Argentina'.

Un saludo.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20110801/3b182c27/attachment.html>


Más información sobre la lista de distribución Python-es