我试图从C#中的存储过程获取返回值,但它总是返回{}。我的代码如下:从存储过程获取返回值
SqlCommand cmd = new SqlCommand ();
cmd.CommandText = "EXEC dbo.verifyEmailDomain @Domain, @RESULT";
cmd.Connection = con;
SqlParameter domain_p = new SqlParameter ("@Domain", SqlDbType.NVarChar);
domain_p.Value = domain;
cmd.Parameters.Add (domain_p);
SqlParameter ret = new SqlParameter("@RESULT", SqlDbType.Int);
ret.Direction = ParameterDirection.Output;
cmd.Parameters.Add (ret);
con.Open ();
cmd.ExecuteNonQuery ();
var value = cmd.Parameters ["@RESULT"].Value;
con.Close ();
我也试图设置 “ret.Direction = ParamaterDirection.ReturnValue” 无济于事
存储过程如下:
ALTER PROCEDURE [dbo].[verifyEmailDomain]
-- Add the parameters for the stored procedure here
@Domain nvarchar(200),
@RESULT INT OUTPUT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT @RESULT = COUNT(*)
FROM Josh.dbo.refDomains
WHERE LOWER(EMAIL_DOMAIN)=LOWER(@Domain)
RETURN @RESULT
END
我编辑了你的标题。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 – 2014-11-24 17:04:44