Когда я запрашиваю свой SQL-сервер с помощью pyodbc, я получаю только имя запрашиваемого поля (вместо самих значений).
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]')
Это вернет то, что я ожидаю.
Что мне здесь не хватает?