首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查sqlite2执行返回的结果?

如何检查sqlite2执行返回的结果?
EN

Stack Overflow用户
提问于 2020-10-20 09:31:40
回答 1查看 46关注 0票数 0

我正在尝试检查和验证cursor.execute('SQL‘)的结果。下面是我试着去做的方法。

代码语言:javascript
复制
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。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-20 09:42:31

我拿走了你的代码然后编辑它。

代码检查None结果,并确保连接已关闭。(使用最后)

代码语言:javascript
复制
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()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64442349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档