#python #sqlite
Вопрос:
В настоящее время я создаю свое приложение, и мне нужна помощь в функции удаления, которая удаляет пользователя из базы данных с помощью пароля и имени пользователя. В настоящее время функция удаления работает наполовину, но она не может проверить, существует ли пользователь в базе данных. Вот синтаксис функции:
def delete_user_admin(self): if len(self.user_admin.get()) == 0 or self.admin_password.get() != '1111': tkinter.messagebox.showerror("Quiz App - Error", "Missing inputs or wrong password!") elif self.admin_password.get() == '1111': with sqlite3.connect("userdata.db") as db: cursur_delete = db.cursor() delete_user_statement = "DELETE FROM quizdata WHERE username = ?" cursur_delete.execute(delete_user_statement, [self.user_admin.get()]) tkinter.messagebox.showinfo("Quiz App - Information", "User deleted!") self.admin_password_entry.delete(0, 'end') self.user_entry_field.delete(0, 'end') db.commit() db.close() else: with sqlite3.connect("userdata.db") as db: cursur_exists = db.cursor() cursur_exists_statement = "SELECT EXISTS(SELECT 1 FROM quizdata WHERE username = ? COLLATE NOCASE) LIMIT 1" cursur_exists.execute(cursur_exists_statement, [self.user_admin.get()]) if cursur_exists.fetchone()[0] == 0: tkinter.messagebox.showerror("Quiz App - Error", "User not exists!") db.commit() db.close()