使用Python从sqlite3数据库中检索数据

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


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()


GCT1015
浏览 114回答 1
1回答

动漫人物

在 chk() 中,r 未定义为全局变量,因此您正在读取局部变量,而全局变量仍未初始化。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python