1、存储过程中不使用外部参数。

  存储过程:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: HF_Ultrastrong
-- Create date: 2015年7月19日22:09:24
-- Description: 判断是否有数据,并使用Return返回值
-- =============================================
CREATE PROCEDURE ReturnValue
AS
BEGIN
if exists(select * from Tb_Category)
return 100
else
return -100
END

  代码:

/// <summary>
/// 点击显示参数
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"].ToString());
SqlCommand cmd = new SqlCommand("ReturnValue", con);
cmd.CommandType = CommandType.StoredProcedure; //声明参数接收存储过程返回值
SqlParameter returnValue = cmd.Parameters.Add("returnValue", SqlDbType.Int, 4);
returnValue.Direction = ParameterDirection.ReturnValue; con.Open();
cmd.ExecuteNonQuery();
con.Close(); this.Label1.Text = Convert.ToString(returnValue.Value);
}

  最终效果:

2、存储过程中使用外部参数。

  存储过程:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: HF_Ultrastrong
-- Create date: 2015年7月19日22:09:24
-- Description: 判断是否有数据,并使用Return返回值
-- =============================================
CREATE PROCEDURE ReturnValue
@10 int,
@20 int,
@30 int
AS
BEGIN
if exists(select * from Tb_Category)
return 100
else
return -100
END

  代码:

/// <summary>
/// 点击显示参数
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"].ToString());
SqlCommand cmd = new SqlCommand("ReturnValue", con);
cmd.CommandType = CommandType.StoredProcedure; //参数数组
SqlParameter[] para = new SqlParameter[]
{
new SqlParameter("@10", 10),
new SqlParameter("@20", 20),
new SqlParameter("@30", 30),
new SqlParameter("@Return", SqlDbType.Int)
};
cmd.Parameters.AddRange(para);
para[para.Length - 1].Direction = ParameterDirection.ReturnValue; con.Open();
cmd.ExecuteNonQuery();
con.Close(); object obj = para[para.Length - 1].Value;
this.Label1.Text = Convert.ToString(obj);
}

  最终效果:

详细讲解:http://www.cnblogs.com/zhangweijia/archive/2013/02/04/2892054.html

MSSQL - 存储过程Return返回值的更多相关文章

  1. MSSQL - 存储过程OutPut返回值

    1.存储过程中不使用外部参数. 存储过程: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ========================== ...

  2. ADO.NET中ExcuteNonQuery获取存储过程Return返回值

    /// <summary> /// 获取当月用户已投票数量 /// </summary> /// <param name="userId">用户 ...

  3. C# 调用存储过程操作 OUTPUT参数和Return返回值

    本文转载:http://www.cnblogs.com/libingql/archive/2010/05/02/1726104.html 存储过程是存放在数据库服务器上的预先编译好的sql语句.使用存 ...

  4. C#获取存储过程的 Return返回值和Output输出参数值

    1.获取Return返回值  程序代码 //存储过程//Create PROCEDURE MYSQL//     @a int,//     @b int//AS//     return @a + ...

  5. 关于ExecuteNonQuery执行存储过程的返回值 、、实例讲解存储过程的返回值与传出参数、、、C#获取存储过程的 Return返回值和Output输出参数值

    关于ExecuteNonQuery执行存储过程的返回值 用到过ExecuteNonQuery()函数的朋友们在开发的时候肯定这么用过. if(cmd.ExecuteNonQuery("xxx ...

  6. C#获取执行存储过程的" 返回值"代码

    以下是C#代码: /// <summary> /// 执行存储过程,返回" 返回值" /// </summary> /// <param name=& ...

  7. SqlServer如何获取存储过程的返回值

    1.Output参数返回值 1 CREATE PROCEDURE [dbo].[upInformation]( 2 @age int , 3 @id bigint OUTPUT 4 ) 5 AS 6 ...

  8. 利用SQLServer查询分析器获取存储过程的返回值,检查测试存储过程

    1.存储过程没有返回值的情况(即存储过程语句中没有return之类的语句)用方法 int count = ExecuteNonQuery(..)执行存储过程其返回值只有两种情况(1)如果通过查询分析器 ...

  9. 在Delphi中如何获得SQL中存储过程的返回值?

    示例存储过程:create procedure proc_loginusername varchar(20),password varchar(20)asdeclare @result intsele ...

随机推荐

  1. AWS要进入中国了

    去年底就开始有这个传言见诸于某些媒体,说网站支持中文了要进中国了,也有说这不代表什么是谣言 这几天又听到有消息说比较靠谱就半年内的事儿 其实如果没有政策阻碍的话进中国是迟早的事情,原因如下 Amazo ...

  2. Markdown 11 种基础语法

    现在是我在学习Markdown时做的笔记.学完这些Markdown的基本使用已经不成问题. 1. 标题设置(让字体变大,和word的标题意思一样)在Markdown当中设置标题,有两种方式: 第一种: ...

  3. 关于PHPExcel类占用内存问题

    最近在帮一家公司做后台excel导出功能,使用的工具类是phpexcel,因为这个类功能比较强大.全面. 但是遇到下面一个问题: 当导出数据量达到一定数量级的时候,比如说1000条,服务器出现卡顿.白 ...

  4. POJ 2451 Uyuw's Concert(半平面交nlgn)

    //#pragma comment(linker, "/STACK:16777216") //for c++ Compiler #include <stdio.h> # ...

  5. ZOJ 1450 Minimal Circle 最小圆覆盖

    套了个模板直接上,貌似没有随机化序列 QAQ //#pragma comment(linker, "/STACK:16777216") //for c++ Compiler #in ...

  6. .NET Core & ASP.NET Core 1.0

    .NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布 众所周知,Red Hat和微软正在努力使.NET Core成为Red Hat企业版Linux (RHEL) ...

  7. 简单实用的下拉菜单(CSS+jquery)

    原文 简单实用的下拉菜单(CSS+jquery) 没什么可以说的,直接上例子 html+jquery代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTM ...

  8. adxl345的STM32驱动程序和硬件设计

    一.硬件电路接口图片 1.ADXL345硬件接口图片使用的是SPI端口进行通信,这样读取数据比较快且后续也可以转化为IIC通信接口. 在网上找一些发现IIC接口的比较多,所以本人就DIY做SPI的通信 ...

  9. Global文件(修正篇)

    什么是Global文件 Global.asax文件俗称为一个类,继承于Httpapplication类.位于应用程序根目录下.也可称为应用程序文件. 概述: Global文件是可选的,一般在创建应用程 ...

  10. 多个线程怎样操作同一个epoll fd

    自己曾经做一个接口server时候,这样的场景下我的设计是多个线程操作同一个epoll fd.彼时,我的理由是epoll的系列函数是线程安全的. 当然有人不理解为什么会有多个线程操作同一个epoll ...