Отслеживание онлайн-пользователей с использованием базы данных с Python - PullRequest
0 голосов
/ 10 апреля 2019

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

это то, какбаза данных была создана

    cursor.execute('''
    CREATE TABLE IF NOT EXISTS user(
    userID INTEGER PRIMARY KEY,
    username VARCHAR(20) NOT NULL,
    password VARCHAR(20) NOT NULL,
    user_on INTEGER(20) NOT NULL);
    ''')

Это код, который я пытаюсь использовать в своей функции входа в систему.

               find_user_lite = ("SELECT * FROM user WHERE username = ?")
                cursor.execute(find_user_lite,[(username)])
                if cursor.fetchall():
                    on_state = int(1)
                    change_state = ("UPDATE user SET user_on = ? WHERE username = ?")
                    cursor.execute(change_state,[(on_state),(username)])

Когда я нажимаю кнопку входа в систему, у меня появляется отдельная server.py, котораявыполняет большинство операций администрирования базы данных, таких как просмотр базы данных, создание новых пользователей и т. д.

Когда я пытаюсь запустить функцию, отображающую текущих пользователей, ничего не отображается, кроме [].
gyazo.com

Вот функция, которая отображает текущих онлайн-пользователей:

def display_users():
    with sqlite3.connect("apc.db") as db:
        cursor = db.cursor()
    cursor.execute("SELECT * FROM user WHERE user_on")
    print(sum(cursor.fetchall()))
    db.commit()
...