如何以三階層透過Com+來做到資料庫的存取 |
尚未結案
|
duop2
一般會員 發表:5 回覆:1 積分:1 註冊:2004-08-22 發送簡訊給我 |
各位大大們你們好,
小弟我目前想要做的是使用三階層透過Com 來做到資料庫的存取,
不過由於小弟實在是個新到不能再新的肉腳,
所以我連在自己電腦裡連Access都做不到,
而我大至的做法是只採用了ADOConnection與ADODataSet而已,
利用這個object我可以做到連線與下SQL指令,
不過後來我想要取值時,卻總是只能取回第一筆資料而已, Code如下:
If not ADODataSet1.Eof then Begin
Memo1.text := ADODataSet1.fieldbyname('Name').AsString;
end; 由於我只是用Memo來顯示,所以不知道會不會是沒換行的關係,
假設我想要把所有Select出來的資料要顯示出來,
請問各位大大,我必需要使用到哪object?
以及該下哪些指令才能夠把所有的資料全部show出來呢? 另外,我趴了很多文,想問問說
什麼時候我該使用ADODataSet?
什麼時候我該使用ADOCommand?
什麼時候我該使用ADOQuery?
以及他們的利弊為何?
還有當我要做到3-tier時,我又該採用哪些會較好? 麻煩各位大大指點了,謝謝!
|
T.J.B
版主 發表:29 回覆:532 積分:497 註冊:2002-08-14 發送簡訊給我 |
|
duop2
一般會員 發表:5 回覆:1 積分:1 註冊:2004-08-22 發送簡訊給我 |
|
mirage
初階會員 發表:40 回覆:101 積分:28 註冊:2004-01-05 發送簡訊給我 |
您好:
有個比較辛苦的做法,但一定有效:
搜尋本站的:ADO,
站內有很多範例及遇到問題的解決方法,其實看書學與看範例,一樣可以了解,不了解的再發問,相信這樣比較好.
但多層次架構並不一定要用ado,您可以用dbexpress,也可用替代元件等等,
ado只是其中1種元件而已,由何種元件開發是由您自己決定,
例:要從高雄到台北的方法有很多種,座火車只是其中一種吧!還有很多種方式可以到台北的,如游泳.走路.座飛機......等.
如由dbexpress開發,有本書還有在賣"高效率資料庫程式設計"碁峰出版,李維大師著,裡面交您如何使用dbexpress元件,但沒講到實作多層次架構,實作可在本站內找到很多教學,以上希望對您有幫助.
一步一腳印,祝您成功.
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
引言: 各位大大們你們好, 小弟我目前想要做的是使用三階層透過Com 來做到資料庫的存取, 不過由於小弟實在是個新到不能再新的肉腳, 所以我連在自己電腦裡連Access都做不到, 而我大至的做法是只採用了ADOConnection與ADODataSet而已, 利用這個object我可以做到連線與下SQL指令, 不過後來我想要取值時,卻總是只能取回第一筆資料而已, Code如下: If not ADODataSet1.Eof then Begin Memo1.text := ADODataSet1.fieldbyname('Name').AsString; end; 由於我只是用Memo來顯示,所以不知道會不會是沒換行的關係, 假設我想要把所有Select出來的資料要顯示出來, 請問各位大大,我必需要使用到哪object? 以及該下哪些指令才能夠把所有的資料全部show出來呢? 另外,我趴了很多文,想問問說 什麼時候我該使用ADODataSet? 什麼時候我該使用ADOCommand? 什麼時候我該使用ADOQuery? 以及他們的利弊為何? 還有當我要做到3-tier時,我又該採用哪些會較好? 麻煩各位大大指點了,謝謝!您好﹗ 首先﹐您貼出的程式碼的問題是出在沒有資料錄指針的移動動作﹐所以取回的資 料只有第一筆了﹐改成如下試試﹕ begin ADODataSet1.First; While Not ADODataSet1.Eof do Memo1.Lines.Add(ADODataSet1.fieldbyname('Name').AsString); ADODataSet1.Next; end; 您是使用ADODataSet元件﹐故對資料的擷取可使用SQL語法﹐取出所有資 料的方法如下﹕ begin ADODataSet1.Close; ADODataSet1.SQL.Clear; ADODataSet1.SQL.Add('Select * From 資料表名稱'); ADODataSet1.Open; end; //您可使用一個DBGrid元件﹐通過DataSource連接上此ADODataSet﹐就可簡單看 出其程式碼后的取回的資料了 對于ADO資料集元件﹐提供您一些基本的使用原則如下﹕ 1.ADODataSet支援有資料回傳的SQL語法(如Select)﹐其較常用于對于資料的 擷取﹐但不适于無資料回傳的SQL語法(如Insert, Delete, Update等) 2.ADOCommand支援無資料回傳的SQL語法(如Insert, Delete, Update等)﹐其 常用于對資料庫中資料做SQL語法修改的時机﹐相比較于ADOQuery﹐對無資料回 傳的SQL語法﹐其效率較好 3.ADOQuery支援所有的SQL語法(包括有資料回傳的SQL語法和無資料回傳的SQL 語法)﹐執行SQL時對于不同的SQL語法下達的執行命令不同﹐對于有資料回傳的 SQL語法(如Select)﹐其對應的執行命令為Open﹔對于無資料回傳的SQL語法 (如Insert, Delete, Update等)﹐其對應的執行命令為ExecSQL 該使用何種資料集元件是個見仁見智的問題(好像很多書中都有寫過類似這樣的 話﹐呵呵)﹐各種元件皆有其优劣面﹐重要的我們選擇在何種時機選用何種較有 效率的資料集元件﹐多做一些Test﹐經驗累積就是最好的方法﹒以上個人意見﹐參考看看﹗ ========================= 我是您的朋友﹐有您真好﹗ ========================= 發表人 - cashxin2002 於 2004/11/25 09:20:52
------
忻晟 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |