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

使用Query時發生怪事!!

答題得分者是:領航天使
Ethan
版主


發表:101
回覆:170
積分:78
註冊:2006-07-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-09-08 12:26:47 IP:218.165.xxx.xxx 未訂閱
前輩!! 我使用Query連database時發生一件怪事!! 就是說我在DBGrid新增一筆時,當我按Query1.Post時,我剛剛新增的那筆就不見了!我必須關閉程式後再打開後,我剛新增的那筆就跑出來了..@@@_@@@
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-09-08 13:42:42 IP:61.219.xxx.xxx 未訂閱
引言: 前輩!! 我使用Query連database時發生一件怪事!! 就是說我在DBGrid新增一筆時,當我按Query1.Post時,我剛剛新增的那筆就不見了!我必須關閉程式後再打開後,我剛新增的那筆就跑出來了..@@@_@@@
若您使用SQL級的資料庫(如:Oracle/MS-SQL/InterBase...),資料是在您下SQL指令時傳回的,傳回的是那一個時間點的資料狀況,所以當您輸入完資料後,資料並不會立即出現在Query中的! 不然您可用CacheUpdate:=True來更新輸入的資料,那麼Post之後也可看到, 但是當您ApplyUpdate之後,還是會看不到的! 我的作法是將所有的資料用CacheUpdate一次更新,更新後記錄下我的Primary Key,Close,Open之後再Locate至該筆! 有人有更好的解決辦法嗎? ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
Ethan
版主


發表:101
回覆:170
積分:78
註冊:2006-07-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-09-08 14:28:59 IP:218.165.xxx.xxx 未訂閱
是否可以勞請站長前輩提供一下範例給小弟與大家參考,感謝!! ~>_<~
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-09-09 08:21:06 IP:61.219.xxx.xxx 未訂閱
引言: 是否可以勞請站長前輩提供一下範例給小弟與大家參考,感謝!! ~>_<~
DBGrid1指到DataSource1,DataSource1指到Query1,Query1指到DataBase1, 將Query1.CachesUpdates:=True,Query1.RequestLive:=True SQL放入SELECT * FROM CUSTOMER ORDER BY CUST_NO(以lbLocal的資料庫為例) 設一個Button1: Query1.post 另一個Burron2: id:=Query1.FieldByNAme('COST_NO').AsString; Query1.ApplyUpdates; Query1.close; Query1.open; Query1.locate('CUST_NO',id,[]); 先試看看! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
Jack0323
初階會員


發表:22
回覆:70
積分:28
註冊:2002-03-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-09-13 00:04:27 IP:211.74.xxx.xxx 未訂閱
用CacheUpdate的方式做 在加上UPDateSQL 應該可以解決您的問題
系統時間:2024-11-25 20:33:13
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!