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

TClientDataSet的更新問題?

尚未結案
chrislao
初階會員


發表:86
回覆:69
積分:36
註冊:2002-12-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-06 20:50:26 IP:202.175.xxx.xxx 未訂閱
小弟用TClientDataSet,TADOQuery,TDataSetProvider,TDBGrid,TDataSource編寫一程式,我想在對TClientDataSet作了新增或修改的動作後立即在TDBGrid內顯示出來,但系統出現了不能在ApplyUpdate之前Refresh的錯誤信息,請問可否在未ApplyUpdate之前都可以Refresh,因為我想在完成所有的修改或新增後才一拼UpDate到資料庫.
Chance36
版主


發表:31
回覆:1033
積分:792
註冊:2002-12-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-05-06 21:26:45 IP:211.20.xxx.xxx 未訂閱
chrislao 你好 TClientDataset在ChangeCount > 0 的情況下是不行Refresh的,但是當你有新增或修改資料後,ClientDataSet本來就存在Client端的Buff中,不需要Refresh就可以在dbGrid中即時反應資料了呀!
chrislao
初階會員


發表:86
回覆:69
積分:36
註冊:2002-12-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-05-07 00:08:31 IP:202.175.xxx.xxx 未訂閱
謝謝Chance36,果然即時反應在DBGrid上. 但我還有一個問題 就是有兩個DBGrid,顯示的資料都是同一個Table的資料, DBGrid1是顯示Group欄位為Null的資料, DBGrid2是顯示Group欄位不為空的資料, 但所顯示的內容就由combocox1來決定的, 即combobox1的內容為A,就在DBGrid2內顯示Group為A的資,如此類推, 我想用一個按鈕,把DBGrid1所選取的記錄移到DBGrid2內, 即把Group欄位由Null改為A,這就編寫了下列的代碼 ClintDataSet1.Edit; ClintDataSet1['Group']:=Combobox1.Text; ClintDataSet1.Post; ClintDataSet2.Edit; ClintDataSet2['Group']:=Combobox1.Text; ClintDataSet2.Post; 運行完上述的代碼之後,兩個DBGrid的內容都沒有改變,為甚麼? 怎樣可以做到我想要的效果?
Chance36
版主


發表:31
回覆:1033
積分:792
註冊:2002-12-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-05-07 00:25:32 IP:203.204.xxx.xxx 未訂閱
chrislao 你好
試試以下程式
ClientDataSet1.CommandText應該是等於'Select * from TableName Where Group Is NULL'吧      ClientDataSet1.Edit;
  ClientDataSet1['Group']:=Combobox1.Text;
  ClientDataSet1.Post;
  ClientDataSet1.ApplyUpdates(-1); // 先更新回資料庫
  ClientDataSet2.Close;
  ClientDataSet2.CommandText:='Select * From Table Name Where 
Group=''' Combobox1.Text '''';
  ClientDataSet2.Open;
{ // 以下不用
  ClintDataSet2.Edit;
  ClintDataSet2['Group']:=;
  ClintDataSet2.Post;
}
   以上是更新回資料庫後才反應到CLient端的方式 
  若你要在Clien端直接處理,到最後確定才全部更新回資料庫的話,倒有點麻煩,若真有須要的話,我再想想。
chrislao
初階會員


發表:86
回覆:69
積分:36
註冊:2002-12-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-05-07 00:49:15 IP:202.175.xxx.xxx 未訂閱
謝謝Chance36 我也覺得在Clien端直接處理,到最後確定才全部更新回資料庫的話,有點麻煩 我想這個動不會進行得太頻繁,所以先更新回資料都不會對資料做成太大負荷 發表人 - chrislao 於 2004/05/07 00:51:50
系統時間:2024-09-17 21:55:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!