如何查看sqlite2执行返回的结果?
How to check results returned from sqlite2 execute?
我正在尝试检查和验证 cursor.execute('SQL query') 的结果。以下是我正在尝试的方式。
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
想法是,当数据库中没有卡号时,select_from_db 应该 return False,如果有卡号 card_number,那么我需要还要检查它的引脚。当卡号和密码匹配时,函数应该 return True,否则它应该 return Falce.
这是一个课程项目。不用于生产。
我获取了你的代码并进行了编辑。
代码检查 None
结果并确保连接已关闭。 (使用 finally)
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()
我正在尝试检查和验证 cursor.execute('SQL query') 的结果。以下是我正在尝试的方式。
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
想法是,当数据库中没有卡号时,select_from_db 应该 return False,如果有卡号 card_number,那么我需要还要检查它的引脚。当卡号和密码匹配时,函数应该 return True,否则它应该 return Falce.
这是一个课程项目。不用于生产。
我获取了你的代码并进行了编辑。
代码检查 None
结果并确保连接已关闭。 (使用 finally)
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()