關于關閉打開query的問題. |
尚未結案
|
zwsoft
一般會員 發表:20 回覆:17 積分:10 註冊:2002-11-18 發送簡訊給我 |
|
junlin
初階會員 發表:66 回覆:94 積分:42 註冊:2002-03-13 發送簡訊給我 |
|
joshua_jia
一般會員 發表:0 回覆:2 積分:0 註冊:2003-04-08 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 從語法的角度來講﹐小弟比較第一種寫法﹐一般來講﹐在使用資料集元件(如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 發送簡訊給我 |
引言: 如果需多次使用哪一種效率比較高,為什么? 1. close; sql.add('..........'); open; {...........} 2. sql.add('.........'); open; {...........} close;我覺得應該要看你是用在何處。 如果你的 query 是用將資料一直顯示在畫面上,那就應該會用第一種方式,直到妳所需的資料條件有變動時才會做 close。否則你 open 後,最後又 close ,資料就不見了。 如果 query 是用來抓去資料的,那用第 2 種會比較節省被佔用。 §§§ 量力而為 §§§ 當覺得力量不足時,就是該為自己充電的時候了。 |
zwsoft
一般會員 發表:20 回覆:17 積分:10 註冊:2002-11-18 發送簡訊給我 |
[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一次
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |