接收sql語句的返回值

2022-04-07 15:39:09 字數 1002 閱讀 8229

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

我們想在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() );

//獲取到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

)

ORCLE MERGE 語句 返回值

今天遇到乙個比較詭異的問題,就是使用ojdbc14.jar驅動訪問資料庫時,使用statement.execute執行merge語句後,在呼叫getupdatecount 方法檢視更新的條目數,永遠返回的是0值,但是當我換11g最新的驅動後,不論是訪問資料庫10g還是11g,都能夠正確的返回merg...

shell 函式返回值接收問題

shell中函式的呼叫方式有兩種,如下圖 第一種方式,有點像c語言呼叫函式的風格,直接把函式的執行結果複製給變數!不過,這個賦值過程和c語言的函式賦值是不一樣的!c語言中,函式呼叫,是將函式的返回值返回給被調函式,如 fun main shell中函式呼叫的第一種方式,是將標準輸出傳遞給主程式的變數...

shell 函式返回值接收問題

shell中函式的呼叫方式有兩種,如下圖 第一種方式,有點像c語言呼叫函式的風格,直接把函式的執行結果複製給變數!不過,這個賦值過程和c語言的函式賦值是不一樣的!c語言中,函式呼叫,是將函式的返回值返回給被調函式,如 cpp view plain copy fun cpp view plain co...