首页 > 解决方案 > 没有错误产生,但数据库中的记录没有更新

问题描述

def amendStaff(): 
    global STAFFIDVar,STAFF_FORENAMEVar,STAFF_SURNAMEVar,STAFF_DOBVar,STAFF_CONTACTVar,STAFF_EMAILVar,STAFF_ADDRESSVar,STAFF_POSTCODEVar
#getting the variable from the entry form
STAFFID=STAFFIDVar.get()
STAFF_FORENAME = STAFF_FORENAMEVar.get()
STAFF_SURNAME = STAFF_SURNAMEVar.get()
STAFF_DOB = STAFF_DOBVar.get()
STAFF_CONTACT = STAFF_CONTACTVar.get()
STAFF_EMAIL = STAFF_EMAILVar.get()
STAFF_ADDRESS = STAFF_ADDRESSVar.get()
STAFF_POSTCODE = STAFF_POSTCODEVar.get()

conn=sqlite3.connect('Database.db') #opens the database
cursor = conn.execute('SELECT * FROM STAFF')
cursor.execute('UPDATE STAFF SET STAFF_FORENAME = ? ,STAFF_SURNAME=? ,STAFF_DOB = ? , STAFF_CONTACT=? ,STAFF_EMAIL=?, STAFF_ADDRESS=?  ,STAFF_POSTCODE=? WHERE STAFFID = ?', (STAFFID,STAFF_FORENAME,STAFF_SURNAME,STAFF_DOB,STAFF_CONTACT,STAFF_EMAIL,STAFF_ADDRESS,STAFF_POSTCODE))
#amends the record
conn.commit() #saves the changes
conn.close() #closes the database
messagebox.showinfo("DATABASE ACTION",str("Record Updated"))

标签: pythonsqlsqlite

解决方案


更新中的参数乱序,staffid 应该排在最前面。


推荐阅读