储存过程的代码: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类似上面客户那种方式返回?
谢谢!