我被迫使用python和pyodbc做一些基本的数据库工作,遇到以下错误让我感到困惑:
pypyodbc.DatabaseError:('07002','[07002] [Microsoft] [ODBC Microsoft Access驱动程序]参数太少。预计2。')
错误已经足够清楚了,但是为什么它期待两个参数让我感到困惑,因为这里的代码显然只需要一个参数:
sqlCommand = "SELECT ProductID, Quantity FROM tblJobsProducts WHERE JobID = (?)"
jobProductData = executeGetSQLCMD(sqlCommand, [jobData[0][0]])
jobData[0][0]
是JobID。
和executeGetSQLCMD
是:
def executeGetSQLCMD(sqlString, params=[]):
if len(params) <= 0:
crsr.execute(sqlString) # executes the SQL command
else:
crsr.execute(sqlString, params)
return crsr.fetchall()
executeGetSQLCMD
似乎在所有其他情况下都能正常工作。
知道什么是错的吗?