http://dev.mjxy.cn/a-How-to-receive-the-return-value-stored-procedure.aspx
ASP.NET 里接收存储过程的返回值,需要定义参数. 而不是 ExecuteNoQuery的结果.
using (SqlConnection cn = new SqlConnection(this.ConnectionString))
{
SqlCommand cmd = new SqlCommand("Get4LayerIsA", cn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@LeftID", SqlDbType.NVarChar).Value = leftId;
cmd.Parameters.Add("@RightID", SqlDbType.NVarChar).Value = rightId;
cmd.Parameters.Add("@returnvalue", SqlDbType.Int).Direction = ParameterDirection.ReturnValue;
cn.Open();
ExecuteNonQuery(cmd);
int retVal = (int)cmd.Parameters["@returnvalue"].Value;
return (retVal == 1);
}