将空值绑定到pyodbc中的日期字段

时间:2010-05-24 21:41:32

标签: python pyodbc

使用pyodbc,如果我尝试在日期字段上执行此代码:

cursor.execute('insert into test VALUES (?)', None)

...我得到pyodbc.Error: ('HY000', '[HY000] [SAS][SAS ODBC Driver][SAS Server]ERROR: Value 1 of VALUES clause 1 does not match the data type of the corresponding column in (-1) (SQLExecDirectW)'),而如果我执行此操作:

cursor.execute('insert into test VALUES (null)')

......它有效。还有另一种方法可以执行此操作,这意味着我不需要检查我传递的参数吗?

1 个答案:

答案 0 :(得分:2)

在我的源代码(Python 2.71 / pyodbc 2.1.8)中,使用MS Access库,以下代码没问题

st_dt=None
sql = 'insert into COM(poste,mydate) values (?,?)'
cursor.execute(sql,'1254',st_dt)
cnxn.commit()

其中mydate是没有默认值的Timestamp列。