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

n-Tier 的ClientDataSet資料儲存問題

答題得分者是:RootKit
superman
一般會員


發表:3
回覆:5
積分:1
註冊:2003-09-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-04-30 16:17:55 IP:59.120.xxx.xxx 未訂閱
TClientDataSet 透過 TDataSetProvider 與 TSQLDataSet要資料
當輸入資料時, 游標在 TDBEdit 或 TDBGrid 當未離開該物件就按下儲存鈕(TToolButton) 所輸入的資料不會儲存到資料庫中, 必須離開該 TDBEdit 或TDBGrid 的Column才行
但若是使用 TSimpleDataSet卻是可以的. WHY?
以前使用BDE時並不會啊

不知有沒有其他方式可以解決嗎? 還是我的設定有問題呢 ?

RootKit
資深會員


發表:16
回覆:358
積分:419
註冊:2008-01-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-04-30 18:03:03 IP:61.222.xxx.xxx 訂閱
沒有研究過或者我忘了。

不過一般您講的尚未寫入(停在編輯狀態還未寫入)。
Delphi 為避免這種情形是用 CheckBrowseMode 處理,如果我沒記錯。

加這一條試試。
要不然使用笨方法 Perform CM_EXIT 給 DBGrid
superman
一般會員


發表:3
回覆:5
積分:1
註冊:2003-09-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-05-01 09:41:31 IP:60.248.xxx.xxx 未訂閱
謝謝您的回答

但若使用你的方法 將會觸發 POST 或移動游標,
因為有我想輸入幾個字元後, 按下特殊HOTKEY做搜尋或其他動作,
並不想POST 或移動游標, 不知還有其他方法嗎?
RootKit
資深會員


發表:16
回覆:358
積分:419
註冊:2008-01-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-05-01 17:02:48 IP:61.222.xxx.xxx 訂閱
要誘使它 DataLink.UpdateData 
可送一個 Key = #13 但先決條件 Options 不能有 dgAlwaysShowEditor
不過你可以暫時取消傳送後再復原。

或者直接使用 UpdateRecord 應該就可以。

系統時間:2024-05-01 9:43:21
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!