我有一个返回cursor的连接函数,我正在使用pymysql连接我的数据库,还有另一个文件使用连接函数执行sql语句,但是当我获取行时它返回一个错误raise err.ProgrammingError("execute() first")
下面是从我的数据库配置文件扩展的连接函数
def kasaa():
try:
conn = mysql.connect()
cursor = conn.cursor(pymysql.cursors.DictCursor)
return cursor
except Exception as e:
print(e)
但是当我调用employee类中的kasaa()
时,它首先引发了一个execute()
错误
def get_multiple_info(self,employees_ids):
"""Get info of multiple Employees in database"""
try:
for employee_id in employees_ids:
kasaa().execute(
"SELECT * FROM ospos_employees WHERE ospos_employees.deleted = 0 AND ospos_employees.person_id = %s ",
employee_id
)
row = kasaa().fetchone()
return row()
except Exception as e:
print(e)
finally:
kasaa().close()
kasaa()
中的代码执行了两次,因此fetchone()
实际上是在没有execute()
的情况下调用的。获取cursor
并使用它调用其他函数相关问题 更多 >
编程相关推荐