Foxtable(狐表)用户栏目专家坐堂 → 储存过程中的返回参数是否只能是受影响的行数?


  共有2638人关注过本帖树形打印复制链接

主题:储存过程中的返回参数是否只能是受影响的行数?

帅哥哟,离线,有人找我吗?
happyft
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1930 积分:17576 威望:0 精华:0 注册:2014/7/29 19:09:00
储存过程中的返回参数是否只能是受影响的行数?  发帖心情 Post By:2019/12/11 17:11:00 [只看该作者]

储存过程的代码:
ALTER PROCEDURE [dbo].[GetOrderByID]
    @订单编号 NVARCHAR(16) ,
    @客户 NVARCHAR(50) OUTPUT
AS
    BEGIN
        SELECT  @客户 = 客户
        FROM    订单
        WHERE   订单编号 = @订单编号;
        RETURN @客户
        --IF @@Error <> 0
        --    RETURN -1;
        --ELSE
        --    RETURN 100;
    END;

前端调用的代码:
Dim cmd As new SQLCommand
cmd.ConnectionName = Mydata
cmd.CommandText = "GetOrderByID"
cmd.StoredProcedure = True
cmd.Parameters.Add("@客户2", "", False) '返回参数
cmd.Parameters.Add("@订单编号","60803031") '输入参数
cmd.Parameters.Add("@客户", "", True) '输出参数
cmd.ExecuteNonQuery
Output.Show( cmd.Parameters("@客户"))
Output.Show( cmd.Parameters("@客户2"))
执行就会出现下面的错误:
String[0]: Size 属性具有无效大小值 0。

是不是返回参数仅返回语句执行中受影响的行数,如果要返回字符等变量必须用output类似上面客户那种方式返回?

谢谢!


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/11 17:19:00 [只看该作者]

返回值只能是整数值

 回到顶部