全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1162
推到 Plurk!
推到 Facebook!

可以在TDBGrid做類似refresh TQuery buffer 的資料

尚未結案
0316
一般會員


發表:32
回覆:19
積分:10
註冊:2002-07-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-01-02 17:36:11 IP:61.220.xxx.xxx 未訂閱
在一個TQuery搭配TDBGrid的環境裡, append一筆資料是否不論其key值大小皆 排在最後一筆, SQL=select .... from ... order by field-a,field-b 原資料(兩筆) field-a field-b field-c...... ------------------------------------ 920102 0010 ****** 920102 0020 ****** append 一筆變成..(未存檔前) 920102 0010 ****** 920102 0020 ****** 920102 0005 ****** 這筆key值比第二筆小, 但為何排在它之後 是否是因為執行.append 的關係 總而言之是不是以.insert, .append 來決定其位置 註:TQuery 是設定批次更新的模式 QueryDtl.RequestLive := True; QueryDtl.CachedUpdates := True; 泓遠
------
泓遠
T.J.B
版主


發表:29
回覆:532
積分:497
註冊:2002-08-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-01-02 18:00:37 IP:61.220.xxx.xxx 未訂閱
INSERT,APPEND 是指當你新增資料時所在位置 但是 一但動作完畢後 (不管是INSERT或APPEND) 都會在重新排序(如果沒有下排序的條件 資料庫會以預設方式來排) 你說的情形 是BUFFER內的資料 你在最後必須再去做 QUERY.CLOSE; QUERY.OPEN; 就不會像你說的情形了 天行健 君子當自強不息~~@.@
------
天行健
君子當自強不息~~@.@
0316
一般會員


發表:32
回覆:19
積分:10
註冊:2002-07-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-01-03 08:44:53 IP:61.220.xxx.xxx 未訂閱
T.J.B謝寫你的指導, 但執行TQuery.Close 之後Buffer的資料就流失了, 這好像有點問題 泓遠
------
泓遠
T.J.B
版主


發表:29
回覆:532
積分:497
註冊:2002-08-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-01-03 09:41:30 IP:61.220.xxx.xxx 未訂閱
嗯...對不起可能沒說清楚 我的意思是當你在DBGRID內輸入完資料後 這時你的DBGRID的資料是存在BUFFER內 還必須做存檔(寫回資料庫)的動作 做完存檔(寫回資料庫)的動作 才是要做 QUERY1.CLOSE; QUERY1.OPEN; 而如果你沒有做存檔(寫回資料庫)的動作 就直接做 QUERY1.CLOSE; QUERY1.OPEN; 那麼BUFFER內的資料就會被清空 PS: QUERY1.CLOSE; QUERY1.OPEN; 這兩個步驟合起來就是 Refresh 天行健 君子當自強不息~~@.@ 發表人 - T.J.B 於 2003/01/03 09:45:27
------
天行健
君子當自強不息~~@.@
系統時間:2024-07-01 9:21:30
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!