删除python后数据库sqlite3未更新

时间:2021-05-03 17:42:48

标签: python sqlite

我在 python sqlite3 中有一个数据库,我试图根据我选择的值从中删除行。 执行完这段代码后,我在这个函数中得到了我想要的结果。但问题是,当我退出此功能并尝试打印数据库时,删除查询不起作用,但添加值的查询起作用了。谁能理解为什么?

def datamanip():
    selected = SecTree.focus()
    values = SecTree.item(selected, 'text')
    conn = sqlite3.connect('DataStore.db')
    c = conn.cursor()
    query='DELETE FROM Limits WHERE TypeCard=(?)'
    c.execute(query,(values,))
    c.execute("INSERT INTO Limits VALUES (:TypeCard,:CreaseMaxC,:CreaseMinC,:CreaseMaxA,:CreaseMinA,:WidthMaxC,:WidthMinC,:WidthMaxA,:WidthMinA)",
        {'TypeCard':values,
         'CreaseMaxC': w2data,
         'CreaseMinC': wdata,
         'CreaseMaxA': w4data,
         'CreaseMinA': w3data,
         'WidthMaxC': w6data,
         'WidthMinC': w5data,
         'WidthMaxA': w8data,
         'WidthMinA': w7data
         }
        )
    c.execute('SELECT * FROM Limits')
    records= c.fetchall()
    print(records)

编辑

必须在删除数据库后提交连接。

  conn.commit()

解决了问题。

0 个答案:

没有答案