首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pymssql如何传递输出参数

pymssql如何传递输出参数
EN

Stack Overflow用户
提问于 2017-12-23 12:53:40
回答 1查看 1.1K关注 0票数 0

我试过使用以下代码:

代码语言:javascript
复制
   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

这是Server存储过程:

代码语言:javascript
复制
ALTER PROCEDURE [dbo].[storedprocedure_name]
     (@inputparam NVARCHAR(100),                                         
      @outputparam1 INT OUTPUT,
      @outputparam2 INT OUTPUT,
      @outputparam3 INT OUTPUT)
AS
BEGIN
END;

此代码仍然引发异常。

预期参数@outputparam1 1.“

任何帮助都是非常感谢的,谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-23 13:13:35

代码语言:javascript
复制
cursor.callproc('storedprocedure_name', (first_param, second_param, an_output_param,))

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

在你的情况下你应该试试这个。

代码语言:javascript
复制
cursor.callproc("storedprocedure_name", ('inputparam', outputparam1, outputparam2, outputparam3,))

也试试这个

代码语言:javascript
复制
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'))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47952669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档