四、ADOTable組件
ADODataset組件、ADOTable組件、 ADOQuery組件和ADOstreProc組件都是繼承自父類(lèi)TcustomADODataset ,所以在屬性、事件及方法上有許多共同的地方。
TADOTable組件只能通過(guò)ADO訪問(wèn)數(shù)據(jù)庫(kù)中單個(gè)基表的數(shù)據(jù),它即可以訪問(wèn) 一個(gè)基表中的所有數(shù)據(jù)及字段,也可以訪問(wèn)部分記錄,即通過(guò)在Filter屬性設(shè)置篩選條件實(shí)現(xiàn)。
由于TADOTable組件與其他組件不同的是,它專(zhuān)門(mén)針對(duì)數(shù)據(jù)庫(kù)中表進(jìn)行操作。
? TADOTable特有的一些屬性方法:
1) MaterSource屬性和MasterFields屬性
MaterSource屬性是用于建立主從關(guān)系的數(shù)據(jù)源,當(dāng)前的ADQTable中的數(shù)據(jù)將根據(jù)MaterSource屬性所指定的數(shù)據(jù)源變化而變化。在一個(gè)數(shù)據(jù)庫(kù)匯總,某些表之間可能存在互相關(guān)聯(lián)的,一種常見(jiàn)的情況是兩個(gè)表之間存在共同的字段。通過(guò)這些共同的字段,可以建立主從關(guān)系的關(guān)聯(lián)?梢酝ㄟ^(guò)訪問(wèn)一個(gè)表而得到另一個(gè)表的數(shù)據(jù),這種主從關(guān)系建立以后,如果用戶(hù)在主表記錄選中一條記錄,則從表中相應(yīng)的記錄自動(dòng)獲得。
MasterFields屬性指定用于建立主從關(guān)系的關(guān)聯(lián)字段,指定的字段是將主表和從表賴(lài)以存在的紐帶,這個(gè)字段必須是主從表中共有的字段。
2) Readonly
指定ADOTable中數(shù)據(jù)是否處于只讀狀態(tài)。
3) TableDirect
指定是通過(guò)表名來(lái)訪問(wèn)數(shù)據(jù)庫(kù)還是在后臺(tái)運(yùn)行SQL命令訪問(wèn)數(shù)據(jù)庫(kù),部分的數(shù)據(jù)提供者不支持通過(guò)表名對(duì)數(shù)據(jù)庫(kù)的訪問(wèn),這時(shí)的ADOTable就只能通過(guò)后臺(tái)運(yùn)行SQL的SELECT語(yǔ)句來(lái)訪問(wèn)數(shù)據(jù)庫(kù)。如果設(shè)置為T(mén)rue,則ADOTable組件在后臺(tái)運(yùn)行SQL命令訪問(wèn)數(shù)據(jù)表,為False按表名訪問(wèn)數(shù)據(jù)庫(kù),缺省值為Flase。
4) TableName
指定ADOTable要操作的表名。
只有當(dāng)設(shè)置了正確的connection或者connectionstring,Active屬性為T(mén)rue的時(shí)候,才能設(shè)置TableName屬性,表名的列表才會(huì)在ObjectInspector中顯示。
5) Append方法和AppendRecord(constValues:arrayofconst)
使用Append方法在增加一條新記錄的同時(shí),并為新記錄賦值。賦值是通過(guò)一個(gè)數(shù)組作為參數(shù)傳遞進(jìn)去的。但是必須保證數(shù)組的維數(shù)和字段數(shù)一致且順序一致。
6) Post方法
執(zhí)行Post方法,是將已經(jīng)修改完畢的記錄寫(xiě)入數(shù)據(jù)庫(kù)中。通常是每執(zhí)行完一個(gè)修改記錄的操作,執(zhí)行一次Post操作,以完成對(duì)數(shù)據(jù)庫(kù)的更新。