首先,简要介绍一下我们需要什么?

我们想在sql中用 try...catch,如果成功,就返回我们查询的值,如果失败就返回-1

所以有了以下sql语句(写在后台的)

                    string myInsert = @"begin try
insert into dbo.Categories values(@categoryName);
set @result = (select @@identity id); //设置成功返回值,这儿是我们查询自增id
end try
begin catch
set @result = -1;//设置失败返回值-1
end catch";

Sql语句已经写好,现在就是需要获取到这个@result,后台代码可以参考一下

                     //定义一个数据库执行指令
SqlCommand insertCommand = new SqlCommand(myInsert, myConnection);
//添加集合
insertCommand.Parameters.Add(new SqlParameter() { ParameterName = "categoryName", Value = catename});
//获取到result返回值,主要是这个Output
insertCommand.Parameters.Add("@result", SqlDbType.Int).Direction = ParameterDirection.Output;
insertCommand.ExecuteNonQuery();
            //这个DataConvert.ToInt32是自定义方法,是把查询到的object对象转换为int
int result = DataConvert.ToInt32(insertCommand.Parameters["@result"].Value);
if (result > ) {
categoryinfo.ID = result;
}

注:此篇随笔只供参考使用,而且也有很多小瑕疵,最主要的不是代码,逻辑才是最重要的。

接收sql语句的返回值的更多相关文章

  1. sp_executesql得到执行sql语句的返回值

    执行 sql语句,得到 变量的值 ' declare @Partition int; ); ); SET @SQLString = N'SELECT @RangeKeyOUT = $PARTITION ...

  2. Sql语句直接返回XML文件

    通过Sql语句直接返回XML文件 select UserID,UserName,AccountName,LoginPassword from users for xml raw('Users') ,r ...

  3. sql查询语句得到返回值fetchone()

    需求: 现在mysql中有一张表,表名是info,我想通过报案号4201820330114401021497在这张表里查询出它对应的id. sql = "select claim_id fr ...

  4. Jmeter的JDBC Request,sql参数化及返回值取值

    1.JDBC Request面板 Variable Name:数据库连接池的名字,需要与JDBC Connection Configuration的Variable Name Bound Pool名字 ...

  5. (七)修改上一条SQL语句,NULL值的滤空函数nvl

    修改上一条SQL语句 1.用c命令来修改(c 即 change ) 默认,光标闪烁位置指向上一条SQL语句的第一行.输入二则定位到第二行. c /错误的关键字/正确的关键字 SQL form emp; ...

  6. 18.Django原生SQL语句查询返回字典

    在django中执行自定义语句的时候,返回的结果是一个tuple ,并我不是我所期望的dict.当结果是tuple 时,如果要取得数据,必须知道对应数据在结果集中的序号,用序号的方式去得到值. 如果是 ...

  7. Python return语句 函数返回值

    return语句是从python 函数返回一个值,在讲到定义函数的时候有讲过,每个函数都要有一个返回值.Python中的return语句有什么作用,今天就来仔细的讲解一下. python 函数返回值 ...

  8. logback 打印mybatis sql mybatis 日志打印sql语句和返回结果

    logback 打印sql语句: 在logback日志文件中开启debug模式 <logger name="com.ibatis" level="DEBUG&quo ...

  9. SQLServer用sql语句怎么返回一个月所有的天数

    可用如下sql语句: select convert(varchar(10),dateadd(DAY,t2.number,t1.day),120) day from (select '2015-07'+ ...

随机推荐

  1. opencv3.3.1+vs2015+c++实现直接在图像上画掩码,保存掩码图片

    左键红右键蓝,保存为k #include "opencv2\imgproc\imgproc.hpp" // Gaussian Blur #include "opencv2 ...

  2. loj #6342. 跳一跳

    #6342. 跳一跳 题目描述 现有一排方块,依次编号为 1…n1\ldots n1…n.方块 111 上有一个小人,已知当小人在方块 iii 上时,下一秒它会等概率地到方块 iii(即不动),方块  ...

  3. The server of Apache (一)——apache服务的基本安装过程

    一.为了避免端口冲突,需要卸载linux系统中以RPM方式安装的httpd ~] # rpm -qa | grep httpd ~] # rpm -e httpd --nodeps (此处nodeps ...

  4. 2008R2 无法安装 HDP Apache 系列服务解决方案

    执行下面的 PS 就好了. 特别是 第三行在执行的时候选择 [A]   Set-ExecutionPolicy "AllSigned" Enable-PSRemoting Set- ...

  5. K3 Wise 常用表【转载】

    在后台数据库ICClassType表中,字段FID<0的是老单,FID>0的是新单.--事务类型select * from ICClassType            where  FT ...

  6. 主机和虚拟机互Ping的问题

    主机能ping通虚拟机,虚拟机能ping不通主机. 发现原来是被防火墙阻止了.打开主机防火墙禁止Ping的方式. 在ping不通的电脑上对防火墙进行如下设置:依次单击“防火墙”—“高级设置”—“入站规 ...

  7. Haproxy配置之URL重写,支持websocket

    配置文件位置:/etc/haproxy/haproxy.cfg Reqrep 正则重写 配置详情: Frontend App *: acl uri_api path_beg /api/ acl uri ...

  8. Exalogic硬件架构

    1.硬件配置见如下图表. 组件名称 满配 半配 1/4配 1/8配 Sun Rack II 1242 1 1 1 1 计算节点 X2-2.X3-2.X4-2.X5-2.X6-2 30 16 8 4 存 ...

  9. 队列 和 堆栈用python 来实现

    一.利用python列表实现堆栈和队列 堆栈: 堆栈是一个后进先出的数据结构,其工作方式就像生活中常见到的直梯,先进去的人肯定是最后出. 我们可以设置一个类,用列表来存放栈中的元素的信息,利用列表的a ...

  10. Python web前端 03 CSS属性

    Python web前端 03 CSS属性 一.文字.文本属性 1.文字属性 font-family #字体类型浏览器默认的字体是微软雅黑,字体中有多个字体的时候,如果前面的字体没有就使用后面的字体 ...