我对python,sql和编程非常陌生,并且正在尝试创建一个函数,该函数从输入框中获取两个值,然后将它们插入数据库,然后更新树视图以显示更新的数据库。
我的数据库中有 3 个字段id
、username
和password
。我也不知道该为 ID 放什么,因为我认为它会自动递增,但是当我运行代码时,它需要一个值。
这是我的尝试:
def add():
with sqlite3.connect("database.db") as conn:
c = conn.cursor()
username=entry_username.get()
password=entry_password.get()
c.execute("INSERT INTO logins VALUES (?, ?, ?)", (username, password))
rows = c.fetchall()
for row in rows:
print(row)
tree.insert("", tk.END, values=row)
c.close()
感谢您的任何帮助。
如果您使用整数和主键声明了列 ID,那么它将使用 ROWID 自动递增。参考: https://www.sqlite.org/faq.html#q1
CREATE TABLE login (
id INTEGER PRIMARY KEY,
username text NOT NULL,
password text NOT NULL
);
和 插入 通过指定列名称。
INSERT INTO login (username, password) VALUES (?, ?);