Python从SQL中选择获取错误
我正在写以下问题:Python从SQL中选择获取错误,python,sql,Python,Sql,我正在写以下问题: x1 = 5 y1 = 6 z1 = 0 SQL = ("SELECT Z FROM Points WHERE X =x1 AND Y = y1") for row in cursor.execute(SQL): z1 = row.Zcor 我得到以下错误: 回溯(最近一次呼叫最后一次): 文件“./ppp.py”,第38行,在 对于cursor.execute(SQLp1z)中的行: pyodbc.ProgrammingError:('42000'
x1 = 5
y1 = 6
z1 = 0
SQL = ("SELECT Z FROM Points WHERE X =x1 AND Y = y1")
for row in cursor.execute(SQL):
z1 = row.Zcor
我得到以下错误:
回溯(最近一次呼叫最后一次):
文件“./ppp.py”,第38行,在
对于cursor.execute(SQLp1z)中的行:
pyodbc.ProgrammingError:('42000',“[42000][Microsoft][\xc4\xf0\xe9\xe2\xe5\xf0-ODBC-Microsoft Access]\xcd\xe5\xee\xef\xf0\xe5\xe4\xe5\xe5\xed\xed\xe0\xff\xf4\xf3\xea\xf6\xe8\xff“转换”\xe2\xe2\xe2\xe2\xfb\xf0\xe6\xe5\xe8\xe8.(-3102)(SQLExecDirectW))
我的代码中有什么错误?为了防止这种情况发生,我需要做些什么?您的问题是字符串中没有正确包含变量。使用字符串格式:
SQL = ("SELECT Z FROM Points WHERE X ={x1} AND Y ={y1}".format(x1=x1, y1=y1)
或者在python 3.6中:
SQL = (f"SELECT Z FROM Points WHERE X ={x1} AND Y ={y1}")
是for循环的间距变小了,还是这就是您复制它的方式?看看这个,看起来您没有在查询字符串中正确地包含变量。