数据库中使用output值和return值:
-------------------------------------------------------
--数获存储过程中的OUTPUT参数和返回值获取
-------------------------------------------------------
CREATE PROCEDURE Proc_Test;1
@INPUT int,
@OUTPUT int output
AS
BEGIN
SET NOCOUNT ON;
SELECT @OUTPUT=@INPUT
RETURN @INPUT+1
END
GO
--调用output值和return返回值
DECLARE @OUT int,@RETURN int
EXEC @RETURN=Proc_Test;1
0,
@OUT output
SELECT [返回值]=@RETURN,[OUTPUT值]=@OUT
返回值 OUTPUT值
----------- -----------
1 0
-----------------------------------------------------
-- SP_EXECUTESQL中的OUTPUT参数获取
-----------------------------------------------------
DECLARE @Para1 int,@Para2 int,@SUM int
EXECUTE SP_EXECUTESQL
N'SELECT @SUM=@Para1+@Para2 ',
N'@Para1 INT,@Para2 INT,@SUM INT OUTPUT ',
5,5,@SUM OUTPUT
SELECT [OUTPUT值]=@SUM
OUTPUT值
-----------
10
======================================================================
下面在.net下调用存储过程:
view plaincopy to clipboardprint?
使用存储过程#form1
{
margin-left: 206px;
}
-->
{
margin-left: 206px;
}
οnclick="ImageButton1_Click" style="height: 20px" />
BorderWidth="1px" Width="100px">暂无
Width="100px" BorderStyle="None">暂无
使用存储过程#form1
{
margin-left: 206px;
}
-->
{
margin-left: 206px;
}
οnclick="ImageButton1_Click" style="height: 20px" />
BorderWidth="1px" Width="100px">暂无
Width="100px" BorderStyle="None">暂无
view plaincopy to clipboardprint?
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
//定义数据库连接和SqlCommand对象
SqlConnection Conn=new SqlConnection(ConfigurationManager.ConnectionStrings["TestConnection"].ToString());
SqlCommand Cmd=new SqlCommand("Proc_Test;1",Conn);
Cmd.CommandType = CommandType.StoredProcedure;
//指定参数类型
SqlParameter input = Cmd.Parameters.Add("@INPUT", SqlDbType.Int);
SqlParameter output = Cmd.Parameters.Add("@OUTPUT", SqlDbType.Int);
SqlParameter return_ = Cmd.Parameters.Add("@RETURN", SqlDbType.Int);
//指定参数方向
input.Direction = ParameterDirection.Input;
output.Direction = ParameterDirection.Output;
return_.Direction = ParameterDirection.ReturnValue;
//参数赋值
if (Input.Text == "")
{
input.Value = 0;
}
else
{
input.Value = Convert.ToInt32(Input.Text);
}
//调用存储过程
Conn.Open();
Cmd.ExecuteNonQuery();
Conn.Close();
Output.Text = output.Value.ToString();//获取output值
Return.Text = return_.Value.ToString();//获取返回值
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ai_li7758521/archive/2009/12/29/5102190.aspx