color:red

数据库中使用output值和return值:

数据库中使用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?
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>  
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
 
<html xmlns="http://www.w3.org/1999/xhtml">  
<head runat="server">  
    <title>使用存储过程</title>  
    <mce:style type="text/css"><!-- 
        #form1  
        {  
            margin-left: 206px;  
        }  
      
--></mce:style><style type="text/css" mce_bogus="1">        #form1  
        {  
            margin-left: 206px;  
        }  
    </style>  
</head>  
<body>  
    <form id="form1" runat="server" style="border-style: none; width: 339px;">  
    <div>  
      
    </div>  
    <asp:Label ID="Label3" runat="server" Text=" 输  入  参  数:"></asp:Label>  
    <asp:TextBox ID="Input" runat="server" BorderStyle="NotSet"></asp:TextBox>  
 <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/提交.GIF"   
        onclick="ImageButton1_Click" style="height: 20px" />  
    <hr width="95%" />  
    <br />  
    <asp:Label ID="Label1" runat="server" Text="OUTPUT参数:"></asp:Label>  
    <asp:Label ID="Output" runat="server" BorderColor="#6600FF" BorderStyle="None"   
        BorderWidth="1px" Width="100px">暂无</asp:Label>  
    <hr width="95%" />  
    <br />  
    <asp:Label ID="Label4" runat="server" Text="RETURN返回:"></asp:Label>  
    <asp:Label ID="Return" runat="server" BorderColor="#6600FF" BorderWidth="1px"   
        Width="100px" BorderStyle="None">暂无</asp:Label>  
    </form>  
</body>  
</html> 
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>使用存储过程</title>
    <mce:style type="text/css"><!--
        #form1
        {
            margin-left: 206px;
        }
   
--></mce:style><style type="text/css" mce_bogus="1">        #form1
        {
            margin-left: 206px;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server" style="border-style: none; width: 339px;">
    <div>
   
    </div>
    <asp:Label ID="Label3" runat="server" Text=" 输  入  参  数:"></asp:Label>
    <asp:TextBox ID="Input" runat="server" BorderStyle="NotSet"></asp:TextBox>
 <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/提交.GIF"
        onclick="ImageButton1_Click" style="height: 20px" />
    <hr width="95%" />
    <br />
    <asp:Label ID="Label1" runat="server" Text="OUTPUT参数:"></asp:Label>
    <asp:Label ID="Output" runat="server" BorderColor="#6600FF" BorderStyle="None"
        BorderWidth="1px" Width="100px">暂无</asp:Label>
    <hr width="95%" />
    <br />
    <asp:Label ID="Label4" runat="server" Text="RETURN返回:"></asp:Label>
    <asp:Label ID="Return" runat="server" BorderColor="#6600FF" BorderWidth="1px"
        Width="100px" BorderStyle="None">暂无</asp:Label>
    </form>
</body>
</html>
 

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

posted on 2010-08-01 02:11  永不言弃program  阅读(1518)  评论(0编辑  收藏  举报

导航

color:red