2012-04-02 18 views
0

pymssqlで行を辞書として受け取りたい。 python-アイドルに私が走った:辞書としての行 - pymssql

>>> 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 

誰かが助けてもらえますか?

+1

はたぶん__iter __()as_dictのサポートにより残りました、(cur.fetchallでの行のと同じことをしてみてください)ドキュメントは、明示的であるとはfetchAll()はas_dictをサポートしていること。それは少し愚かな音が、あなたは決して知りません... – jpic

答えて

1

使用しているpymssqlのバージョンを確認してください。 since 1.0.2だけがdictを返します。以前のバージョンはタプルを返すようです。

関連する問題