六、TADOStredProc組件
如果一個(gè)客戶應(yīng)用程序必須使用數(shù)據(jù)庫(kù)中的存儲(chǔ)過(guò)程,則可以使用TADOstoreProc組件,一個(gè)存儲(chǔ)過(guò)程是一組語(yǔ)句,提前建立好的保存在數(shù)據(jù)服務(wù)器上,可以反復(fù)被執(zhí)行,在服務(wù)器上完成與數(shù)據(jù)庫(kù)有關(guān)任務(wù),并將結(jié)果傳遞給客戶。
? TADOStoredProc組件的主要屬性
TADOStoredProc組件與其它ADO數(shù)據(jù)集有相似的屬性,經(jīng)常需要設(shè)置的屬性如下:
1) Active
設(shè)置為T(mén)rue時(shí),可以激活數(shù)據(jù)集;設(shè)置為False;則關(guān)閉數(shù)據(jù)集。
2) Connection
如果應(yīng)用程序中添加了TADOConnection組件,則可以通過(guò)選擇該組件來(lái)建立數(shù)據(jù)庫(kù)的連接。
3) Connectionstring
如果設(shè)置Connection屬性,則可以在該屬性中設(shè)置一個(gè)連接到數(shù)據(jù)庫(kù)的字符串。
4) DataSource
是另一個(gè)數(shù)據(jù)集對(duì)應(yīng)的數(shù)據(jù)源,用于為當(dāng)前數(shù)據(jù)集提供一些值,一般情況下,不要設(shè)置該屬性,更不能將其屬性設(shè)置為當(dāng)前數(shù)據(jù)集使用的數(shù)據(jù)源。實(shí)際上如果這樣做,在設(shè)計(jì)階段Delphi就會(huì)報(bào)錯(cuò)。
5) Filter
設(shè)置篩選記錄的條件。
6) Filtered
決定是否激活Filter中設(shè)置的篩選條件。
7) Parameters
設(shè)置數(shù)據(jù)集使用的存儲(chǔ)過(guò)程的名字,可以從下拉框中選擇。
? TADOStoredProc組件主要的方法
1) Create
該方法用于建立TADOStoredProc組件的一個(gè)實(shí)例。實(shí)際上,當(dāng)使用ADO組件面板上的TADOStoredProc組件,在一個(gè)表單或數(shù)據(jù)模塊中插入該組件時(shí),就自動(dòng)建立了一個(gè)實(shí)例,也就相當(dāng)于隱含地調(diào)用了Creat方法。所以一般很少直接調(diào)用該方法建立TADOStoredProc組件的實(shí)例。
2) close
用于銷(xiāo)毀TADOStoredProc組件的一個(gè)實(shí)例。
3) DeleteRecords
用于刪除一條或多條記錄。
4) Edit
設(shè)置數(shù)據(jù)集為編輯狀態(tài)。
5) Enable Controls
使用數(shù)據(jù)感知控件重新顯示數(shù)據(jù)。
6) Disable Controls
使數(shù)據(jù)感知控件不能顯示數(shù)據(jù)。
7) Firse
導(dǎo)航到數(shù)據(jù)集的第一條記錄。
8) Last
導(dǎo)航到數(shù)據(jù)集的最后一條記錄。
9) Prior
導(dǎo)航到數(shù)據(jù)集的前一條記錄。
10) next
導(dǎo)航到數(shù)據(jù)集的下一條記錄。
11) MoveBy
向前或向后導(dǎo)航多條記錄。
12) GetFieldData
將一個(gè)字段當(dāng)前的值提取到緩沖區(qū)中。
13) IsEmpty
判斷一個(gè)數(shù)據(jù)集是否為空。
14) open
打開(kāi)一個(gè)數(shù)據(jù)集。
15) Refresh
重新從數(shù)據(jù)庫(kù)中提取數(shù)據(jù)來(lái)更新數(shù)據(jù)集的數(shù)據(jù)。
? TADOStoredProc組件的事件
TADOStoredProc組件與TADOQuery組件的事件基本相同,所以可以參考TADOQuery組件事件的說(shuō)明。