微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

未检索数据sqlite3 Python

如何解决未检索数据sqlite3 Python

所以我试图从我的sqlite3数据库中检索所有用户ID。当用户单击按钮时,系统提示我扫描标签(rfid),我有一个带检入Button的tkinter gui。我正在尝试将标签扫描到数据库中的所有用户ID之后比较标签ID,并检查两者是否匹配。如果它们确实匹配,我将尝试打印用户验证;如果标签与表中的用户ID之一不匹配,我将尝试打印不存在任何用户,拒绝 >

#sqlite3 table structure 
Table: 
    Users ->
         name    UserID
        {joe}   {d33sda}
        {moe}   {eg2q5n}
          

我的问题是else函数中的checker()语句不断抛出。我认为未从数据库中检索数据,或者变量r可能为空。UID Im测试是表中的唯一条目,并且与标签ID匹配,因此没有理由抛出其他声明,有什么想法吗?

from tkinter import *
import sqlite3 as sql
import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522

reader = SimpleMFRC522()

global r
global uid_tag
def chk():
    Database = sql.connect('MedaDataBase.db')
    # cursor
    c= Database.cursor()

    #Query uid database
    c.execute("SELECT*,userID FROM Users ")

    #Fetch all uids from Database
    r= c.fetchall()

    if r:
        #Getting user uid from tag 
        id,uid_tag = reader.read()
        print(uid_tag)
        checker()

def checker():
    global uid_tag
    global r
    for x in r:
        #If userId from tag is in the database 
        if uid_tag == x:

            print("User Verified")
        else:
            print("Denied")    
            Database.commit()
            Database.close()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。