線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2725
推到 Plurk!
推到 Facebook!

執行StoredProcedure後,如何傳回影響總筆數的變數

尚未結案
lontan
一般會員


發表:1
回覆:1
積分:0
註冊:2005-08-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-08-31 13:03:11 IP:61.222.xxx.xxx 未訂閱
請教各位大大: 我有一支StoredProcedure程式執行後,StoredProcedure內部程式主要是SELECT跟JOIN其他資料表後所產生的資料去UPDATE到一個資料表上,資料異動一次有超過數筆, 但是我沒有在StoredProcedure程式最後去SELECT此次異動的筆數,因為資料是累加到資料表上的,若是用SELECT COUNT(*) 的話,這樣StoredProcedureru就會把前次紀錄給SELECT進來, 例如: SELECT * INTO #TEMP FROM ORDERS 就會顯示此次影響 N 個資料列 那麼我要在StoredProcedure程式裡面怎傳回" N "這個變數值到我的Delphi程式中?? 我有瀏覽過文章 但是都沒找到符合我的答案 不知道用@@ROWCOUNT是不是可以達到功效.....在此先謝謝各位大大解答!!
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-08-31 16:05:38 IP:203.95.xxx.xxx 未訂閱
Hi, 你可以利用 RowAffected 來取得最後影響的列數! 但前提是使用 TADOQuery 或使用 TQuery 來執行 stored procedure, 而不是使用 TADOStoredProc, 因為前兩者才有 RowAffected 屬性.
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-08-31 17:56:31 IP:220.132.xxx.xxx 未訂閱
lontan 你好: 另一個建議,若真的無法減少搜尋的數量,則由update前來判斷 ex: if exists ( select * from [objects] where [name] = '??' ) begin Update ..... end
------
======================
昏睡~
不昏睡~
不由昏睡~
lontan
一般會員


發表:1
回覆:1
積分:0
註冊:2005-08-18

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-09-02 10:30:10 IP:210.192.xxx.xxx 未訂閱
引言: Hi, 你可以利用 RowAffected 來取得最後影響的列數! 但前提是使用 TADOQuery 或使用 TQuery 來執行 stored procedure, 而不是使用 TADOStoredProc, 因為前兩者才有 RowAffected 屬性.
timhuang大大您好: 只能透過TADOQuery 或使用 TQuery 來執行嗎?? 若是是用上面那兩個元件,要怎麼呼叫stored procedure...這小弟真的沒用過 昨天小弟倒是有試過@@ROWCOUNT放在stored procedure這個語法 因為我只試這個SELECT * INTO #TEMP FROM ORDERS語法去測試成功 Delphi裡面只要TADOStoredProc設定變數正確就可以接收N值了 因為UPDATE語法會牽動到資料庫,所以沒去試,但是我想應該可行的 所以就把語法丟給我組長了@@" 倒是要怎麼透過 > 發表人 -
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-09-02 18:46:48 IP:203.95.xxx.xxx 未訂閱
舉個例子給你參考,    
  ...
  ADOQuery1.SQL.Text := 'exec sp_test';
  ADOQuery1.ExecSQL;
  ShowMessage(IntToStr(ADOQuery1.RowsAffected));
  ...
系統時間:2024-06-01 23:07:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!