Python代码在给定一个整数来替换?
时运行良好,但是在使用数组时抛出了下面的错误
File "opsStudentLookup.py", line 231, in upsOps WHERE TRU.intUserId IN ? ''',rmSet) pyodbc.ProgrammingError: ('Invalid parameter type. param-index=0 param-type=set', 'HY105')
import pyodbc
rmSet = [167369, 36006]
sqlConnect = pyodbc.connect(sqlConStr)
sqlCur = sqlConnect.cursor()
sqlCur.execute('''SELECT M.fldUserId ,TRU.intRuleGroupId ,TRM.strRuleGroupName
FROM USER_MASTER M
LEFT JOIN GROUP_USER TRU ON M.fldUserId = TRU.intUserId
LEFT JOIN GROUP_MASTER TRM ON TRU.intRuleGroupId = TRM.intRuleGroupID
WHERE TRU.intUserId IN ? ''',rmSet)
有人能告诉我我哪里做错了吗?
从错误来看,我似乎不应该使用arrays
,如果是,那么应该使用什么,因为使用set()
数据也会引发类似类型的错误。
查询中的单个
?
只能表示一个单个值。如果有2个值,则需要2?
s如果
^{pr2}$rmSet
中的值的数目将更改,则需要将?
动态添加到查询中:相关问题 更多 >
编程相关推荐