TypeError:'NoneType'对象没有属性'__getitem__'而cur.fetchone不是None

Sha*_*n-x 3 python sqlite

我有以下代码:

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',)
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时我有一个错误:TypeError: 'NoneType' object has no attribute '__getitem__',而cur1.fetchone不是空的.所以我不明白为什么它不起作用.有人知道为什么吗?

Rom*_*huk 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',)
Run Code Online (Sandbox Code Playgroud)