有一个函数:
import pyodbc
def foo (conn):
try:
str_error = ''
conn.autocommit = True
cursor = conn.cursor()
cursor.execute("select 1")
except Exception as error:
print(error)
str_error = str(error)
finally:
conn.autocommit = False
cursor.close()
return str_error
作为conn
一个函数,它需要通过 接收到与 sql-server 的连接pyodbc.connect()
。现在,当我尝试在代码中调用该函数时:
error = foo(my_conn)
我得到“太多值无法解压(预期为 1)”。同时,在函数之外,通过同一连接的请求也被正常处理。如何从函数返回字符串?
以下设计对我有帮助:
该函数本身如下所示:
虽然我认为执行方法不会返回任何内容,但根据文档,它总是返回光标本身。
这就是我收到错误的原因。cursor.nextset()可帮助您安全地浏览结果集。