我有这个查询:
query_del = '''DELETE * FROM Students WHERE Students.[last_name] = "Q";'''
我这样做是为了执行:
conn= pyodbc.connect(r'Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\XXX\Database.accdb;')
curs = conn.cursor()
curs.execute(query_del)
curs.commit()
但我收到了这个错误:
ERROR [07002] [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1
数据库当前如下:
ID 姓氏 名字 电子邮件地址
3 Buuuu BC
4 Cuuuu CD
70 WW
72 WW
74 WW
76 WW
78 WW
80 WW
82 WW
84 WW
86 WW
87 QQ
88 WW
89 QQ
90 WW
编辑1:这种方式的查询有效:
query_del = '''DELETE * FROM Students WHERE Students.[last_name] = 'Q';'''
但我真的需要在变量中加上双引号,因为我有一些姓氏,x'xxx'x
所以我不知道如何删除它们。带有简单双引号的查询在 Access 中运行良好:
DELETE FROM Students WHERE Students.[last_name] = "W"; #Works in Access
DELETE FROM Students WHERE Students.[last_name] = 'W'; #Also Works in Access
我怎样才能把它翻译成python和pyodbc?