pymssql如何传递输出参数

2024-04-27 03:53:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我试过使用这个代码:

   outputparam1 = pymssql.output(int)
   outputparam2=pymssql.output(int)
   outputparam3=pymssql.output(int)

    try:
        with pymssql.connect('localhost','sa','anypassword', 'anydb') as conn:
            with conn.cursor(as_dict=True) as cursor:
                cursor.callproc("storedprocedure_name",('inputparam', outputparam1, outputparam2, outputparam3))
    except Exception,e:
        pass

这是SQL Server存储过程:

^{pr2}$

这个代码仍然抛出一个异常

Expected parameter @outputparam1..."

任何帮助都将不胜感激,谢谢


Tags: 代码localhostoutputasconnectwithsaconn
1条回答
网友
1楼 · 发布于 2024-04-27 03:53:14
cursor.callproc('storedprocedure_name', (first_param, second_param, an_output_param,))

然后返回值将在“an_output_param”变量中可用。在

你应该试试这个。在

^{pr2}$

也试试这个

sqlcmd = """
DECLARE @outputparam1 INT, @outputparam2 INT, @outputparam3 INT

EXEC storedprocedure_name
     %s, @outputparam1 OUT, @outputparam2 OUT, @outputparam3 OUT

SELECT @outputparam1, @outputparam2, @outputparam3
"""
res = conn.execute_row(sqlcmd, ('inputparam'))

相关问题 更多 >