Python 将数据从条目小部件导出到SQL代码中
因此,我在前面发现了这段非常有用的代码,它创建了输入框,当它们被创建时,我可以编辑其中的内容。加载的数据取自SQL表。一旦我对输入框进行了编辑,我想提交数据以覆盖该sql记录中以前存在的数据,因为它正在被编辑。我找到的代码是:Python 将数据从条目小部件导出到SQL代码中,python,sql,tkinter,sqlite,Python,Sql,Tkinter,Sqlite,因此,我在前面发现了这段非常有用的代码,它创建了输入框,当它们被创建时,我可以编辑其中的内容。加载的数据取自SQL表。一旦我对输入框进行了编辑,我想提交数据以覆盖该sql记录中以前存在的数据,因为它正在被编辑。我找到的代码是: for item in selectedetails: entry = Entry(top2) entry.insert(0, item) entry.pack() entries.append(entry)
for item in selectedetails:
entry = Entry(top2)
entry.insert(0, item)
entry.pack()
entries.append(entry)
我希望它能够输入sql代码。我试过这个,但不起作用。我想我做错了
def submitedit():
for entry in entries:
print(entry.get())
db = sqlite3.connect('TestFile')
cursor = db.cursor()
cursor.execute('''UPDATE Table SET ID=?, Name=?, Desc=? WHERE ID=?''',
("?"," ?"," ?").format(entry.get()))
cursor.close()
db.commit()
db.close()
我也试过:
db = sqlite3.connect('TestFile')
cursor = db.cursor()
cursor.execute('''UPDATE Table SET ID=?, Name=?, Desc=? WHERE ID=?''',
(entry.get())
cursor.close()
db.commit()
db.close()
谢谢
with sqlite3.connect('TestFile') as db:
cursor = db.cursor()
cursor.row_factory = sqlite3.Row
sql = "UPDATE Table Name=?, Desc=? WHERE ID=?"
cursor.execute(sql,(Name,Descr))
db.commit()
请注意,在cursor.execute
行中放置值的顺序必须与sql变量中使用的顺序相匹配,否则将在错误的时间使用错误的值。此外,我还取出了set ID,因为这是您正在搜索的内容,im猜测是您的主键,在数据库中,您不应该编辑主键。主键也应该是自动递增的