F. GEIGER wrote:
> Arrgh, sorry for that post!
> 
>       self._dbc.execute(q, data)
> 
> where data is None, works with MySQL. For SQLite I have to write
> 
>       if data is not None:
>          self._dbc.execute(q, data)
>       else:
>          self._dbc.execute(q)

No, you have to write:

self._dbc.execute(q, (data,))

in both drivers.

i. e. the second parameter to execute *must* be a sequence. Some drivers 
(maybe MySQLdb, too) automatically correct the wrong call and transform a:

execute(sql, single_param)

into a

execute(sql, (single_param,))

for you if they notice that "!PySequence_Check(single_param)".

pysqlite 2 does not do this.

HTH,

-- Gerhard
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to