我需要从数据库中检索指定列名称的值。我尝试过的以下代码,
import pyodbc
def get_db_data():
cursor = getConnection.cursor()
cursor.execute("select * from student")
return cursor
cur = get_db_data()
for row in cur.fetchall():
print(row["student_name"])
我正面临错误
TypeError: row indices must be integers, not str
如何实现?
答案 0 :(得分:1)
如果要按名称访问列,则应将其指定为行的属性而不是索引:
for row in cur.fetchall():
print(row.student_name)
答案 1 :(得分:0)
根据pyodbc文档“行对象类似于元组,但它们也允许按名称访问列”。您可以尝试row [0]或row.student_name(假设student_name的列索引为0)
import pyodbc
def get_db_data():
cursor = getConnection.cursor()
cursor.execute("select * from student")
return cursor
cur = get_db_data()
for row in cur.fetchall():
print(row[0])