【发布时间】:2012-04-02 08:15:52
【问题描述】:
我想在 pymssql 中接收行作为字典。在 python-idle 我跑了:
>>> conn = pymssql.connect(host='192.168.1.3', user='majid', password='123456789', database='GeneralTrafficMonitor', as_dict=True)
>>> cur = conn.cursor()
>>> cur.execute('SELECT TOP 10 * FROM dbo.tblTrafficCounterData')
>>> cur.as_dict
True
>>> for row in cur:
print row['ID']
但它给出了:
Traceback (most recent call last):
File "<pyshell#83>", line 2, in <module>
print row['ID']
TypeError: tuple indices must be integers, not str
有人可以帮忙吗?
【问题讨论】:
-
也许 __iter__() 是由 as_dict 支持留下的,请尝试与 cur.fetchall() 中的 for row 相同,因为文档明确指出 fetchall() 支持 as_dict。这听起来有点愚蠢,但你永远不知道......
标签: python dictionary pymssql