明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

用C++ Builder完成VFP數(shù)據(jù)庫開發(fā)

[摘要]文/潘文全  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ù)庫的原有定義。