如果用户位于变量上,我将数据库更改为包含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()