以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 储存过程中的返回参数是否只能是受影响的行数? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=144131) |
-- 作者:happyft -- 发布时间: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类似上面客户那种方式返回? 谢谢! |
-- 作者:有点蓝 -- 发布时间:2019/12/11 17:19:00 -- 返回值只能是整数值 |