sqlserver2008存储过程发送post请求的传参问题

发布于 2022-09-12 03:41:24 字数 1180 浏览 15 评论 0

我需要用存储过程去post后台,我是这样写的:

if (exists (select * from sys.objects where name = 'PROC_SEOrder'))
    drop proc PROC_SEOrder
go

CREATE PROCEDURE PROC_SEOrder
    @msgId varchar(100)        --SEOrder表的id字段
AS
BEGIN

    declare @object int            --OLE对象实例
    declare @responseText varchar(4000) --文本
 
    declare @ServiceUrl as varchar(4000)
    set @ServiceUrl = 'http://172.16.68.74:8080/synchronous/hello'
    DECLARE @data varchar(max);
    --发送数据
    set @data='{  
                "id":'+@msgId+',
                "jzlb":2
            }'                    
Exec sp_OACreate 'Msxml2.ServerXMLHTTP.3.0', @Object OUT;
Exec sp_OAMethod @Object, 'open', NULL, 'POST',@ServiceUrl,'false'
Exec sp_OAMethod @Object, 'setRequestHeader', NULL, 'Content-Type','application/json'
Exec sp_OAMethod @Object, 'send', NULL, @data --发送数据
Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT
EXEC sp_OAGetErrorInfo @Object --异常输出
Select  @ResponseText
Exec sp_OADestroy @Object
 
    SET NOCOUNT ON;
    
END

然后现在可以成功的请求到后台,但是参数好像没传过去,请问这种传参的正确写法是什么?
然后假如我后台要用类似request.getParamter("key")的方式取值,那这个key到底是上面的哪个变量?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文