觀念上的問題-DataSet與DataTable |
尚未結案
|
清心綠茶
一般會員 發表:4 回覆:4 積分:1 註冊:2004-11-23 發送簡訊給我 |
1.請問DataSet與DataTable到底有何不同?是不是一個DataSet中可以包含很多的DataTable?
如果是這樣的話
那為什麼DataSet中也會有Fields的屬性呢?
Fields屬性不是應該只存在於DataTable中嗎? 2.如果第一個問題成立的話,我要如何把一個DataTable加入某個DataSet中? 3.另外就是我使用ADOQuery去select一個資料表時
它的傳回型態是DataSet
那這個DataSet中有沒有包含DataTable? 請各位先進指點迷津感激不盡 ^_^y
|
elvis1000
一般會員 發表:6 回覆:50 積分:16 註冊:2004-12-18 發送簡訊給我 |
1. DataSet是個Borland設計好的物件,前面應該加個T,它是用來處理資料表的,依照處理的方式,我覺得應該可以分兩大類:Query(SQL) & Table。TDataSet往下延伸出好多的不同的Query(SQL) & Table,光是現在Delphi 6上的就有一堆,Ex: TTable & TQuery (BDE), TClientDataSet(獨立型的),Ado(還要帶個DLL),.....,這些都是為了要應付各種不同的資料檔所致!也就是你所說的Data Table. 可能是Paradox(db),Access(忘了),DBF,excel, cds,xml,..........,一堆,我都懶得理了! 2. TDataSet是物件,要創建Table當然有一定的方法了!不過還是要看他的後代物件而定,例如Query一定是用SQL語言,Table類的一定是用指令。連結Table則大部分都是和TDadaSource一起直接設定即可。 3. TAdoQuery也是個DataSet,就像TBitmap一樣,都只是用來處理特定類型的檔案,只是檔案格式不同罷了。 -----------------------
God bless you!
I am Dark_Angel.
------
----------------------- God bless you! I am Dark_Angel. |
bruce
中階會員 發表:19 回覆:121 積分:83 註冊:2002-04-16 發送簡訊給我 |
一,TDataset 是一個虛擬的物件,由這個物件衍生了所有相關的存取資料的物件包括:TAdoTable,TTable(就是您說的dataTable),TAdoQuery... 這是物件的階層觀念...所以您的第二個問題就不存在了,而真正可以跟TTable產生物件一對多關係的物件應該是TDataModule。 三,由上述的觀念,為什使用ADOQuery去select一個資料表時,它的傳回型態是DataSet呢,簡單的說,TDataset可以代表所有資料集的物件,如果想進一步追究,您可能要注意一下,TAdoQuery 是繼承自TCustomADODataSet,這也是一個虛擬物件,它無法判別到底是要傳回是要TAdoQuery或是TAdoTable,所以就傳回TDataSet,這是根據物件的觀念,子類別也可以是一個父類別,同時這也是物件導向中的一項很重要的特性。 以上這些物件基礎觀念,希望對您有所幫助。
|
kenspc
一般會員 發表:1 回覆:20 積分:4 註冊:2004-12-09 發送簡訊給我 |
> 1.請問DataSet與DataTable到底有何不同?是不是一個DataSet中可以包含很多的DataTable?
>如果是這樣的話
>那為什麼DataSet中也會有Fields的屬性呢?
>Fields屬性不是應該只存在於DataTable中嗎?
不知你所說的DataTable指的是不是TTable?
如果是, TDataSet是TTable的父物件(parent object), 也就是說TTable就會繼承TDataSet的屬性和方法. 2.如果第一個問題成立的話,我要如何把一個DataTable加入某個DataSet中?
因為TTable繼承TDataSet, 所TTable本身就是個TDataSet. 3.另外就是我使用ADOQuery去select一個資料表時
它的傳回型態是DataSet
那這個DataSet中有沒有包含DataTable?
其實當你在使用TTable的方法或屬性都是來至于TDataSet這個父物件
|
清心綠茶
一般會員 發表:4 回覆:4 積分:1 註冊:2004-11-23 發送簡訊給我 |
引言: > 1.請問DataSet與DataTable到底有何不同?是不是一個DataSet中可以包含很多的DataTable? >如果是這樣的話 >那為什麼DataSet中也會有Fields的屬性呢? >Fields屬性不是應該只存在於DataTable中嗎? 不知你所說的DataTable指的是不是TTable? 如果是, TDataSet是TTable的父物件(parent object), 也就是說TTable就會繼承TDataSet的屬性和方法. 2.如果第一個問題成立的話,我要如何把一個DataTable加入某個DataSet中? 因為TTable繼承TDataSet, 所TTable本身就是個TDataSet. 3.另外就是我使用ADOQuery去select一個資料表時 它的傳回型態是DataSet 那這個DataSet中有沒有包含DataTable? 其實當你在使用TTable的方法或屬性都是來至于TDataSet這個父物件大大真是太謝謝你了 雖然前面兩個大大講解的很多 不過老實說還是你的回應讓我看的最懂 也解決了我的困惑 真是謝謝你嚕^_^7 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |