从存储过程 pymssql 获取 return 值

get return value from store procedure pymssql

我正在使用 python

中的 pymssql 框架设置我的连接和 return 来自 sql-server 的错误值

这是我的 Python 代码与 pymssql 框架

with pymssql.connect(self.server,self.userID,self.password,self.database) as conn:
    with conn.cursor() as cursor:
        msg = curosr.callproc("TESTVALUE")
        print (msg["return"])

我从 msg 收到错误消息,没有 return 变量

如果我使用 C# 语言获取 return 值,这就是我能做的:

errCode = (int)Cmd.Parameters["return"].Value;

这是我的存储过程

ALTER PROCEDURE dbo.TESTVALUE
AS
BEGIN
    #Some query
    IF 1 == 1 #Some Logic
       Return -631 #The Return Value that i need to get
END

我需要使用 python 代码和 pymssql 框架

获取 Return -631 值

如何获得 return 值 ini python?请帮忙

您可以使用 匿名代码块 来执行存储过程并检索 return 值:

sql = """\
SET NOCOUNT ON;
DECLARE @rv int;
EXEC @rv = dbo.TESTVALUE;
SELECT @rv;
"""
crsr.execute(sql)
return_value = crsr.fetchone()[0]
print(return_value)  # -631