gpt4 book ai didi

python - pyodbc '-' 附近的语法不正确。 (102)

转载 作者:太空宇宙 更新时间:2023-11-03 15:52:55 25 4
gpt4 key购买 nike

我试图从包含“-”破折号的表中选择所有数据,但出现错误

    cursor.execute(qStr)
pyodbc.ProgrammingError: ('42000', "[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near '-'. (102) (SQLExecDirectW)")

这是代码:

cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=192.168.2.100\name;DATABASE=base;UID=user;PWD=pass')

try:
cursor = cnxn.cursor()
except e:
if e.__class__ == pyodbc.ProgrammingError:
conn == reinit()
cursor = conn.cursor()

def checkIfEmpty (tableName):
qStr = 'SELECT * FROM [' + tableName + ']'
print(qStr)
cursor.execute(qStr)
asd=cursor.fetchone()
if asd==None:
return True
else:
return False

它打印出正确的 SQL 语句 SELECT * FROM [Table-Name] 并且在 Microsoft SQL Management Studio 中这个查询使用复制粘贴工作得很好,但它不会从 python 控制台工作

相同的是:qStr = 'SELECT * FROM "' + tableName + '"

为什么会这样,我该如何解决?

最佳答案

尝试在有破折号的地方使用括号。

qStr = "SELECT * FROM [{}]".format(tableName)

关于python - pyodbc '-' 附近的语法不正确。 (102),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45435481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com