全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:747
推到 Plurk!
推到 Facebook!

請問一個sql語句的問題

答題得分者是:writeman
oktony
中階會員


發表:67
回覆:132
積分:64
註冊:2004-12-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-11 17:33:34 IP:222.79.xxx.xxx 未訂閱
我現在要做的是:在一個人事變動的form裏,按下save button后,能紀錄下變動情況到另一個人事變動紀錄表裏面。sql語句如下: if dbcbMonth.Field.OldValue <> null then //如果合同期值更變 if VarToStr(dbcbMonth.Field.NewValue) <> VarToStr(dbcbMonth.Field.OldValue) then Parameters.ParamValues['memo']:='合同期由' VarToStr(dbcbMonth.Field.OldValue) '个月改为' VarToStr(dbcbMonth.Field.NewValue) '个月'; if dbcbDept.Field.OldValue <> null then //如果部門更變 if VarToStr(dbcbDept.Field.NewValue) <> VarToStr(dbcbDept.Field.OldValue) then Parameters.ParamValues['memo']:='部门由' VarToStr(getOldDeptValue) '改为' VarToStr(dbcbDept.Field.NewValue); ExecSQL; 可是按上面那樣做的話,如果2个值同時被改變的話,因爲部門寫在後面,memo裏面只能存入部門的更變紀錄。爲了解決這個問題,我可以再多一個判斷條件判斷部門和合同期2个同時改變,可是如果有10个更變的值的話這種方法不是太過麻煩?有沒有什麽好方法,來達到某個值更變的話,就append在memo後面,而不是覆蓋掉?謝謝!
writeman
初階會員


發表:31
回覆:34
積分:28
註冊:2004-02-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-12 11:46:52 IP:61.60.xxx.xxx 未訂閱
hi 你可以先宣告一個字串把會改到的東西串起來 在設定給parameter 大致像這樣子 var str: string; str:= ''; if(合同期有改) then str:= str 改變的值 #13 #10; //#13 #10為換行 if(部門有改) then str:= str 改變的值 #13 #10; Parameters.ParamValues['memo']:= str; execsql;
oktony
中階會員


發表:67
回覆:132
積分:64
註冊:2004-12-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-12-12 13:38:27 IP:222.77.xxx.xxx 未訂閱
嗯嗯好方法,我好笨連這個都沒想到呵呵,謝啦!
系統時間:2024-06-25 13:55:15
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!