如何讓DatasetProvider只傳資料集中任意十筆資料 |
缺席
|
syene
一般會員 發表:17 回覆:12 積分:5 註冊:2003-01-04 發送簡訊給我 |
問題:
1.Webmodule中ClientDataset所下的sql commandtext查到的資料record size變大時,會影響速度,但實際上只需依需求其中任意十筆資料,也就是DatasetProvider只要傳WebModule想要的十筆資料就行,請問該如何?(WebModule跟DatasetProvider不在同步機器上,用socketconnection連接) 2.在ClientDataset的commandtext:
select * from tablename
where (fieldname like '%st1%') or
(fieldname like '%st2%') or
(fieldname like '%st3%') ... 去存取AP Server(連線方式同上)上的資料庫
發現要like的子字串越多,速度越慢,即使傳給ClientDataset的資料只有二三十筆.請問如果要在單一record中搜尋符合一個以上的KEYWORD有無更好的solution
ㄋ? 3.將查詢到的Content中符合的子字串(Caseinsensitive)全部改變顏色或者字型的其他屬性,因為用pos找字串會因大小寫lost掉一些符合的字串,而若以stringreplace函式
則會因replacetext的關係改變原文的字元大小寫,請問delphi有無類似Perl的regex比對完成之後也能取出原文字串,以供程式進一部處理.
| ||
jieshu
版主 發表:42 回覆:894 積分:745 註冊:2002-04-15 發送簡訊給我 |
引言: 1.Webmodule中ClientDataset所下的sql commandtext查到的資料record size變大時,會影響速度,但實際上只需依需求其中任意十筆資料,也就是DatasetProvider只要傳WebModule想要的十筆資料就行,請問該如何?(WebModule跟DatasetProvider不在同步機器上,用socketconnection連接)要前十筆,ClientDataSet.PacketRecords設成10就好,其他應該沒有辦法。 引言: 2.在ClientDataset的commandtext: select * from tablename where (fieldname like '%st1%') or (fieldname like '%st2%') or (fieldname like '%st3%') ... 去存取AP Server(連線方式同上)上的資料庫 發現要like的子字串越多,速度越慢,即使傳給ClientDataset的資料只有二三十筆.請問如果要在單一record中搜尋符合一個以上的KEYWORD有無更好的solution ㄋ?這是一定的,條件越多,查詢資料的時間越久,頂多只能加些Index,讓速度快些。 引言: 3.將查詢到的Content中符合的子字串(Caseinsensitive)全部改變顏色或者字型的其他屬性,因為用pos找字串會因大小寫lost掉一些符合的字串,而若以stringreplace函式 則會因replacetext的關係改變原文的字元大小寫,請問delphi有無類似Perl的regex比對完成之後也能取出原文字串,以供程式進一部處理.這方面不是很懂,覺得應該是用StringReplace到源頭去處理。
------
人生有夢,逐夢而行 人若為善,福雖未至,禍已遠離 人若為惡,禍雖未至,福已遠離 http://www.taconet.com.tw/jieshu/ |
||
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |