Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将数据从条目小部件导出到SQL代码中_Python_Sql_Tkinter_Sqlite - Fatal编程技术网

Python 将数据从条目小部件导出到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)

因此,我在前面发现了这段非常有用的代码,它创建了输入框,当它们被创建时,我可以编辑其中的内容。加载的数据取自SQL表。一旦我对输入框进行了编辑,我想提交数据以覆盖该sql记录中以前存在的数据,因为它正在被编辑。我找到的代码是:

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猜测是您的主键,在数据库中,您不应该编辑主键。主键也应该是自动递增的