Tkinter: как проверить, соответствует ли ввод пользователя в виджете записи определенной информации в базе данных - PullRequest
0 голосов
/ 03 августа 2020

Я пытаюсь создать систему входа в систему, в которой я закодировал ее так, чтобы, когда пользователь создает новое имя пользователя и пароль, он сохранял их в базе данных.

Когда пользователь входит в систему, я хочу иметь возможность проверить, соответствует ли ввод пользователя данным, находящимся в базе данных, и если нет, показать окно сообщения об ошибке. Как мне это сделать?

Пока что я создал эту функцию, которая получает всю информацию из базы данных, и оператор if, который сравнивает то, что ввел пользователь, с информацией, уже содержащейся в базе данных. Я хочу, чтобы пользователь создал столько имен пользователей и паролей и по-прежнему позволял пользователю входить в систему.

def login():
    data = sqlite3.connect("account.db")
    c = data.cursor()

    c.execute("SELECT * FROM accounts")
    records = c.fetchall()

    for record in records:
        recorded = record

    if recorded != entry_username.get():
        message = messagebox.showerror("Error", "Incorrect Username or Password")
    elif recorded != entry_password.get():
        message = messagebox.showerror("Error", "Incorrect Username or Password")

    data.commit()
    data.close()

Вот как выглядит моя база данных:

from tkinter import *
import sqlite3

root = Tk()
root.title("Database")

data  = sqlite3.connect("account.db")

c = data.cursor()

c.execute("""CREATE TABLE accounts (
          username text,
          password text
          )""")

data.commit()

data.close()

Спасибо за помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...