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. Tomcat日志catalina.out文件过大的处理方法

    原文地址:http://lcbk.net/tomcat/1396.html 我们知道一般企业使用Tomcat 作为Web端时,它产生的日志会越来越大,特别是catalina.out这个日志文件,然而有 ...

  2. [Swust OJ 1125]--又见GCD(数论,素数表存贮因子)

    题目链接:http://acm.swust.edu.cn/problem/1125/ Time limit(ms): 1000 Memory limit(kb): 65535   Descriptio ...

  3. BZOJ 1093: [ZJOI2007]最大半连通子图( tarjan + dp )

    WA了好多次... 先tarjan缩点, 然后题意就是求DAG上的一条最长链. dp(u) = max{dp(v)} + totu, edge(u,v)存在. totu是scc(u)的结点数. 其实就 ...

  4. iOS 常用开源代码整理

    本文章不定期整理. 1.AFNetworking AFNetworking 采用 NSURLConnection + NSOperation, 主要方便与服务端 API 进行数据交换, 操作简单, 功 ...

  5. Python 模块续和面向对象的介绍(六)

    一.基本模块 shutil 文件.目录.压缩包的处理模块 shutil.copyfile(src, dst) 拷贝文件 >>> shutil.copyfile('a.log','b. ...

  6. java中排序一个字符串数组

    package test_set_map; import java.util.Arrays; import java.util.Collections; public class Test_Colle ...

  7. 《编程之美》学习笔记——指挥CPU占用率

    问题: 写一个程序.让用户来决定Windows任务管理器(Task Manager)的CPU占用率(单核). 有下面几种情况: 1.CPU占用率固定在50%,为一条直线 2.CPU的占用率为一条直线, ...

  8. NDK如何调试系统核心动态库(无系统源码的情况)

    版权归薛定諤耗子所有,转载请表明出处. 1,有源码,需要导入符号表 2,没有源码,如何调试 1)运行ndk-gdb:../../ndk-gdb --verbose --launch=com.examp ...

  9. VMware Workstation下VMnet1等虚拟网卡与主机网卡之间的关系

    VMware Workstation下VMnet1等虚拟网卡与主机网卡之间的关系 本文出自 "王春海的博客" http://wangchunhai.blog.51cto.com/2 ...

  10. Matlab中S函数建立与应用

    function [sys,x0,str,ts] = sfuntmpl(t,x,u,flag) % SFUNTMPL 是M-文件 S函数模板 %  通过剪裁,用户可以生成自己的S函数,不过一定要重新命 ...