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

關於ADOTable的onFilterRecord的問題

答題得分者是:scotthsiao
cswang1210
一般會員


發表:46
回覆:42
積分:17
註冊:2005-01-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-08-24 14:17:48 IP:210.201.xxx.xxx 未訂閱
各位好: 我有一個tadotable元件,裡面使用到onfilterRecord來過濾我要的資料, 結果我在另一個功能來update這個table時....就會當在那裡...後來我看資料是有update成功...所以想說是不是產生lock...這個問題使用ttable元件是不會有的...我想是不是tadotable本身的問題,我該怎麼解決才好...謝謝! 程式碼: 片段一: procedure TDataModule1.resultTBFilterRecord(DataSet: TDataSet; var Accept: Boolean); begin Accept:= DataSet['STATUS'] <>'1'; end; --------- 片段二: ........ resultTB.Edit; resultTB.FieldByName('STATUS').value:='1'; resultTB.Post; resultTB.Refresh; .......
scotthsiao
高階會員


發表:13
回覆:324
積分:147
註冊:2005-02-01

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-08-24 15:33:00 IP:211.74.xxx.xxx 未訂閱
ADO 元件在遇上 NULL 值時,常常不會判斷,如果是這種情形,直接指定型別就可以避免錯誤。 如 FieldByName('fieldname').AsString ;
way888
初階會員


發表:32
回覆:76
積分:36
註冊:2005-05-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-08-26 01:33:07 IP:61.216.xxx.xxx 未訂閱
這個問題我好像也有遇過,後來發現 ADODataSet或是ADOTable好像不用下Refresh指令,只要下Post指令就好了 建議您試試將 resultTB.Refresh; 這行取消看看,資料庫也是一樣會更新,原因我不知道。 還有建議您下Post時用try..except..end會好一些 例... try resultTB.Post; except resultTB.Cancel; showmessage('錯誤'); end;
系統時間:2024-06-25 13:42:22
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!