bugfix: 修复数据库操作对象执行方法出错

This commit is contained in:
chenwj 2023-01-17 15:37:35 +08:00
parent f124bd3f25
commit 29e21caf3f
1 changed files with 7 additions and 7 deletions

View File

@ -33,7 +33,7 @@ class DB:
temp_sql = "\n".join([l.strip() for l in temp_sql.split("\n")])
# 用于输出日志
log_string = "执行SQL: {}\n参数: {}".format(temp_sql.strip(), str(kwargs)[:400])
log_string = f"执行SQL: {temp_sql.strip()}\n参数: {str(kwargs)[:400]}"
t = time.time()
try:
pars = dict(**kwargs)
@ -45,14 +45,14 @@ class DB:
if orig.args[0] in [111, 1205, 1213, 2003, 2013]:
raise
if orig.args[0] == 1044:
logger.error("(pymysql.err.OperationalError) (1044, Access denied for {})".format(self.session.bind.url))
logger.error(f"(pymysql.err.OperationalError) (1044, Access denied for {self.session.bind.url})")
logger.error(format_exc())
raise
log_string += "\n执行结果:\n 执行失败了 ,错误信息:" + str(e)
log_string += f"\n执行结果:\n 执行失败了 ,错误信息:{e}"
logger.error(log_string)
raise
except Exception as e:
log_string += "\n执行结果:\n 执行失败了 ,错误信息:" + str(e)
log_string += f"\n执行结果:\n 执行失败了 ,错误信息:{e}"
logger.error(log_string)
raise
finally:
@ -61,12 +61,12 @@ class DB:
self.rowcount = self.result.rowcount
# 插入数据时返回的主键数据
self.lastrowid = self.result.lastrowid
logger.debug("执行结果:\n 受影响行数:%d" % self.rowcount)
logger.debug(f"执行结果:\n 受影响行数:{self.rowcount}")
return self
def all(self):
# 获取查询列表。把ResultProxy和RowProxy类型封装成python的list和dict类型
data = [ i._asdict() for i in self.result]
data = [dict(zip(i.keys(), i.values())) for i in self.result]
self.result.close()
return data
@ -92,7 +92,7 @@ class DB:
row = None
# 获取第一行数据
for i in self.result:
row = i._asdict()
row = dict(zip(i.keys(), i.values()))
break
self.result.close()
return row