線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1339
推到 Plurk!
推到 Facebook!

最后一条记录无法update

答題得分者是:P.D.
luowy651
高階會員


發表:257
回覆:313
積分:114
註冊:2003-04-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-01-02 10:44:10 IP:125.121.xxx.xxx 訂閱

各位大大好:
我遇到一个问题,如图,最后一条记录如果不指向别处,就不会被update,这是怎么回事啊?
不胜感激!
編輯記錄
luowy651 重新編輯於 2008-01-02 10:47:46, 註解 無‧
luowy651 重新編輯於 2008-01-02 10:48:24, 註解 無‧
luowy651 重新編輯於 2008-01-02 10:50:53, 註解 無‧
luowy651 重新編輯於 2008-01-02 11:44:11, 註解 無‧
luowy651 重新編輯於 2008-01-02 11:44:44, 註解 無‧
luowy651 重新編輯於 2008-01-02 11:45:19, 註解 無‧
luowy651 重新編輯於 2008-01-02 11:46:04, 註解 無‧
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-01-02 11:52:33 IP:61.67.xxx.xxx 未訂閱
沒看你的程式, 不過就放上來的圖片, 利用dbgrid 進行異動時, 你必須在異動完成後移動欄位到其他地方才會觸發 afterpost的功能, 否則table 仍是處 edit mode, 這也就是解釋了你的問題
luowy651
高階會員


發表:257
回覆:313
積分:114
註冊:2003-04-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-01-02 12:58:25 IP:125.121.xxx.xxx 訂閱
非常谢谢P.D.大大!
情况正如您所言,那么,那么,是否有解决的方法呢?或者我一定要移动栏位到其他地方才能完成异动?我用的是adotable


===================引 用 P.D. 文 章===================
沒看你的程式, 不過就放上來的圖片, 利用dbgrid 進行異動時, 你必須在異動完成後移動欄位到其他地方才會觸發 afterpost的功能, 否則table 仍是處 edit mode, 這也就是解釋了你的問題
編輯記錄
luowy651 重新編輯於 2008-01-02 13:10:53, 註解 無‧
luowy651
高階會員


發表:257
回覆:313
積分:114
註冊:2003-04-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-01-02 15:45:25 IP:125.121.xxx.xxx 訂閱
我试过以下code,但都没效果:
adotable1.Edit;
adotable1.next;
adotable1.Post;
adotable1.UpdateBatch;

如果说一定要移到别的记录上去才能完成异动,那么,只有一条记录该如何呢?
編輯記錄
luowy651 重新編輯於 2008-01-02 15:46:10, 註解 無‧
eaglewolf
資深會員


發表:4
回覆:268
積分:429
註冊:2006-07-06

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-01-02 17:12:33 IP:211.75.xxx.xxx 訂閱
在離開DBGrid時 檢查ADOTable的狀態是否仍停留在Edit
若是 則自行作Post的動作(或是做必要的檢查 然後決定作post 或cancel)
===================引 用 luowy651 文 章===================
非常谢谢P.D.大大!
情况正如您所言,那么,那么,是否有解决的方法呢?或者我一定要移动栏位到其他地方才能完成异动?我用的是adotable


===================引 用 P.D. 文 章===================
沒看你的程式, 不過就放上來的圖片, 利用dbgrid 進行異動時, 你必須在異動完成後移動欄位到其他地方才會觸發 afterpost的功能, 否則table 仍是處 edit mode, 這也就是解釋了你的問題
------
先查HELP
再查GOOGLE
最後才發問

沒人有義務替你解答問題
在標題或文章中標明很急
並不會增加網友回答速度

Developing Tool:
1.Delphi 6
2.Visual Studio 2005
3.Visual Studio 2008
DBMS:
MS-SQL
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-01-03 00:28:21 IP:61.67.xxx.xxx 未訂閱
基本上不建議用dbgrid 來做為input 的工具, 如果真的要, 試試在 dbgrid.oncolexit 上寫

if adotable.state in [dsinsert, dsedit] then begin
adotable.post;
adotable.edit; --> 下 edit 目的是讓 table 再回復到 edit 模式
end;

沒有實作過, 請自行測試
luowy651
高階會員


發表:257
回覆:313
積分:114
註冊:2003-04-09

發送簡訊給我
#7 引用回覆 回覆 發表時間:2008-01-04 09:47:03 IP:60.177.xxx.xxx 訂閱
感谢P.D.大大,也非常感谢eaglewolf!
系統時間:2024-05-02 9:24:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!