程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> 存儲過程的輸出參數,返回值與結果集

存儲過程的輸出參數,返回值與結果集

編輯:更多數據庫知識

每個存儲過程都有默認的返回值,默認值為0。下面我們分別看看在management studio中如何查看輸出參數,返回值以及結果集,然後我們再在ASP.NET調用存儲過程中如何獲得輸出參數,返回值以及結果集。

首先:在sql server management studio中查看輸出參數,返回值以及結果集。本示例以Northwind數據庫為例。
復制代碼 代碼如下:
create proc Employee
@Rowcount int=0 output
as
begin
SELECT * FROM [Northwind].[dbo].[Employees]
set @Rowcount=@@ROWCOUNT
end

運行以上存儲過程的代碼如下:
運行代碼
復制代碼 代碼如下:
USE [Northwind]
GO
DECLARE @return_value int,
@MyOutput int
EXEC @return_value = [dbo].[Employee]
@Rowcount = @MyOutput OUTPUT
SELECT @MyOutput as N'輸出參數的值'
SELECT 'Return返回的值' = @return_value
GO

輸出的結果如下:

可以看出是通過EXEC @return_value = [dbo].[Employee] @Rowcount = @MyOutput OUTPUT中的return_value變量來獲得返回值,而用MyOutput變量來獲得了輸出變量值,此處的MyOutput變量相當於引用傳遞!
接下來將討論ASP.NET調用存儲過程中如何獲得輸出參數,返回值以及結果集。

復制代碼 代碼如下:
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("server=.;database=Northwind;uid=sa;pwd=1;");
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText="Employee";
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter para = new SqlParameter("@Rowcount", SqlDbType.Int, 4);
para.Direction = ParameterDirection.Output;
cmd.Parameters.Add(para);
cmd.Parameters.Add("@return_value", SqlDbType.Int, 4);
cmd.Parameters["@return_value"].Direction = ParameterDirection.ReturnValue;
con.Open();
cmd.ExecuteNonQuery();
Response.Write(cmd.Parameters["@Rowcount"].Value.ToString()+"<br/>");
Response.Write(cmd.Parameters["@return_value"].Value.ToString());
}

此處定義了Rowcount輸出變量,以及return_value返回值變量。輸出Roucount輸出變量的值為9,而return_value的值為0。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved