用C++ Builder完成VFP數(shù)據(jù)庫開發(fā)
發(fā)表時(shí)間:2023-08-01 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]文/潘文全 C++ Builder擁有卓越的數(shù)據(jù)庫網(wǎng)絡(luò)開發(fā)功能,可以存取各種關(guān)系型數(shù)據(jù)庫,提供高效的數(shù)據(jù)感知組件和數(shù)據(jù)存取組件,它不僅可為C/S結(jié)構(gòu)提供客戶端程序,而且可開發(fā)應(yīng)用服務(wù)器程序,實(shí)現(xiàn)多...
文/潘文全
C++ Builder擁有卓越的數(shù)據(jù)庫網(wǎng)絡(luò)開發(fā)功能,可以存取各種關(guān)系型數(shù)據(jù)庫,提供高效的數(shù)據(jù)感知組件和數(shù)據(jù)存取組件,它不僅可為C/S結(jié)構(gòu)提供客戶端程序,而且可開發(fā)應(yīng)用服務(wù)器程序,實(shí)現(xiàn)多層數(shù)據(jù)庫應(yīng)用程序體系結(jié)構(gòu),是VFP數(shù)據(jù)庫進(jìn)行網(wǎng)絡(luò)開發(fā)的最佳選擇。
VFP數(shù)據(jù)庫系統(tǒng)有兩種方式建立數(shù)據(jù)表,一種是建立與FoxPro兼容的自由表,另一種是建立數(shù)據(jù)庫,數(shù)據(jù)庫中包含數(shù)據(jù)表及關(guān)系,因此在C++ Builder中使用VFP數(shù)據(jù)庫也相應(yīng)存在
兩種方式,即一種方式是直接調(diào)用VFP自由表,另一種方式是利用ODBC調(diào)用VFP數(shù)據(jù)庫,本文將分別舉例說明。
直接調(diào)用VFP自由表
1.建立數(shù)據(jù)表
數(shù)據(jù)表結(jié)構(gòu)如下:
字段名 類型 寬度
檔案名稱 字符型 100
存放名 字符型 2
2.建立窗體Form1
放置TTable、TDataSource、TDBGrid、TDBNavigator等控件。
設(shè)置Ttable控件屬性:
TableType設(shè)為ttFoxPro;
TableName設(shè)為wjk.dbf;
Active設(shè)為true。
連接TDataSource、TDBGrid、TDBNavigator等控件。
修改、刪除、添加和存儲(chǔ)內(nèi)容可通過TDBNavigator控件實(shí)現(xiàn)或自行編寫程序。
通過ODBC調(diào)用VFP數(shù)據(jù)庫
1.進(jìn)入面板的ODBC數(shù)據(jù)源連接VFP數(shù)據(jù)庫。
2.在C++Builder中:
放置TDatabase、TTable、TDataSource、TDBGrid、TDBNavigator等控件。
設(shè)置TDatabase控件屬性:
AliasName設(shè)為ODBC中連接的VFP數(shù)據(jù)庫名;
DatabaseName設(shè)為C++ Builder中用戶定義的數(shù)據(jù)庫名稱;
Params內(nèi)容設(shè)置為空;
LoginPrompt為false;
Connected為true,表示連接數(shù)據(jù)庫。
其他組件設(shè)置方法與自由表類似。
以上示例中,直接調(diào)用VFP自由表的速度快、方法簡(jiǎn)單、易于操作,但是當(dāng)表中有復(fù)合索引時(shí)會(huì)出現(xiàn)調(diào)用失敗,需從原表中刪除復(fù)合索引后,方可再?gòu)腃++ Builder中調(diào)用;而通過ODBC調(diào)用VFP數(shù)據(jù)庫速度沒有直接調(diào)用快,設(shè)置較自由表復(fù)雜,但可保留數(shù)據(jù)庫的原有定義。