1. 程式人生 > >接收sql語句的返回值

接收sql語句的返回值

try 個數 exec cnblogs output 失敗 lpar col end

首先,簡要介紹一下我們需要什麽?

我們想在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語句已經寫好,[email protected],後臺代碼可以參考一下

                     //定義一個數據庫執行指令
                    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語句的返回值