0
我有以下python代碼,它通過逐行讀取文本文件並將每行的字符x到y作爲變量「Contract」。Python PYODBC - 以前的SQL不是查詢
import os
import pyodbc
cnxn = pyodbc.connect(r'DRIVER={SQL Server};CENSORED;Trusted_Connection=yes;')
cursor = cnxn.cursor()
claimsfile = open('claims.txt','r')
for line in claimsfile:
#ldata = claimsfile.readline()
contract = line[18:26]
print(contract)
cursor.execute("USE calms SELECT XREF_PLAN_CODE FROM calms_schema.APP_QUOTE WHERE APPLICATION_ID = "+str(contract))
print(cursor.fetchall())
當包括線cursor.fetchall()時,返回以下錯誤:
Programming Error: Previous SQL was not a query.
查詢在SSMS運行,並與可變的結果的實際值替換STR(合同)將按預期退還。
根據數據,查詢將返回一個值作爲格式爲NVARCHAR(4)的結果。
大多數其他示例都有在循環之前聲明的變量,並且建議的解決方案是設置NO COUNT,但這不適用於我的問題,因此我略有丟失。
P.S.我也將查詢放在它自己的獨立文件中,沒有循環來遍歷文件,以免導致問題而沒有成功。
您絕對正確,謝謝:) –
太棒了!如果這有幫助,請接受答案(勾選標記到旁邊)以確認解決方案。 – Parfait