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

存储过程:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: HF_Ultrastrong
-- Create date: 2015年7月20日12:42:02
-- Description: 插入一条数据,并返回所得表示列(自动增加的字段)
-- =============================================
Alter PROCEDURE GetIdentityvalue
@ID int output
AS
BEGIN
insert into tb_Admin ([Admin],[Password]) values ('admin_2', 123456)
select @ID = @@IDENTITY
END
GO

代码:

/// <summary>
/// 点击显示数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("server=HUANGFU-PC;database=db_NetShop;integrated security = true;");
SqlCommand cmd = new SqlCommand("GetIdentityvalue", con);
cmd.CommandType = CommandType.StoredProcedure; //添加参数
//使用OutPut参数,返回新纪录的ID(ID:子增长字段)
SqlParameter ID = cmd.Parameters.Add("@ID", SqlDbType.Int, 8);
ID.Direction = ParameterDirection.Output; con.Open();
cmd.ExecuteNonQuery();
con.Close(); this.Label1.Text = Convert.ToString(ID.Value);
}

  

*在插入这一条记录之前,前面的子增长字段是16,所以执行新的插入,这一条记录的子增长ID是17.

最终效果:

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

存储过程:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: HF_Ultrastrong
-- Create date: 2015年7月20日12:42:02
-- Description: 插入一条数据,并返回所得表示列(自动增加的字段)
-- =============================================
Alter PROCEDURE GetIdentityvalue
@AdminName varchar(20),
@PassWord varchar(20),
@ID int output
AS
BEGIN
insert into tb_Admin ([Admin],[Password]) values (@AdminName, @PassWord)
select @ID = @@IDENTITY
END
GO

 

代码:

/// <summary>
/// 点击显示数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("server=HUANGFU-PC;database=db_NetShop;integrated security = true;");
SqlCommand cmd = new SqlCommand("GetIdentityvalue", con);
cmd.CommandType = CommandType.StoredProcedure; //添加参数
//使用OutPut参数,返回新纪录的ID(ID:子增长字段)
SqlParameter[] para = new SqlParameter[]
{
new SqlParameter("@AdminName", "admin_2"),
new SqlParameter("@PassWord", 123456),
new SqlParameter("@ID", SqlDbType.Int, 8)
};
cmd.Parameters.AddRange(para);
para[para.Length - 1].Direction = ParameterDirection.Output; con.Open();
cmd.ExecuteNonQuery();
con.Close(); this.Label1.Text = Convert.ToString(para[para.Length - 1].Value);
}

  

最终效果:

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

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

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

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

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

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

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

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

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

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

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

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

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

  7. .net 接收存储过程的返回值 。。。。

    .net 接收存储过程的返回值 .... Posted on 2009-06-10 20:26 且行且思 阅读(...) 评论(...) 编辑 收藏 例如在向数据库添加新数据时,需要检测是否有重复 本 ...

  8. EF中执行存储过程,获取output返回值

    EF不能直接支持执行存储过程,于是使用转化成执行SQL语句的形式,却怎么也获取不到output的值,折腾的好久,终于解决了,分享下曲折的经历: public int AddVote(int title ...

  9. SqlServer 获得存储过程的返回值(参数返回),别玩了output

    declare @dingdanid int declare @fanhuizhi int set @dingdanid = 1 exec 检测订单出库资格 @dingdanid ,@fanhuizh ...

随机推荐

  1. set--常见成员函数及基本用法

    c++ stl集合set介绍 c++ stl集合(Set)是一种包含已排序对象的关联容器. set/multiset会根据待定的排序准则,自动将元素排序.两者不同在于前者不允许元素重复,而后者允许. ...

  2. Linux 开放服务端口

    CentOS 6.5上安装Tomcat 服务器,需要开放服务端口,供其他计算机访问部署在Tomcat中的Web应用.下面是开放端口的方法. 我知道的方法有两种.下面以开放8080端口为例. 方法一:命 ...

  3. 启用nginx status状态详解

    nginx和php-fpm一样内建了一个状态页,对于想了解nginx的状态以及监控nginx非常有帮助.为了后续的zabbix监控,我们需要先了解nginx状态页是怎么回事. 1. 启用nginx s ...

  4. JVM 指令集合

    指令码 助记符 说明 0x00 nop 什么都不做 0x01 aconst_null 将null推送至栈顶 0x02 iconst_m1 将int型-1推送至栈顶 0x03 iconst_0 将int ...

  5. 如何用 new 来动态开辟一个二维数组

    一般的做法是: int **p = new int*[m]; //m行n列型 for (i = 0; i < m; ++i) { p[i] = new int[n]; for (j = 0; j ...

  6. CodeForces 519B A and B and Compilation Errors【模拟】

    题目意思还是蛮简单的,看 输入数据输出数据还是比较明显的 我用排序来写还是可以AC的 //#pragma comment(linker, "/STACK:16777216") // ...

  7. JAVA ANDROID SOCKET通信检测(SERVER)连接是否断开

    Pre 解决思路 代码后记: 客户端app上的部分代码 调用: 服务器上: 客户端判断服务器是否还活着代码: PRE 在利用socket写通讯程序的时候,想检测服务器是否还活着. 从网上找了很多资料, ...

  8. The type MultipartEntity is deprecated

    在HttpCient4.3之前上传文件主要使用MultipartEntity这个类,但如今这个类已经不在推荐使用了(过时了).随之替代它的类是MultipartEntityBuilder.关于Mult ...

  9. Swift - 异步加载各网站的favicon图标,并在单元格中显示

    下面是一个简单的应用,表格视图的各个单元格自动异步加载各个网站的favicon图标,并显示出来. 主要是复习下如何自定义单元格,单元格中图片的异步加载,以及didSet的用法. 效果图如下: 操作步骤 ...

  10. 黑马day16 jquery&amp;层次选择器

    假设想通过DOM元素之间的层次关系来获取特定元素,比如后代元素,子元素,相邻元素,兄弟元素等,则须要使用层次选择器. 1 .ancestor descendant 使用方法: $("form ...