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