0
我有一些Python代碼看起來像這樣Python的錯誤更新SQL數據庫
import pypyodbc
import pandas as pd
home="c:/SQL/"
df = pd.read_sql_query(sql4, conn3
for y1 in range(0 , k):
ARCHIVE_SERNUM = (df['sernum']).iloc[y1]
KQL=len(KIC53_QUERY_LIST)
FOUND=False
for y2 in range(0,KQL):
if ARCHIVE_SERNUM == KIC53_QUERY_LIST[y2]:
FOUND=True
#do something then
break
if FOUND == False:
print(FOUND,ARCHIVE_SERNUM,"This is STIME : ",STIME)
CTIME=STIME
cursor = conn3.cursor()
cursor.execute("""
UPDATE ENCOMPASS_DIA
SET CTIME=%s
WHERE SERNUM=ARCHIVE_SERNUM
""", (STIME))
它拋出一個錯誤,我無法弄清楚到底是怎麼回事。 在這個例子中,CTIME和STIME都是相同的17個字符的字符串。
File "c:/SQL/ConnectionTest8.py", line 212, in <module>
""", (STIME))
TypeError: Params must be in a list, tuple, or Row
沒有我使用的是Access數據庫的事實有所作爲?您的解決方案導致此錯誤消息: ProgrammingError:('42000',「[42000] [Microsoft] [ODBC Microsoft Access Driver]查詢表達式'%s'中的語法錯誤。」) –
抱歉遺漏了pyodbc標記。在這裏你必須使用'?'而不是'%s' – e4c5
現在這整理了嗎? – e4c5