一、單一環(huán)境
BDE與Oracle合作是在一個(gè)單一的環(huán)境下實(shí)現(xiàn)的,這就是說,你無需輸入繁瑣的連接和打開數(shù)據(jù)庫的代碼來執(zhí)行有關(guān)操作,比如:打開表或執(zhí)行SQL命令。
例如:Session.OpenDatabase('Oracle',False,False,'','ORACLE','Scott','Tiger');
QueryDataBase.SessionName:='Oracle';
QueryDataBase.RequestLive:=True;
二、簡(jiǎn)化程序
BDE Oracle的目標(biāo)之一是簡(jiǎn)化程序的編寫以及優(yōu)化程序性能。程序員不需為多項(xiàng)任務(wù)而修改代碼。使用Oracle后,BDE可以非常輕松的管理多種不同的操作系統(tǒng)。
例如:if Table1.Active then
Table1.Edit;
Table1.FieldByName('ID').AsInteger:= 100;
Table1.Post;
三、支持虛表
虛表是一個(gè)使用計(jì)算字段和指針字段來創(chuàng)建動(dòng)態(tài)數(shù)據(jù)集以及向數(shù)據(jù)集中添加記錄的表。BDE Oracle支持使用指針字段向虛表中獲取數(shù)據(jù)。
例如:Table1.Close;
Table1.FieldDefs.Clear;
Table1.FieldDefs.Add('First',ftString,20);
Table1.FieldDefs.Add('Last',ftString,20);
Table1.FieldDefs.Add('Salary',ftCurrency,0);
一、參數(shù)不清晰
BDE通常不提供數(shù)據(jù)庫連接的詳細(xì)信息,使得許多開發(fā)人員無法意識(shí)到需要做出某些改變,從而導(dǎo)致編程錯(cuò)誤。
例如:Session.OpenDatabase('Oracle',True,False,'','ORACLE','Scott','Tiger');
Query1.SQL.Add('SELECT ID, NAME FROM USER');
Query1.Open;
二、對(duì)新版Oracle支持不完全
最新版本的Oracle可能不完全支持BDE引擎中的一些方法和過程。
例如:Session.Close;
Session.OpenDatabase('Oracle',False,False,'','ORACLEDB','Scott','Tiger');
Query1.SQL.Add('SELECT * FROM Order WHERE Status = ''CC''');
Query1.Open;
三、讀取數(shù)據(jù)有限
BDE Oracle讀取數(shù)據(jù)的默認(rèn)大小為4096字節(jié),所以,當(dāng)你讀取超過4096字節(jié)大小的列時(shí),將會(huì)遇到無法取回全部?jī)?nèi)容的錯(cuò)誤。
例如:Query1.SQL.Add('SELECT ADDRESS FROM ADDRESS_TABLE WHERE ADDRESS_ID = 1');
Query1.Open;
ShowMessage(Query1.Fields[0].AsString);
總的來說,BDE Oracle是一款非常強(qiáng)大的數(shù)據(jù)庫引擎,可以優(yōu)化程序性能和簡(jiǎn)化程序代碼,但是需要注意BDE Oracle的一些限制。如果能夠掌握好它的用法,將會(huì)極大的提高開發(fā)效率。