1.TDatabase組件
1.1 AliasName
用於描述連接所用的數據庫別名。
1.2 Connected
用於確定數據庫連接是否是活動的。
1.3 DatabaseName
用來指定DataBase組件所用的數據庫的名字。
1.4 Exclusive(只適用於Paradox或dBase)
確定當前的應用程序可否獨佔地訪問數據庫。
1.5 KeepConnection
確定在沒有數據集打開的情況下應用程序是否保持數據庫連接。
1.6 TransIsolation
確定BDE管理下的事務隔離等級。
tiDirtyRead:允許讀其他併發事務未提交的更新;
tiReadCommitted:允許讀其他併發事務提交的更新(默認);
tiRepeatableRead:只允許讀一次數據
1.7 CloseDataSets
關閉所有數據庫組件相關的數據集而不是採用與服務器斷開的方式。在關閉所有數據庫組件相關的數據集的同時與數據庫的連接也會斷開。(主要用在直接關閉數據集及與數據庫的連接而不需要重新連接的情況)
1.8 startTransaction、commit、roleback(用戶組件對數據庫事務的操作)
1.9 DataSets
提供數組形式存儲的Dataset數據集。
procedure TDataForm.INSERT_WithParam(Sender:TObject);
var
SQLstmt : String;
stmtParams : TParams;
begin
//創建參數對象
stmtParams := TParams.Create;
try
//激活連接
Database1.Connected := true;
//添加參數定義
stmtParams.create(ftString,'StateParam',ptInput);
//爲參數賦值
stmtParams[0].AsString :='CA';
//創建SQL語句
SQLstmt := 'delete from Customer.db where state =(:StateParam)';
//執行SQL語句
Database1.Execute(SQLstmt,stmtParams,false,nil);
finally
//釋放動態產生的TParams對象
stmtParams.Free;
end;
end;
2.TSession組件
TSession組件用來在應用程序中管理一組數據庫連接。其有三種用法:1.標準用法;2.Paradox的多重網絡問卷;3.多線程數據庫應用程序。其主要屬性有:
2.1 Active
標誌TSession對象是否是活動的。如Active屬性設置爲真,則開始會話並觸發一個OnStartUp事件,並初始化NetFileDir、PrivateDir和ConfigMode屬性。
2.2 AutoSessionName
用來控制是否自動產生一個唯一的會化名(在多線程數據庫應用程序中可確保會化名的惟一性)
2.3 KeepConnections
確定是否創建一個臨時的TDataBase對象以保持同數據庫服務器的連接。
2.4 NetFileDir
確定包含BDE網絡控制文件PDOXUSRS.NET的目錄。
2.5 PrivateDir
確定存儲臨時表文件的目錄(爲BDE所用)。
2.6 Close
斷開所有databases和關閉所有session。
2.7 SessionName
指定一個唯一的會話名稱(該session能夠與database和dataset對象綁定)
常見的操作:
2.1 打開、關閉數據庫
var
DemosDataBase :TDatabase;
begin
DemosDataBase := Session.OpenDatabase('DBDEMOS'); //打開數據庫
Session.CloseDatabase(DemosDatabase); //關閉數據庫
2.2 確定和TSession對象關聯的TDatabase對象
var
DB1 : TDataBase;
begin
DB1 := Session.FindDataBase('DBDEMOS');
if (DB1=nil) then
DB1 := Session.OpenDatabase('DBDEMOS');
if Assigned(DB1) and DB1.Connected then //測試Assigned(DB1)是否爲nil
begin
DB1.StartTranslation;
。。。
end;
end;
2.3 建立會話對象
var
mySession : TSession;
begin
mySession := TSession.create(Form1);
with mySession do
try
SessionName := 'SecondSession';
KeepConnections := False;
Open; //啓動會話並把它作爲當前會話
....
finally
mySession.Free;
end;
end;
3. TSessionList
用於管理一個或多個BDEsession。其主要屬性有:
3.1 Count
指定可用session的數量。
3.2 CurrentSession
返回一個指向當前session的指針(TSession)
3.3 Sessions
列出所有可用的session。
var
I: Integer;
begin
for I := 0 to Sessions.Count - 1 do
Sessions[I].KeepConnections := False;
end;
3.4 FindSeesion
在session列表裏查找指定的session(根據SessionName來查找),返回的是一個TSession對象。
3.5 GetSessionNames
在Session列表中得到一系列可用的session的名稱。
3.6 OpenSession
使一個存在的session可用或創建一個新的session並使其可用。
4. TBatchMode組件
該組件用於複製數據庫表的結構和數據,通常用於將整個數據庫從一種格式轉換到另一種格式。具體用途有三種:1.將一個數據集中的記錄添加到另外一個數據庫的表格中;2.從一個數據庫的表格中刪除數據集中的記錄;3.複製數據集,以創建新的數據表或覆蓋已存在的表。
4.1 mode
用於確定期望的操作方式:1.batAppend(將記錄追加到目標表);2.batUpdate(使用源表中的匹配記錄更新目標表,其更新基於目標表當前的索引);3.batAppendUpdate(若目標表中存在匹配記錄,則更新他;否則將記錄追加到目標表中);4.batCopy(基於源表的結構創建目標表,若目標表已存在,則將被刪除和重新創建);5.batDelete(刪除目標表和源表相匹配的記錄)。
AbortOnKeyViol:當其值設置爲true,則操作引起目標表中數據完整性衝突和鍵衝突時就會自動取消批操作;
AbortOnProblem:當其值設置爲true,則源表中的字段類型和目標表中的字段類型不匹配時取消批操作;
CommitCount:用於確定字一次提交發生時處理多少條記錄;
ChangedTableName:用於確定一個本地Paradox表(用於存放在批操作中目標表中被修改的記錄的拷貝);
Mappings:用於設定批操作時的列映射關係;