您的位置:首页 > 编程语言 > ASP

ASP.NET调用存储过程返回值 输入输出参数

2010-06-15 12:09 776 查看

ASP.NET调用存储过程返回值 输入输出参数

ASP.NET调用存储过程返回值 输入输出参数
关键代码:前台

<div>

ALTER PROCEDURE dbo.StoredProcedure1
<br />
        @a int,
<br />
        @b int
<br />
AS
<br />
        RETURN @a+@b<br />
<br />
获取存储过程的返回值:<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<br />
<br />
<hr />
ALTER PROCEDURE dbo.StoredProcedure2<br />
         @a int,
<br />
        @b int,
<br />
        @c int output
<br />
AS
<br />
        Set @c = @a + @b<br />
<br />
获取存储过程的输出参数值:<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>

</div>

后台代码:

/// <summary>
/// 获取存储过程返回值
/// </summary>
public void getReturnValue()
{
using (SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings[0].ToString()))
{
conn.Open();
SqlCommand cmd = new SqlCommand("StoredProcedure1", conn);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter[] spr ={
new SqlParameter("@a",SqlDbType.Int),
new SqlParameter("@b",SqlDbType.Int)
};
spr[0].Value = 1;
spr[1].Value = 2;
foreach (SqlParameter p in spr)
{
cmd.Parameters.Add(p);
}

cmd.Parameters.Add(new SqlParameter("@return", SqlDbType.Int));
cmd.Parameters["@return"].Direction = ParameterDirection.ReturnValue;
cmd.ExecuteNonQuery();
Label1.Text = cmd.Parameters["@return"].Value.ToString();

}
}
/// <summary>
/// 获取存储过程输出参数的值
/// </summary>
public void getOutputValue()
{
using(SqlConnection conn=new SqlConnection(ConfigurationManager.AppSettings[0].ToString()))
{
conn.Open();
SqlCommand cmd = new SqlCommand("StoredProcedure2", conn);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter p1 = new SqlParameter("@a", SqlDbType.Int);
p1.Value = 1;
SqlParameter p2 = new SqlParameter("@b", SqlDbType.Int);
p2.Value = 2;
SqlParameter p3 = new SqlParameter("@c", SqlDbType.Int);
p3.Direction = ParameterDirection.Output;

cmd.Parameters.Add(p1);
cmd.Parameters.Add(p2);
cmd.Parameters.Add(p3);

cmd.ExecuteNonQuery();
Label2.Text = cmd.Parameters[2].Value.ToString();

}

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: