我想实现日期的增加,使用了DATEADD函数,但返回的错误显示日期是已经增加完成后但无法再插入数据库的问题?该如何修改?
数据库代码模块
def update(rbook: Rbook) -> int:
"""
更新数据
:param s_book:
:return:
"""
con = None
try:
con = dbUtil.getCon()
cursor = con.cursor()
# 更新数据
sql = f"UPDATE borrow set returnDate= DATEADD(day,7,returnDate) where bid='{rbook.bid}'"
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)
逻辑功能实现模块
def update(self):
datestr = self.timeInput.text()
date_time_obj = datetime.strptime(datestr, '%Y-%m-%d')
new_date = (date_time_obj + timedelta(days=7)).strftime('%Y-%m-%d')
borrow2 = Rbook.my_construtor2(None, None, None, new_date)
if borrowDao.add(borrow2) > 0:
self.x = show_custom_message_box("系统提示", "续借成功!")
self.resetForm()
self.initTable()
else:
self.x = show_custom_message_box("系统提示", "续借失败!")
返回的错误
Conversion failed when converting the varchar value '2024-05-03' to data type int