2013-07-23 56 views
1

我有以下代碼:類型錯誤:「NoneType」對象有沒有屬性「__getitem__」而cur.fetchone不無

cur1.execute("SELECT * FROM consommation WHERE zone=? AND date=?",(zone,date_p)) 
if cur1.fetchone() is not None: 
    abcisses+=(cur1.fetchone()[0][11:13]+'h',) 

但是當我運行它,我有一個錯誤:TypeError: 'NoneType' object has no attribute '__getitem__',而CUR1。 fetchone不是空的。所以我不明白爲什麼它不起作用。有人知道爲什麼嗎?

回答

5

fetchone提取數據並更改cursor對象的狀態,即如果只有一行要提取,下一次調用fetchone將返回None

嘗試了下:

cur1.execute("SELECT * FROM consommation WHERE zone=? AND date=?", (zone, date_p)) 
res = cur1.fetchone() 
if res: 
    abcisses += (res[0][11:13] + 'h',) 
+0

感謝您的回答。但是我仍然有一個錯誤:'AttributeError:'元組'對象沒有'fetchone'屬性。你知道爲什麼嗎 ? 編輯:好的,這是我的錯。你的回答很好,非常感謝。 :) –

+0

@ Shan-x你可能在某個地方做過類型。你能用新的代碼/回溯更新你的問題嗎? –

+0

看我的編輯。現在好了,謝謝。 –

相關問題