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

關于關閉打開query的問題.

尚未結案
zwsoft
一般會員


發表:20
回覆:17
積分:10
註冊:2002-11-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-09 09:07:25 IP:218.17.xxx.xxx 未訂閱
如果需多次使用哪一種效率比較高,為什么? 1. close; sql.add('..........'); open; {...........} 2. sql.add('.........'); open; {...........} close;
junlin
初階會員


發表:66
回覆:94
積分:42
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-10 01:14:27 IP:140.129.xxx.xxx 未訂閱
我投2一票,我覺得query close後,記憶體會釋放,應該會跑比較快吧
joshua_jia
一般會員


發表:0
回覆:2
積分:0
註冊:2003-04-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-03-10 08:13:08 IP:219.130.xxx.xxx 未訂閱
如果你是用create來創建的,那麼第2個應該再加上一個free, 如果你是用控件連接好了的,那你在close後還會有結果嗎?
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-03-10 09:27:07 IP:63.84.xxx.xxx 未訂閱
您好﹗    從語法的角度來講﹐小弟比較第一種寫法﹐一般來講﹐在使用資料集元件(如Table, Query...)擷取資料時﹐我們都會使用資料集元件.Close; & 資料集元件.Open; 的語法結構﹐用以确保擷取回的資料是最新狀態的﹐如下﹕
begin
  Query1.Close;
  Query1.SQL.Add('......');
  Query1.Open;
end;
或者
begin
  Query1.SQL.Add('......');
  Query1.Close;
  Query1.Open;
end;
而在您的第二種寫法中﹐沒有事先Close的資料集元件﹐取回的資料不一定是最新狀態的﹒至于執行效率﹐小弟覺得這兩種應沒有什么區別﹐彼此彼此﹐但建議您使用第一種寫法﹒ 以上個人意見﹐參考看看﹗ ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
kevin622
一般會員


發表:0
回覆:22
積分:9
註冊:2003-10-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-03-10 13:07:01 IP:61.221.xxx.xxx 未訂閱
引言: 如果需多次使用哪一種效率比較高,為什么? 1. close; sql.add('..........'); open; {...........} 2. sql.add('.........'); open; {...........} close;
我覺得應該要看你是用在何處。 如果你的 query 是用將資料一直顯示在畫面上,那就應該會用第一種方式,直到妳所需的資料條件有變動時才會做 close。否則你 open 後,最後又 close ,資料就不見了。 如果 query 是用來抓去資料的,那用第 2 種會比較節省被佔用。 §§§ 量力而為 §§§ 當覺得力量不足時,就是該為自己充電的時候了。
zwsoft
一般會員


發表:20
回覆:17
積分:10
註冊:2002-11-18

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-03-26 19:19:07 IP:218.17.xxx.xxx 未訂閱
[quote] [quote] 如果需多次使用哪一種效率比較高,為什么? 1. close; sql.add('..........'); open; {...........} 2. sql.clear; sql.add('.........'); open; a:=fieldbyname('xx').value; sql.clear; sql.add('.........'); open; b:=fieldbyname('xx').value; sql.clear; sql.add('.........'); c:=fieldbyname('xx').value; open; close; 多次查詢我想這樣比較快,因為不用每次都close一次
系統時間:2024-05-20 20:19:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!