使用Query時發生怪事!! |
答題得分者是:領航天使
|
Ethan
版主 發表:101 回覆:170 積分:78 註冊:2006-07-05 發送簡訊給我 |
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
引言: 前輩!! 我使用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 發送簡訊給我 |
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
引言: 是否可以勞請站長前輩提供一下範例給小弟與大家參考,感謝!! ~>_<~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 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |