当用户输入ID修改销售时,我需要控制空记录
这里有一个技巧,如果我将cursor.fetchone()而不是cursor.fetchall(),条件为None将验证行是否为空,并告诉用户输入另一个ID,但它似乎根本无法使用fetchall()
我必须使用fetchall,否则我将开始在prettytable格式上出现问题
consulta = "SELECT id, CAST(fecha AS CHAR), id_cliente, total FROM compra WHERE id = %s;"
cursor.execute(consulta, (id))
compra = cursor.fetchall()
**if (compra is None):**
print("ID is not valid.\n")
exito = False
return
else:
exito = True
T.clear_rows()
for x in compra:
T.add_row(x)
clear()
print(T)
提前谢谢
Python DB API定义
fetchall
返回某种序列,不管结果中可能有多少行。其中fetchone
返回None
在未找到行的事件中,fetchall
返回空序列。如果您的特定库返回列表,您可以轻松检查列表是否为空:如果它返回其他类型的惰性迭代器,您可能无法在不尝试对其进行迭代的情况下判断它是否为空。你可能需要像这样的东西
根据
T
是什么以及在确定compra
是否为空之前调用T.clear_rows()
是否安全,可能有一个更简单的解决方案相关问题 更多 >
编程相关推荐