我有以下代码:
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不为空。所以我不明白为什么它不起作用。有人知道为什么吗?
答案 0 :(得分: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',)