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

ClientDataSet哪幾筆資料有修改?

尚未結案
sunny217
一般會員


發表:4
回覆:4
積分:1
註冊:2002-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-02-15 12:18:06 IP:61.62.xxx.xxx 未訂閱
請教各位前輩.. ClientDataSet在修改完數筆資料後,執行update之前,有沒有辦法 知道哪幾筆資料曾經做過修改?
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-02-15 14:01:50 IP:210.65.xxx.xxx 未訂閱
Hi sunny217,    
procedure TForm1.Button2Click(Sender: TObject);
begin
  ClientDataSet1.First;
  while not ClientDataSet1.Eof do
    begin
      case ClientDataSet1.UpdateStatus of
        usUnmodified : Showmessage(VarToStr(ClientDataSet1.FieldValues['id'])   ' - Unmodified');
        usModified : Showmessage(VarToStr(ClientDataSet1.FieldValues['id'])   ' - Modified');
        usInserted : Showmessage(VarToStr(ClientDataSet1.FieldValues['id'])   ' - Inserted');
        usDeleted : Showmessage(VarToStr(ClientDataSet1.FieldValues['id'])   ' - Deleted');
      end;
      ClientDataSet1.Next;
    end;
end;
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
delphiwww
資深會員


發表:145
回覆:363
積分:368
註冊:2002-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-02-15 15:32:20 IP:220.130.xxx.xxx 未訂閱
你可以參考李維高效率資料庫的書,上面有介紹 可以應用clientdataset.delta 了解異動的資料    
引言: 請教各位前輩.. ClientDataSet在修改完數筆資料後,執行update之前,有沒有辦法 知道哪幾筆資料曾經做過修改?
sunny217
一般會員


發表:4
回覆:4
積分:1
註冊:2002-03-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-02-15 17:32:30 IP:61.62.xxx.xxx 未訂閱
很抱歉,我應該沒把問題描述清楚... 我的ClientDataSet是用來當作暫存的Table編輯資料使用, 所以並沒有設定providerName Fishman前輩的方法抓出來的updatestatus都是inserted的狀態 不曉得是否和provider有關,或者有什麼屬性需要設定? 至於delphiwww前輩講的那本書...ㄟ...目前手邊沒有>_< 這陣子試驗透過ClientDataSet做資料編輯後,才將資料 透過Query元件寫入資料庫,覺得好難控制ClientDataSet到TQuery這段(因為 欄位格式不太一樣,需處理過才行) 目前只有新增時能批次寫入資料庫,修改與刪除資料還做不到 (新增時透過Query.AppendRecord的方式全部放入Query後,再ApplyUpdate, 但是修改與刪除不曉得要怎麼做,雖然有使用UpdateSQL,可是一直出現錯誤, 不曉得有沒有前輩使用類似的方法過??)
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-02-16 08:21:10 IP:210.65.xxx.xxx 未訂閱
Hi sunny217,    建議你直接在建立一個 DataSetProvider,關聯如下 TTable(TQuery)-->DataSetProvider-->ClientDataSet    再運用 ClientDataSet.ApplyUpdate(-1) 將暫存資料批次寫入資料庫    以下有一篇文章關於 ClientDataSet 你可以參考看看    http://delphi.ktop.com.tw/topic.php?topic_id=51084 ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
系統時間:2024-06-28 22:25:03
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!