接收sql語句的返回值
阿新 • • 發佈:2017-08-09
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語句的返回值