我正在尝试检查和验证cursor.execute('SQL‘)的结果。下面是我试着去做的方法。
def select_from_db(card_number, pin):
conn = sqlite3.connect('card.s3db')
cur = conn.cursor()
cur.execute("SELECT * FROM card WHERE number=?", (card_number,))
returned_account = cur.fetchone()
if type(returned_account[1]) is not 'NoneType':
if returned_account[1] == card_number and returned_account[2] == str(pin):
return True
conn.close()
return False这个想法是,当db中没有卡号时,select_from_db应该返回False,如果有带有card_number的卡,那么我也需要检查它的引脚。当卡号和引脚匹配时,函数应该返回True,否则它应该返回Falce。
这是一个课程项目。这不是为了生产。
发布于 2020-10-20 09:42:31
我拿走了你的代码然后编辑它。
代码检查None结果,并确保连接已关闭。(使用最后)
import sqlite3
def select_from_db(card_number, pin):
try:
conn = sqlite3.connect('card.s3db')
cur = conn.cursor()
cur.execute("SELECT * FROM card WHERE number=?", (card_number,))
returned_account = cur.fetchone()
if returned_account is None:
return False
else:
return returned_account[1] == card_number and returned_account[2] == str(pin)
finally:
if conn:
conn.close()https://stackoverflow.com/questions/64442349
复制相似问题