SQL SERVER存储过程的输出参数,返回值与结果集

2022-11-12 09:53:23
内容摘要
这篇文章主要为大家详细介绍了SQL SERVER存储过程的输出参数,返回值与结果集,具有一定的参考价值,可以用来参考一下。 对此感兴趣的朋友,看看idc笔记做的技术笔记!每个存储过程
文章正文

这篇文章主要为大家详细介绍了SQL SERVER存储过程的输出参数,返回值与结果集,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

每个存储过程都有默认的返回值,默认值为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。

注:关于SQL SERVER存储过程的输出参数,返回值与结果集的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!