我正在努力解决Python MySql、PyMySql 中的“更新”功能

问题描述 投票:0回答:1

代码如下所示。 “vare”是我要更新的部分

def update():
                sqlCon = pymysql.connect(host = "localhost", user = "root", password = "root", database = "varehusdb")
                cur =sqlCon.cursor()
                cur.execute("update vare set Betegnelse=%s, Pris=%s, KatNr=%s, Antall=%s, Hylle=%s where VNr=%s",(

                Betegnelse.get(),
                Pris.get(),
                KatNr.get(),
                Antall.get(),
                Hylle.get(),
                VNr.get(),

                ))
                sqlCon.commit()
                sqlCon.close()
                tkinter.messagebox.showinfo("Data Entry Form", "Record Updated Successfully")



编辑:谢谢!

我基于我在 youtube 上看到的本教程 https://youtu.be/dxOPaIX4qt4?feature=shared

这是一个非常有用的视频。我让一切都正常工作,退出,添加数据,信息,重置..虽然我不得不使用一个技巧来使“显示”工作,但总体工作得很好。

但是每次我尝试正常运行它,然后按我想要更改的 str 的“更新”按钮。据说一切顺利……没有发生任何事情。如果我按“删除”按钮,也会发生同样的情况。如果我尝试搜索一个值......它只是说“没有找到这样的记录”。这通常意味着它找不到您输入的值。

那么我对这三个函数做错了什么?

为了使其与显示功能一起使用,我在 Visual Studio 中使用了本教程 https://youtu.be/tnlGr1LeZDs?feature=shared 这有效。但对于更新、删除和搜索功能,我完全一无所知。

编辑 cur.commit() 成功了。 谢谢!我认为它不适用于删除或搜索功能。但总比没有好,并且对于更新功能来说效果很好。非常感谢!

python mysql pymysql
1个回答
0
投票

确保您尝试更新的值(Betegnelse、Pris、KatNr、Antall、Hylle、VNr)在执行时具有正确的值,这一点至关重要。您可以在更新语句之前打印这些值进行调试:

print(Betegnelse.get(), Pris.get(), KatNr.get(), Antall.get(), Hylle.get(), VNr.get())
© www.soinside.com 2019 - 2024. All rights reserved.