这里是 Python 菜鸟。我正在针对 sql server 本地数据库编写脚本,无法根据列名调用值。
cnxn = pypyodbc.connect('Driver={SQL Server Native Client 11.0};Server=(localdb)\database;integrated security = true')
cursor = cnxn.cursor()
cursor.execute("SELECT username FROM [students].[dbo].[users]")
rows = cursor.fetchall()
for row in rows:
print (row.username)
cnxn.close()
返回 AttributeError: 'Row' 对象没有属性 'username'
print (row)
按预期转储数据。并将代码修改为:
cursor.execute("SELECT username FROM [students].[dbo].[users]")
rows = cursor.fetchall()
x=0
for row in rows:
print (row.cursor_description[x][0])
cnxn.close()
返回每条记录的用户名。
为什么我不能调用row.username?
最佳答案
使用print (row["username"])
pypyodbc不支持列属性为 pyodbc确实,只有一个列集合,您可以通过索引或其标题名称获取。
pyodbc 使用row.attribute
语法,pypyodbc 使用row["attribute"]
语法。
关于python - pypyodbc 无法使用 SQL Server Localdb 引用列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33695274/