码迷,mamicode.com
首页 > 数据库 > 详细

接收sql语句的返回值

时间:2017-08-09 11:20:55      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:type   span   style   convert   end   而且   exe   cti   .exe   

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

我们想在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 > 0) { categoryinfo.ID = result; }

 

 

 

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

接收sql语句的返回值

标签:type   span   style   convert   end   而且   exe   cti   .exe   

原文地址:http://www.cnblogs.com/Joker37/p/7323890.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!