我的目的是实现系统预警功能,当打开图书管理页面时,系统会统计库存量小于5的图书,该图书名变红,并且也会弹出库存不足的警告
逻辑功能代码
def update(self):
"""
更新表单
:return:
"""
ID = self.idInput.text()
if ID.strip() == "":
self.x = show_custom_message_box("系统提示", "请您选中需要编辑的内容!")
return
bookName = self.bookNameInput.text()
if bookName.strip() == "":
self.x = show_custom_message_box("系统提示", "请输入图书类别名称!")
return
author = self.authorInput.text()
if author.strip() == "":
self.x = show_custom_message_box("系统提示", "请输入图书作者名称!")
return
age = self.ageInput.text()
if age.strip() == "":
self.x = show_custom_message_box("系统提示", "请输入图书作者年龄!")
sex = "男"
if self.femaleRadio.isChecked():
sex = "女"
price = self.priceInput.text()
if price.strip() == "":
self.x = show_custom_message_box("系统提示", "请输入图书价格!")
return
stock = self.stockInput.text()
if stock.strip() == "":
self.x = show_custom_message_box("系统提示", "库存量不能为空!")
return
TID = self.bookTypeComboBoX.currentData()
if TID == -1:
self.x = show_custom_message_box("系统提示", "请选择图书类别!")
return
bookDesc = self.bookDescInput.toPlainText()
book = Book.my_construtor2(ID, bookName, author, age, sex, price, TID, bookDesc, stock)
if bookDao.update(book) > 0:
self.x = show_custom_message_box("系统提示", "修改成功!")
self.initTable()
self.resetForm()
else:
self.x = show_custom_message_box("系统提示", "修改失败!")
数据库代码
def update(book: Book) -> int:
"""
更新数据
:param s_book:
:return:
"""
con = None
try:
con = dbUtil.getCon()
cursor = con.cursor()
# 更新数据
sql = f"update t_book set bookName='{book.bookName}',author='{book.author}' ,age='{book.age}',sex='{book.sex}',price='{book.price}',TID={book.TID},bookDesc='{book.bookDesc}',stock='{book.stock}'where ID={book.ID}"
cursor.execute(sql)
con.commit()
return cursor.rowcount
except Exception as e:
print(f"更新数据时发生错误: {e}")
if con is not None:
con.rollback()
return 0
finally:
dbUtil.closeCon(con)