Python SQLite Update Function 不起作用



我正在使用Python 3.7.5和SQLite3 3.X以及Tkinter(但这无关紧要(,我似乎无法更新名为"帐户"的表格

try:
Cursor.execute("""CREATE TABLE Account (
Application text,
Username text,
Password text)""")
except sqlite3.OperationalError:
Cursor.execute("""UPDATE Account SET
Application = :NewApp,
Username = :NewUser,
Password = :NewPass
WHERE oid = :oid""",
{"NewApp": NewApplicationE.get(),
"NewUser": NewUsernameE.get(),
"NewPass": NewPasswordE.get(),
"oid": X[3]
})

try 位只是创建表(如果还没有表(,如果有,则继续更新表 我知道有一个名为应用程序、用户名、密码和变量 .get(( 的列都返回正确的字符串 作为 X[3] 的 oid 给你一个整数

该程序运行,但实际上似乎没有更新任何内容。 任何有关格式的帮助或一般情况将不胜感激

我认为您只需提交更改即可 我假设您从连接处获取光标, 例如,这样的东西应该有效:

import sqlite3
conn = sqlite3.connect('example.db')c = conn.cursor()
Cursor = conn.cursor()
try:
Cursor.execute("""CREATE TABLE Account (
Application text,
Username text,
Password text)""")
conn.commit()
except sqlite3.OperationalError:
Cursor.execute("""UPDATE Account SET
Application = :NewApp,
Username = :NewUser,
Password = :NewPass
WHERE oid = :oid""",
{"NewApp": NewApplicationE.get(),
"NewUser": NewUsernameE.get(),
"NewPass": NewPasswordE.get(),
"oid": X[3]
})
conn.commit()
conn.close()

裁判https://docs.python.org/3/library/sqlite3.html

相关内容

最新更新