顯示並更新資料庫資料哪一種方法比較好? |
答題得分者是:cashxin2002
|
aj0724
一般會員 發表:11 回覆:41 積分:10 註冊:2003-04-18 發送簡訊給我 |
|
terrychen
尊榮會員 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
|
豬頭寶寶
一般會員 發表:1 回覆:4 積分:1 註冊:2003-07-17 發送簡訊給我 |
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 何種環境适合使用資料感知元件﹐何種環境适合使用普通VCL元件﹐小弟個人覺得是一種實做經驗的累積﹐有如terrychen兄和豬頭寶寶兄所言﹐在一定的情況下﹐使用資料感知元件﹐對資料庫而言﹐會造成一些負擔﹐尤其是效能降低的問題﹐但反過來講﹐在Local形態的資料庫程式中﹐使用資料感知元件不無优勢之處﹐減少程式碼的撰寫等等优點也是值得參考借鑒﹐建議您根据實做內容來做合适的考量与選擇﹐得到的結果就是之前提到的經驗累積﹒加油﹗ 參考看看﹗ =====================
努力,相信會獲得美麗!
忻晟
------
忻晟 |
aj0724
一般會員 發表:11 回覆:41 積分:10 註冊:2003-04-18 發送簡訊給我 |
|
aj0724
一般會員 發表:11 回覆:41 積分:10 註冊:2003-04-18 發送簡訊給我 |
引言: 您好﹗ 何種環境适合使用資料感知元件﹐何種環境适合使用普通VCL元件﹐小弟個人覺得是一種實做經驗的累積﹐有如terrychen兄和豬頭寶寶兄所言﹐在一定的情況下﹐使用資料感知元件﹐對資料庫而言﹐會造成一些負擔﹐尤其是效能降低的問題﹐但反過來講﹐在Local形態的資料庫程式中﹐使用資料感知元件不無优勢之處﹐減少程式碼的撰寫等等优點也是值得參考借鑒﹐建議您根据實做內容來做合适的考量与選擇﹐得到的結果就是之前提到的經驗累積﹒加油﹗ 參考看看﹗ ===================== 努力,相信會獲得美麗! 忻晟請教一下忻晟大大... 您說使用感知元件會造成資料庫的負擔,可是不是當你再對資料作動作時,才會去連資料庫ㄇ?那跟動態去下sql作動作,對資料庫而言,不是有一樣的負擔ㄇ? 感謝賜教! |
sanhang
一般會員 發表:12 回覆:25 積分:17 註冊:2002-08-31 發送簡訊給我 |
引言:照你說的方式,基本上作瀏覽的動作也不會一直下SQL 一般會將Result cache 到DataSet(TQuery)中 然後以Next等方式取出到Edit中作顯示罷了 兩種方式各有利弊,青菜籮蔔各有所好 以目前電腦處理效率的快速,不使用DB-Aware元件的方式可能會較不方便 程式碼也多了一堆(我想這是Programmer最不願意看到的吧) 至於資料的異動,我則是比較偏好直接下SQL啦引言: 您好: 之前參加站長舉辦之研討會,他們的產品不用DB的原因 是考量效能,應該是不要一直連著資料庫 等需要時再對資料庫做存取 引述Delphi.Ktop風紀小隊---[ 發問前請先找找舊文章 ]---那請教一個問題: 如果是更新的話是不常作動作,所以需要再去連接即可。但是像是做上下一筆資料的瀏覽的話,不斷的使用sql語法去select會比連接db元件來的好ㄇ? 感謝賜教! |
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 一般來講﹐使用的資料感知元件會通過DataSource元件連接上游的資料集元件﹐資料集元件對資料庫進行任何查詢或異動作業時﹐資料感知元件皆會即時的反應出其中的變化﹐在資料筆數非常多的情況下﹐就會產生效能部分的降低﹐不知您是否有接触到資料量非常之大的程式﹐每每一個動作﹐都會等上好半天﹐資料感知元件(特別是DBGrid元件)也是反复的做一些即時的資料顯示動作﹒ 基于以上的缺點﹐其實也是有解決的方法﹐資料集元件有兩個相關的方法﹐DisableControls和EnableControls﹐作用分別是斷開資料集元件和下游元件(如資料感知元件)的連接和恢复資料集元件和下游元件(如資料感知元件)的連接﹒語法如下﹕
ADOTable1.DisableControls;
ADOTable1.EnableControls; 尋找一下前段時間的文章﹐有這方面相關的問題解答﹒ 參考看看﹗ <><>=====================
努力,相信會獲得美麗!
忻晟>>
------
忻晟 |
terrychen
尊榮會員 發表:90 回覆:794 積分:501 註冊:2003-05-01 發送簡訊給我 |
引言:上下一筆瀏覽並不需要不斷的使用sql語法去select,只是於dataset.prior or dataset.next如此處理而已,基本上若表單上沒有很複雜的資料庫存取動作,用DB元件會較方便 ~~應無所住而生其心~~引言: 您好: 之前參加站長舉辦之研討會,他們的產品不用DB的原因 是考量效能,應該是不要一直連著資料庫 等需要時再對資料庫做存取 引述Delphi.Ktop風紀小隊---[ 發問前請先找找舊文章 ]---那請教一個問題: 如果是更新的話是不常作動作,所以需要再去連接即可。但是像是做上下一筆資料的瀏覽的話,不斷的使用sql語法去select會比連接db元件來的好ㄇ? 感謝賜教! |
aj0724
一般會員 發表:11 回覆:41 積分:10 註冊:2003-04-18 發送簡訊給我 |
|
Sanyuan
一般會員 發表:24 回覆:32 積分:11 註冊:2002-06-23 發送簡訊給我 |
小弟再撰寫及維護程式的時候
也有這種困擾
目前所維護的系統
是非感知元件的grid
是hyperGrid,也就是一切都輸入完畢後,再組成sql回寫回去資料庫
欄位的控制麻煩就別提了
不過最近有個需求,讓我更困擾
目前還不知道怎麼解
原本有二十幾個欄位,現在要在第三個欄位後面新增加兩個新欄位
問題來了,原先程式碼都是 cells[5,i] 來代表第五個欄位的值
新增加以後,程式碼裡所有的cells[x,i]全部要改,混亂非常
再加上hyper的控制介面
光想就....
所以目前還沒動工 使用非感知元件在設定一些屬性及選項
真的很方便
不過要修改欄位的位置
想到就怕
還是有更好的解決方式呢?
小弟的經驗,供各位參考
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |