从简要查看源代码来看,除非内存损坏,否则sqlite3的光标的
fetchall
似乎不可能返回None
。您一定在做其他事情,从而导致 None
。
当
fetchall()
返回 []
fetchone()
返回 None
你确定你不是不小心使用了fetchone()
?
Thomas Wouters 你是对的.. fetchall() 不返回 None .. 当它找不到与搜索条件匹配的记录时,它会返回一个奇怪的结果.. 它返回 [(None,)] .. 你可以' t 使用通常的“if list is None”对此进行测试..您必须像这样测试这个奇怪的结果:
if list[0][0] == None ..(这将返回 True)