从存储过程 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
我正在使用 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