[Tutor] pyodbc/date values in MS Access
Albert-Jan Roskam
fomcl at yahoo.com
Wed Dec 22 10:30:27 CET 2010
Hi,
Sorry for the late reply, but thanks a lot for helping me. It's solved now.
Peter, the link you posted in another thread (or should I say 'query') was also
relevant AND funny (http://xkcd.com/327/)
Merry Christmas and Happy Coding! *)
Cheers!!
Albert-Jan
*) Including those who have to parse a huge xml file *winks* ;-)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
All right, but apart from the sanitation, the medicine, education, wine, public
order, irrigation, roads, a fresh water system, and public health, what have the
Romans ever done for us?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
________________________________
From: Peter Otten <__peter__ at web.de>
To: tutor at python.org
Sent: Wed, December 15, 2010 3:06:19 PM
Subject: Re: [Tutor] pyodbc/date values in MS Access
Albert-Jan Roskam wrote:
> Hi,
>
> I'm using pyodbc (Python 2.5) to insert records in an MS Access database.
> For security reasons, question marks should be used for string replacement
> [*]. The standard %s would make the code vulnerable to sql code injection.
> Problem is, string replacement in the Good Way somehow doesn't work when
> the values are dates. Below, snippet #1 does not work (Access says the
> inserted value is not consistent with the defined datatype), but #2 does.
> I tried various other ways (ie. DateValue, CDate, etc.) but none of them
> works. Is there a solution for this?
>
> [*] see http://code.google.com/p/pyodbc/wiki/GettingStarted --> under
> 'Parameters'
>
> ### 1
> sql = "INSERT INTO tblSomeTable (myDate) VALUES (?);"
> cursor.execute(sql, "#01/01/2010#")
(1) Try providing the date in ISO format "yyyy-mm-dd"
"2010-01-01"
or (even better if supported) as a date value
from datetime import date
date(2010, 1, 1)
(2) Wrap the value into a tuple which I think is required by the Python
DBAPI.
cursor.execute(sql, ("2010-01-01",))
cursor.execute(sql, (date(2010, 1, 1),))
Peter
_______________________________________________
Tutor maillist - Tutor at python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20101222/83269a0b/attachment-0001.html>
More information about the Tutor
mailing list