這裏,我們來介紹BDE組件中常用的幾個組件:
1.TTable組件
使用TTable組件可通過BDE訪問單個表的數據,其提供了對底層數據庫的每一條記錄和字段的直接訪問。下面介紹幾個重要的屬性
1.1 DataSource
當TTable組件作爲主從表體系中的從表時,通過這個屬性可以獲得和主表相關聯的TDataSource組件。
1.2 Exists
判斷底層的數據庫表是否存在。
1.3 IndexDefs
一個關於表的索引定義的列表。列表中的每一個元素都是TindexDef類型的對象,描述了表的一個可用的索引。
1.4 KeyExclusive
記錄域是一個表中記錄的子集,可用上界和下界標明記錄域的範圍,以便從記錄中篩選子集。
1.5 KeyFieldCount
用來確定部分鍵搜索時所用的字段。
1.6 MasterFields
在主從表體系中,MasterSource屬性指出作爲主表的數據源,而MasterFields指出聯繫字段。
1.7 StoreDefs
若StoreDefs爲真,則表的索引和字段定義就與窗體或數據模塊一同存儲。默認爲假。
1.8 TableType
用來確定表的類型(但對於遠程數據庫服務器而言,沒有意義)
1.9 CachedUpdates
使用CachedUpdates屬性可以打開或關閉對TTable組件應用緩存更新。當本屬性爲真時,對數據的更新如回傳更新、插入新紀錄或刪除記錄將會被存儲在客戶機內部的緩存中,等到修改完成後,在使用事務將所有緩存的對數據庫的修改回傳到底層數據庫。這個屬性主要用在開發兩層數據庫應用程序的客戶端程序中。(但可能會遇到數據一致性問題)
1.10 Filter
使用Filter確定TTable組件的過濾器字符串
1.11 FilterOptions
確定當過濾字符串和字符字段時,是否大小寫敏感。
1.12 Bof、Eof
Bof
確定數據集中的第一條記錄是否是活動的。
Eof
確定數據集中最後一條記錄是否是活動的。
1.13 FieldDefs
其表示爲一個列表,列表中的元素與表中的字段是一一對應的。
1.14 FieldByName
以字段名稱的方式訪問字段。
1.15 SetRangeStart、SetRangeEnd、ApplyRange
用來設置數據域的上界、下界和對TTable組件應用數據域。
1.16 LockTable
用於將表鎖定(LtReadLock:不能讀被鎖定的表;LtWriteLock:不能寫被鎖定的表)
2.TQuery 組件
TQuery組件用來以SQL語句的形式動態地訪問一個或多個表的數據。
2.1 SQL
用來存放SQL語句,當調用TQuery組件的ExecSQL方法和Open方法時,或將TQuery組件的Active屬性設置爲真時,這些SQL語句就會被執行。例如:
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Delete from Country where Name = ''Argentina''');
Query1.ExecSQL;
2.2 SQLBinary
指向代表SQL查詢語言或結果集的二進制數據流的指針(在程序中一般不能訪問)。該數據流用於TQuery組件和BDE的通信,由系統使用。
2.3 Text
用來檢查實際傳遞給BDE的SQL語句的內容(只讀)。
2.4 Params
用於在參數化SQL查詢中給SQL語句傳遞參數。(Params是一個以0開始的TParams數組)。例如
Query2.SQL.Clear;
Query2.SQL.Add('INSERT INTO COUNTRY (NAME, CAPITAL, POPULATION)');
Query2.SQL.Add('VALUES (:Name, :Capital, :Population)');
Query2.Params[0].AsString := 'Liechtenstein';
Query2.Params[1].AsString := 'Vaduz';
Query2.Params[2].AsInteger := 420000;
Query2.ExecSQL;
2.5 DataSource
with Query2 do begin
DataSource := DataSource1;
ParamByName('CompanyName').AsString := Edit1.Text;
Prepare;
ExecSQL;
end;
2.6 ParamCheck
用來確定在程序運行時,若修改了TQuery組件,是否清空並重新生成Params屬性。
2.7 ExecSQL
用來執行TQuery組件的SQL屬性中的SQL語句。
2.8 ParamByName
本方法用來按名字訪問參數。
2.9 Active
用來判斷DataSet數據集是否打開。
3. TStoreProc組件
TStoreProc組件用於在基於BDE的數據庫應用程序中訪問數據庫服務器端的存儲過程。
3.1 StroedProcName
指出了存儲過程的名字。例如:
StoredProcx.Params[0].AsString := Edit.Text;
StoredProcx.Prepare;
StoredProcx.ExecProc;
3.2 ParamBindMode
用於確定將參數傳遞給數據庫服務器時的順序:1.pbByName(按名匹配);2.pbByNumber(按次序從左到右匹配)