database代码:
def update(self, **kwargs):
try:
param = [kwargs['ITEM_CLASS'], kwargs['CODE_HIS'], kwargs['NAME_HIS'], kwargs['CODE_LOCAL_YB'], kwargs['NAME_LOCAL_YB'],
kwargs['NATION_CODE'], kwargs['FEE_GRADE'], kwargs['OUTP_INDI'], kwargs['INP_INDI'],
kwargs['MEMO']]
self.cursor.execute(self._update, param)
self.conn.commit()
return True
except mysql.Error as e:
print("错误信息:%s" % str(e))
return False
GUI代码
def update(self, event):
ITEM_CLASS = self.view.entry_ITEM_CLASS.get()
CODE_HIS = self.view.entry_CODE_HIS.get()
NAME_HIS = self.view.entry_NAME_HIS.get()
CODE_LOCAL_YB = self.view.entry_CODE_LOCAL_YB.get()
NAME_LOCAL_YB = self.view.entry_NAME_LOCAL_YB.get()
NATION_CODE = self.view.entry_NATION_CODE.get()
FEE_GRADE = self.view.entry_FEE_GRADE.get()
OUTP_INDI = self.view.entry_OUTP_INDI.get()
INP_INDI = self.view.entry_INP_INDI.get()
MEMO = self.view.entry_MEMO.get()
print(1)
if ITEM_CLASS != '' and CODE_HIS != '' and NAME_HIS != '' and CODE_LOCAL_YB != '' and NAME_LOCAL_YB != '' and \
NATION_CODE != '' and FEE_GRADE != '' and OUTP_INDI != '' and INP_INDI != '':
if self.db.update(ITEM_CLASS=ITEM_CLASS, CODE_HIS=CODE_HIS, NAME_HIS=NAME_HIS, CODE_LOCAL_YB=CODE_LOCAL_YB,
NAME_LOCAL_YB=NAME_LOCAL_YB, NATION_CODE=NATION_CODE, FEE_GRADE=FEE_GRADE,
OUTP_INDI=OUTP_INDI, INP_INDI=INP_INDI, MEMO=MEMO):
self.refresh('')
_thread.start_new_thread(lambda: tk.messagebox.showinfo(message='更新成功~'), ())
else:
_thread.start_new_thread(lambda: tk.messagebox.showinfo(message='更新失败!'), ())
else:
_thread.start_new_thread(lambda: tk.messagebox.showinfo(message='请补全信息'), ())
**
不报任何错误,但就是更新不了,求帮忙看看**
self._update里存的是什么呢
加句跟踪看看情况
def update(self, **kwargs):
try:
param = [kwargs['ITEM_CLASS'], kwargs['CODE_HIS'], kwargs['NAME_HIS'], kwargs['CODE_LOCAL_YB'], kwargs['NAME_LOCAL_YB'],
kwargs['NATION_CODE'], kwargs['FEE_GRADE'], kwargs['OUTP_INDI'], kwargs['INP_INDI'],
kwargs['MEMO']]
ret = self.cursor.execute(self._update, param)
print('update return ' , ret , '\nparam ', param)
self.conn.commit()
return True
except mysql.Error as e:
print("错误信息:%s" % str(e))
return False
1、 你先把 self._update 最后的 ; 去掉
我记得在python 的mysql 库里 , 这个;会导致sql命令不执行。
2、 另外
['1', '666', '1213', '21321321', '21423423', '3123123', '2', '1', '0', '']
最后是空
self._update = 'UPDATE his_vs_insur_catalog SET CODE_HIS=%s, NAME_HIS=%s, CODE_LOCAL_YB=%s,NAME_LOCAL_YB=%s, NATION_CODE=%s ,FEE_GRADE=%s, OUTP_INDI=%s, INP_INDI=%s, MEMO=%s WHERE ITEM_CLASS=%s'
最后一个 where ITEM_CLASS= ‘’ , 那就不执行任何 update 啦。