sqlite error?

thunderfoot at gmail.com thunderfoot at gmail.com
Mon Nov 6 16:44:38 EST 2006


John Salerno wrote:
> Am I using the ? placeholder wrong in this example?
>
>
> t = ('hi', 'bye')
>
> self.connection.execute("INSERT INTO Personal (firstName, lastName)
> VALUES ?", t)
>
>
>
> Traceback (most recent call last):
>    File "C:\Python25\myscripts\labdb\dbapp.py", line 93, in OnSaveRecord
>      self.save_to_database(textfield_values)
>    File "C:\Python25\myscripts\labdb\dbapp.py", line 97, in save_to_database
>      self.connection.execute("INSERT INTO Personal (firstName, lastName)
> VALUES ?", t)
> sqlite3.OperationalError: near "?": syntax error

I believe you're missing the parens around your VALUES to insert. Also,
you need 1 placeholder per argument inserted, not just one for the
entire argument list. Try:

self.connection.execute("INSERT INTO Personal (firstName, lastName)
VALUES (?, ?)", t)

HTH




More information about the Python-list mailing list