当我使用 pyodbc 查询 SQL 服务器时,我只得到我请求的字段的名称(而不是值本身)。
import pyodbc
conn = pyodbc.connect(connection_string)
cursor = conn.cursor()
cursor.execute('SELECT ? FROM [Projects]', '[ProjectNo]')
for row in cursor.fetchall():
print(row)
这将打印以下内容:
('[ProjectNo]', )
('[ProjectNo]', )
('[ProjectNo]', )
('[ProjectNo]', )
('[ProjectNo]', )
('[ProjectNo]', )
('[ProjectNo]', )
('[ProjectNo]', )
('[ProjectNo]', )
行数等于“项目”表中的行数。当cursor.execute 中的第二个参数是“[ProjectNo]”、“ProjectNo”甚至“blahblahblahblah”时,我也遇到同样的问题;每行仅给出请求字段的名称。
如果我在cursor.execute中仅使用一个参数,则不会出现此问题:
cursor.execute('SELECT [ProjectNo] FROM [Projects]')
这将返回我期望的结果。
我在这里缺少什么?
最佳答案
你可以这样使用,
import pyodbc
conn = pyodbc.connect(connection_string)
cursor = conn.cursor()
cursor.execute('SELECT {} FROM [Projects]".format('[ProjectNo]'))
for row in cursor.fetchall():
print(row)
关于python - pyodbc 中的清理查询仅返回字段名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58413167/