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

时间:2024-01-17 21:44:30 

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

标签:存储过程,输出参数
0
投稿

猜你喜欢

  • Python实现程序判断季节的代码示例

    2022-04-04 13:30:22
  • 用AspJpeg调整文字水印透明,生成图片水印的效果

    2008-12-29 19:43:00
  • Python控制Firefox方法总结

    2023-09-08 04:00:17
  • Python切片操作深入详解

    2021-07-06 08:39:26
  • Mysql中SQL语句不使用索引的情况

    2024-01-28 04:19:57
  • Apache下禁止特定目录执行PHP 提高服务器安全性

    2023-10-25 20:10:50
  • 已解决卸载pip重新安装的方法

    2023-09-27 22:08:02
  • MySQL 删除数据库中重复数据方法小结

    2024-01-25 16:39:03
  • JS实现课程表小程序(仿超级课程表)加入自定义背景功能

    2024-04-16 09:35:09
  • 长文章自动分页类

    2008-09-10 12:11:00
  • Python多线程正确用法实例解析

    2022-03-22 14:31:58
  • Python列表推导式实现代码实例

    2023-02-07 21:35:05
  • python开发利器之ulipad的使用实践

    2021-07-25 00:55:17
  • Windows下Python3.6安装第三方模块的方法

    2022-07-18 19:08:23
  • Python函数参数基础介绍及示例

    2021-02-03 03:11:04
  • 获取select的value、text值的简单示例(jquery与javascript)

    2024-04-22 12:49:51
  • matplotlib交互式数据光标实现(mplcursors)

    2022-05-02 14:11:30
  • js 玩转正则表达式之语法高亮

    2023-06-24 05:35:42
  • python实现在IDLE中输入多行的方法

    2023-05-06 19:24:01
  • 在ironpython中利用装饰器执行SQL操作的例子

    2022-07-10 19:27:37
  • asp之家 网络编程 m.aspxhome.com