Delphi數據庫編程之BDE組件一(已不常用)

這裏,我們來介紹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(按次序從左到右匹配)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章