瀏覽代碼

Fixed code error when mssql returns multiple columns (#4420)

Fixed code error when mssql returns multiple columns
tags/v0.16.0
so95 9 月之前
父節點
當前提交
f86d8906e7
沒有連結到貢獻者的電子郵件帳戶。
共有 1 個檔案被更改,包括 6 行新增3 行删除
  1. 6
    3
      agent/component/exesql.py

+ 6
- 3
agent/component/exesql.py 查看文件

@@ -112,8 +112,11 @@ class ExeSQL(Generate, ABC):
if cursor.rowcount == 0:
sql_res.append({"content": "\nTotal: 0\n No record in the database!"})
break
single_res = pd.DataFrame([i for i in cursor.fetchmany(self._param.top_n)])
single_res.columns = [i[0] for i in cursor.description]
if self._param.db_type == 'mssql':
single_res = pd.DataFrame.from_records(cursor.fetchmany(self._param.top_n),columns = [desc[0] for desc in cursor.description])
else:
single_res = pd.DataFrame([i for i in cursor.fetchmany(self._param.top_n)])
single_res.columns = [i[0] for i in cursor.description]
sql_res.append({"content": "\nTotal: " + str(cursor.rowcount) + "\n" + single_res.to_markdown()})
break
except Exception as e:
@@ -143,4 +146,4 @@ class ExeSQL(Generate, ABC):
return None

def debug(self, **kwargs):
return self._run([], **kwargs)
return self._run([], **kwargs)

Loading…
取消
儲存