当我使用pyodbc查询SQL Server时,仅获得我请求的字段的名称(而不是值本身)。
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/