clientdataset.Delta使用上的二個問題 |
缺席
|
jackiemi2_seed
中階會員 發表:37 回覆:97 積分:76 註冊:2006-09-11 發送簡訊給我 |
問題一:
因無修改資料時,執行cd2.Data:=cd1.Delta;會有問題 所以必須用 if cd1.ChangeCount<=0 then判斷是否有修改資料 當有修改資料,但游標沒有移開目前的資料行, cd1.ChangeCount的值還是0 如附件程式,item='123'的值修改, 如果游標沒有移到456,則cd1.ChangeCount的值還是0 如何解決這個怪問題???? 問題二: 當item='123'的qty值由100改成200時 執行delta會出現 123,100,test1 ,200, 當item='123'的qty值由100改成200且memo值由test1改成空白時 執行delta會出現 123,100,test1 ,200, 如何判斷memo欄位是未修改還是新值為空白??? 除了到cd1捉memo欄位的值,有其他方法嗎?? thanks p.s.附件程式的save會有問題,access的文字欄位在save一直會有問題 但在ms sql就不會
------
OS : Win 7 pro Program : Delphi 7 DataBase : Ms Sql 2008 編輯記錄
jackiemi2_seed 重新編輯於 2008-06-01 14:24:29, 註解 無‧
|
jackiemi2_seed
中階會員 發表:37 回覆:97 積分:76 註冊:2006-09-11 發送簡訊給我 |
找到方法了...
1.判斷是否有修改 try cd2.Data:=cd1.Delta; cd2.First; except ShowMessage('空的, 沒有異動資料'); exit; end; 2.判斷文字型態資料改成空白 if not(VarIsEmpty(cd2.fieldbyname('memo').NewValue)) then memo:=cd2.fieldbyname('memo').Value; 判斷cd2狀態在Modified時,使用.NewValue,判斷每一個欄位是否有修改 真:未修改 假:有修改
------
OS : Win 7 pro Program : Delphi 7 DataBase : Ms Sql 2008
編輯記錄
jackiemi2_seed 重新編輯於 2008-06-06 23:19:43, 註解 無‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |