Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何检查sqlite2 execute返回的结果?_Python_Sqlite_Validation_Resultset - Fatal编程技术网

Python 如何检查sqlite2 execute返回的结果?

Python 如何检查sqlite2 execute返回的结果?,python,sqlite,validation,resultset,Python,Sqlite,Validation,Resultset,我正在尝试检查和验证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 =

我正在尝试检查和验证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
这个想法是,当db中没有卡号时,select_from_db应该返回False,如果有一张卡号为的卡,那么我也需要检查它的pin码。当卡号和pin匹配时,函数应返回True,否则应返回Falce


这是一个课程项目。这不是为了生产。

我把你的代码拿来编辑了。
代码检查是否有
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()