如何解决使用Python从sqlite3数据库检索数据
所以我试图从我的sqlite3数据库中检索所有用户ID。当用户单击按钮时,系统提示我扫描标签(rfid),我有一个带检入Button
的tkinter gui。我试图在将标签扫描到数据库中的所有用户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()
解决方法
在chk()中,r未定义为全局变量,因此您正在读取局部变量,并且全局变量仍未初始化。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。