Data Control 離開後, 沒有更新 dataset 的內容 |
答題得分者是:herbert2
|
tuga
高階會員 發表:16 回覆:109 積分:120 註冊:2002-07-13 發送簡訊給我 |
|
GrandRURU
站務副站長 發表:240 回覆:1680 積分:1874 註冊:2005-06-21 發送簡訊給我 |
我猜你應該是在游標還在DBEdit時就按下Save的Button
code應該可以這樣試試 ShowMessage(DataSet.FieldByName('ZZZ').AsString); DataSet.Post(); ShowMessage(DataSet.FieldByName('ZZZ').AsString); 看看是否還會有這樣的問題出現。 ===================引 用 tuga 文 章=================== 大家好 我碰到一個問題, 我的 foucus 在 TDBEdit, 原來是 01, 修改成 02 以後, 直接用滑鼠點存檔 button, 為什麼在 button 的 click event, dataset.FieldByName('ZZZ').AsString, 所讀到的值還是舊的, 01, 而不是 02, 請有甚麼好方法, 或是可以用 dataset 的哪一個 procedure 重新讀取一次 data controls 的資料到 dataset 裡面 ? |
tuga
高階會員 發表:16 回覆:109 積分:120 註冊:2002-07-13 發送簡訊給我 |
恩恩 第一次 Show 出來是 01, 第二次是 02,
我已經把 Code 寫到 BeforePost 了, 顯然 BeforePost 時, 已經將 TDBEdit 的 Text 寫回 Dataset 了 只是 覺得 TDBEdit 在 LostFocus 時, 應該就把資料填回 dataset 了 就好像 C# 在 DataBing 時可以指定當資料有變時, 傳回 datatable ===================引 用 GrandRURU 文 章=================== 我猜你應該是在游標還在DBEdit時就按下Save的Button code應該可以這樣試試 ShowMessage(DataSet.FieldByName('ZZZ').AsString); DataSet.Post(); ShowMessage(DataSet.FieldByName('ZZZ').AsString); 看看是否還會有這樣的問題出現。 ===================引 用 tuga 文 章=================== 大家好 我碰到一個問題, 我的 foucus 在 TDBEdit, 原來是 01, 修改成 02 以後, 直接用滑鼠點存檔 button, 為什麼在 button 的 click event, dataset.FieldByName('ZZZ').AsString, 所讀到的值還是舊的, 01, 而不是 02, 請有甚麼好方法, 或是可以用 dataset 的哪一個 procedure 重新讀取一次 data controls 的資料到 dataset 裡面 ? |
herbert2
尊榮會員 發表:58 回覆:640 積分:894 註冊:2004-04-16 發送簡訊給我 |
小弟猜的:
您用的 Button 是無 Focus 的 TSpeedButton,所以焦點並未離開 TDBEdit。 若用的是有 Focus 的 TButton 或 TBitBtn,焦點就會離開 TDBEdit,其新值就會寫入 TDataSet。 第一次 ShowMessage() ,讀 TDataSet 值時,焦點尚未離開 TDBEdit。 第二次 ShowMessage() ,焦點已於第一次 ShowMessage() 的 Form ShowModal() 時離開 TDBEdit,故讀 TDataSet 值會得其新值。
編輯記錄
herbert2 重新編輯於 2013-11-05 10:06:14, 註解 無‧
|
tuga
高階會員 發表:16 回覆:109 積分:120 註冊:2002-07-13 發送簡訊給我 |
恩恩 果然是內行人 ,
問題在於我們以為 focus 應該是移到 SpeedButton 上, 資料要寫回 dataset 了, ===================引 用 herbert2 文 章=================== 小弟猜的: 您用的 Button 是無 Focus 的 TSpeedButton,所以焦點並未離開 TDBEdit。 若用的是有 Focus 的 TButton 或 TBitButton,焦點就會離開 TDBEdit,其新值就會寫入 TDataSet。 第一次 ShowMessage() ,讀 TDataSet 值時,焦點尚未離開 TDBEdit。 第二次 ShowMessage() ,焦點已於第一次 ShowMessage() 的 Form ShowModal() 時離開 TDBEdit,故讀 TDataSet 值會得其新值。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |