python - pypyodbc 无法使用 SQL Server Localdb 引用列名

标签 python sql-server localdb

这里是 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/

相关文章:

python - 使 3-d numpy 数组的每个第 n 个切片连续

sql - 在 SQL Server 中使用单个列表是否被认为是一种不好的做法?

sql - 寻找练习来学习 SQL,使用 Northwind 数据库

entity-framework - EF6 迁移 (LocalDb) 更新数据库登录失败

visual-studio-2012 - 在Server Explorer (LocalDB) VS2012中查看数据

python - 无法重新导入 python tensorflow 模块

python - 如何将模型对象列表转换为 Pandas 数据框?

python - 如何在没有循环的情况下使用 numpy.lexsort

sql - 使用 AS MERGE 的存储过程不返回任何内容?

asp.net-mvc-3 - 无法将文件附加为数据库/底层提供程序打开失败