【发布时间】:2015-04-14 20:28:59
【问题描述】:
我有以下代码:
Late_Students = cursor.execute('''
SELECT Student.Forename, Student.Surname, FORMAT(Event_Date_Time,"Long Time") AS Time_Of_Event
FROM Events, Student
WHERE FORMAT(Event_Date_Time,"Short Date") = Date()
AND Events.RFID = Student.RFID AND
Events.In_Or_Out = ?
AND FORMAT(Event_Date_Time,"Long Time")>#08:40:00#''','In')
rows = cursor.fetchall()
print(rows)
这真的很简单,我的程序中有很多喜欢它,但是当我运行程序时,我收到以下错误:
Traceback (most recent call last):
File "...Coursework System 1.8.py", line 104, in <module>
AND FORMAT(Event_Date_Time,"Long Time")>#08:40:00#''','In')
pyodbc.Error: ('07002', '[07002] [Microsoft][ODBC Microsoft Access Driver]
Too few parameters. Expected 3. (-3010) (SQLExecDirectW)')
当我添加参数时,我收到以下错误,告诉我参数太多:
Traceback (most recent call last):
File "...\Coursework System 1.8.py", line 104, in <module>
AND FORMAT(Event_Date_Time,"Long Time")>#08:40:00#''','In','','')
pyodbc.ProgrammingError: ('The SQL contains 1 parameter markers, but 3
parameters were supplied', 'HY000')
我做错了什么?
【问题讨论】:
-
@PeterWood 我已经尝试过那里发布的解决方案,但无济于事。由于某种原因,它仍然无法正常工作。
-
那你得到什么错误?
-
和之前一样的错误
-
将查询中的所有内容更改为参数解决了这个问题。谢谢你:)