二、ADOCommand組件
ADOCommand向數(shù)據(jù)庫發(fā)送SQL指令并返回請求的數(shù)據(jù)集。
ADOCommand組件主要用于運行一些數(shù)據(jù)定義語言(DDL)的SQL命令或者運行一個沒有返回結(jié)果的存儲過程。對于返回結(jié)果集的SQL語句,則最好使用TADODataset、TADOQuer或TADOStoredProc組件。盡管ADOCommand組件的Exexute方法可以返回一個結(jié)果集,但卻是通過另一個ADO數(shù)據(jù)集組件來使用該記錄集。
TADOCommand組件與ADOCommand對象相似,所以ADOCommand組件中的屬性和方法在ADOCommand對象中都能找到相同的餓名字,并且具有相同的作用。如果使用ASP開發(fā)過動態(tài)網(wǎng)頁,對此一定會有深刻的認識。
TADOCommand代表了ADOCommand(ADO命令)對象,它通過一個ADO提供者訪問數(shù)據(jù)庫。TADOCommand組件執(zhí)行的是其CommandText屬性中設(shè)置的命令,通過調(diào)用Execute方法執(zhí)行該命令。如果該命令中需要使用參數(shù),則通過Parameters屬性設(shè)置,該屬性與BDE數(shù)據(jù)集Tquery組件的Params屬性的作用及設(shè)置方法相同。
? ADOCommand的主要屬性
1) CommandText
指定要執(zhí)行的SQL命令,可以手工編寫,也可以利用CommandText編輯器對話框來設(shè)置這個屬性。
CommandText編輯器是專門用來為ADO組件來編寫SQL命令的。Table列表框用來列出數(shù)據(jù)庫中所有的表,選中一個表,單擊”Add Table to SQL”按鈕,CommandText編輯器就會自動把表名插入SQL命令的相應(yīng)位置。在選中某個表的同時,這個表中的所有字段都會自動地列在Fields列表框里。同樣,選中Fields列表框中的一個字段,單擊”Add Fields to SQL”,字段就會插入到SQL命令中。
2) CommandType
指定要執(zhí)行的命令的種類:
CommandType的參數(shù)及說明
參數(shù) 說明
cmdUnknown 未知的命令類型
cmdText 文本類型
cmdTable 命令中指定的是一個表的名稱
cmdStoredProc 命令中指定的是一個存儲過程的名稱
cmdFile 命令中指定的是保存數(shù)據(jù)集的文件名
cmdTableDirect 命令中指定的是表的名稱,并返回所有的列
3) Connection
指定所使用的數(shù)據(jù)源連接組件的名稱,即ADOConnection組件的名稱,通過這個屬性使得ADOCommand能與數(shù)據(jù)庫連接起來。
4) Paramcheck
指定在SQL命令動態(tài)改變的時候,是否需要重置參數(shù)列表。
5) Parameters
執(zhí)行SQL命令時要用到的參數(shù),在參數(shù)查詢中,即在SQL命令中或在存儲過程中需要傳遞參數(shù)的時候才需要設(shè)置這個值,并且在命令類型CmmandType指定為cmdText或cmdStoredProc時,參數(shù)才有效。
? ADOCommand主要方法:
1) Cancel
中止一個正在執(zhí)行的命令
2) Assign(source:TPersistent)
把另一個ADOCommand組件的所有屬性復(fù)制到當前的ADOCommand組件中。調(diào)用的時候,按名存取組件對象。
3) Execute
執(zhí)行ADOCommand組件所包含的命令,返回結(jié)果是一個數(shù)據(jù)記錄集,可以被其他ADO組件的Recordset記錄集屬性調(diào)用。