每个存储过程都有默认的返回值,默认值为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. Android(安卓)LayoutInflater的获取及inflate()参数和返回值
  2. [Android拾怡]弱化Java方法返回值类型
  3. Android带返回值的窗口跳转
  4. Android中Service类onStartCommand的返回值问题
  5. android:跳转,Intent,有无返回值
  6. vuex的commit没有返回值,数据创建后,检查是否成功创建的一个办法
  7. 数据库--存储过程详解
  8. 函数的返回值和参数,匿名函数和变量的作用域
  9. PHP函数的返回值与参数,匿名函数与变量作用域的总结与实例

随机推荐

  1. 牛客网上的题总结下 python解法
  2. 在QGIS下开发python插件
  3. 每次部署站点时,如何使用Google App Engin
  4. 走入计算机的第十四天(python初识二)
  5. Django上的正则表达式不起作用。
  6. Centos6.10 安装Python 2.7.16
  7. python入门经典(一)
  8. 用Python和Pygame写游戏-从入门到精通(8)
  9. 字典(dict)按键(key)和值(value)排序
  10. python3使用 openpyxl 操作excel表格