python 使用msaccess的pyodbc:参数太少,尝试在列中将日期设置为昨天

eiee3dmh  于 2023-05-27  发布在  Python
关注(0)|答案(2)|浏览(97)
import pyodbc
conn = pyodbc.connect('DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\testing\mydb.accdb')
crs = conn.cursor()
crs.execute('UPDATE [testtable] SET "dateoflastchange" = DATEADD("d", -1, DATE())')
# Too few parameters. Expected 1

我尝试用DateAdd替换DATEADD,并用分号替换逗号。也是“day”而不是“d”,如在其他示例中所见。我想不通。在过去,我通常会犯一些微软语法错误。他在哪里期望1参数但得到0?

pkwftd7m

pkwftd7m1#

解决方案:

crs.execute("UPDATE [testtable] SET [dateoflastchange] = DATEADD('d', -1, DATE())")

我不得不使用Gustav提到的括号交换引号。

zrfyljdw

zrfyljdw2#

尝试使用Access SQL语法:

crs.execute('UPDATE [testtable] SET [dateoflastchange] = DATEADD("d", -1, DATE())')

相关问题