【发布时间】:2015-02-26 19:53:48
【问题描述】:
我正在尝试使用以下脚本将当前时间存储在我的访问数据库中:
import pyodbc
import time
connStr = """
DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};
DBQ=C:/Users/QPCS Registration/Documents/DB Tests/PYODBC.accdb;
"""
cnxn = pyodbc.connect(connStr)
cursor = cnxn.cursor()
def TimeStamp():
RFID = str(input("Please tap your pass on the reader:\n"))
Current_Time = str(time.strftime("%H:%M"))
cursor.execute('INSERT INTO Time_Of_Entry(RFID_Number,Time_Tapped) VALUES('+RFID+','+Current_Time+');')
cnxn.commit()
def Close_DB_Cnxn():
cnxn.close()
TimeStamp()
Close_DB_Cnxn()
当我运行它时,我收到以下错误:
pyodbc.ProgrammingError: ('42000', "[42000] [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression '19:44'. (-3100) (SQLExecDirectW)")
问题肯定出在“Current_Time”上,因为当我尝试使用下面显示的脚本存储变量“RFID”时,它就可以很好地插入数据库。
cursor.execute('INSERT INTO Time_Of_Entry(RFID_Number) VALUES('+RFID+');')
我尝试将“Time_Of_Entry”表中“Time_Tapped”字段的数据类型从短文本更改为日期/时间;短时间,但没有效果。
我的机器在 Windows 7 家庭高级版 64 位上运行。我有 Microsoft Office 2010; 32位我正在运行python 3.3; 32 位
【问题讨论】:
-
@GordThompson 我看到了,但我的问题不是不同吗?我在访问时将“Current_Time”插入到日期/时间字段时遇到问题,而他们正在读取它。
标签: python odbc ms-access-2010 pyodbc