可以使用 Visual FoxPro 來開發(fā)強(qiáng)健的客戶/服務(wù)器應(yīng)用程序的前段。Visual FoxPro 結(jié)合了對服務(wù)器數(shù)據(jù)可更新視圖和使用 SQL pass-through 直接訪問本地服務(wù)器語法的高級支持。這給建立通用的客戶/服務(wù)器解決方案提供了堅實的基礎(chǔ)。功能完整的數(shù)據(jù)字典、本地和遠(yuǎn)程視圖、NULL 支持、事務(wù)處理、國際化應(yīng)用程序支持和訪問 ODBC 數(shù)據(jù)源,全都成為開發(fā)客戶/服務(wù)器需要的功能因素。
1、增強(qiáng)的客戶/服務(wù)器性能
可以在 Visual FoxPro 中使用屬性和提供的 ODBC 驅(qū)動來增強(qiáng)客戶/服務(wù)器應(yīng)用程序的性能。
2、用屬性控制性能
可以通過使用以下臨時表(cursor)和遠(yuǎn)程視圖的屬性來增強(qiáng)性能:
CompareMemo在更新探測中包含或排除備注字段當(dāng)備注字段被使用而發(fā)生更新沖突時,可以使用 CompareMemo 屬性來控制。這個視圖和臨時表(cursor)屬性確定備注字段 (M 或 G 類型)是否被包含在更新 WHERE 子句中。默認(rèn)設(shè)置是真(.T.),意味著備注字段被包含在 WHERE 子句中。如果設(shè)置這個屬性為假(.F.),不管 UpdateType 的設(shè)置如何,備注字段都不參與更新 WHERE 子句。當(dāng) CompareMemo 設(shè)置為假(.F.)時,備注字段上樂觀沖突探測是無效的。為了在備注字段上探測沖突值,CompareMemo 應(yīng)當(dāng)設(shè)置為真(.T.)。
FetchAsNeeded精確地調(diào)整記錄的抓取使用 FetchAsNeeded 屬性指定是否全部取出日益增多的行(row),否則只選擇經(jīng) FetchSize 屬性決定的行集。如果想用 Visual FoxPro 空閑循環(huán)取出結(jié)果集中的所有行,請使用默認(rèn)設(shè)置假(.F.)。如果只想取出當(dāng)用戶滾動超出 FetchSize 屬性確定的行集,設(shè)置 FetchAsNeeded 為真(.T.)來取出下一個行集。
Prepared在參數(shù)化視圖上加速再查詢操作使用 Prepared 屬性,可以設(shè)置在它運行之前是否準(zhǔn)備視圖的查詢。如果設(shè)置這個屬性為真(.T.),Visual FoxPro 發(fā)送一個請求到 ODBC 驅(qū)動進(jìn)行準(zhǔn)備或編譯視圖中定義的查詢。如果后臺數(shù)據(jù)源的 ODBC 驅(qū)動支持預(yù)先聲明的使用,則后來在打開視圖上的重新查詢將更快地運行。
Visual FoxPro 數(shù)據(jù)庫(.dbc 文件)提供一個允許添加規(guī)則、視圖、觸發(fā)器、永久關(guān)系和數(shù)據(jù)庫中每個數(shù)據(jù)表關(guān)聯(lián)的數(shù)據(jù)字典。
此外,可以通過使用參照完整性生成器(Referential Integrity Builder)定義插入、更新和刪除的規(guī)則來為每一個永久關(guān)系強(qiáng)制執(zhí)行參照完整性。
Visual FoxPro 同樣支持?jǐn)?shù)據(jù)表中的 NULL 值,大大改善了與其他數(shù)據(jù)源,例如,Microsoft Access、Visual Basic 和 SQL based servers 的兼容性和連通性。有關(guān) NULL 值的更詳細(xì)資料,請搜索“NULL”和“NULL values”。
3、每個 Visual FoxPro 數(shù)據(jù)庫都完全可以通過增強(qiáng)的訪問語句和可視化設(shè)計器來進(jìn)行用戶級擴(kuò)展。
本地、遠(yuǎn)程視圖和離線數(shù)據(jù)可以在當(dāng)前計算機(jī)上使用來自遠(yuǎn)程、本地或多重表等不同種類視圖的數(shù)據(jù)來設(shè)計和檢測一個客戶/服務(wù)器應(yīng)用程序。本地視圖使用當(dāng)前計算機(jī)上的而非遠(yuǎn)程服務(wù)器上的數(shù)據(jù)表,而多重表視圖使用來自不同數(shù)據(jù)表的有關(guān)數(shù)據(jù)。可以創(chuàng)建參數(shù)化視圖來減少從服務(wù)器上下載數(shù)據(jù)的數(shù)量、獲取中間數(shù)據(jù)或更新來自 Visual FoxPro 應(yīng)用程序的遠(yuǎn)程數(shù)據(jù)。有關(guān)視圖的更多信息,請參見使用視圖。
4、用事務(wù)處理來管理共享訪問可以設(shè)計提供共享訪問數(shù)據(jù)的應(yīng)用程序。共享訪問包括在用戶間共享數(shù)據(jù)和必要時的限制訪問。事務(wù)處理以及記錄級或數(shù)據(jù)表級的悲觀或樂觀緩沖意味著較少的程序設(shè)計。內(nèi)置的批處理和處理更新沖突上的詳細(xì)控制簡化了多用戶環(huán)境中的數(shù)據(jù)更新。有關(guān)共享訪問應(yīng)用程序設(shè)計的詳細(xì)資料,請參見共享訪問的程序設(shè)計。
5、開發(fā)國際化應(yīng)用程序 Visual FoxPro 為開發(fā)國際化應(yīng)用程序提供不同的區(qū)域支持。例如,Visual FoxPro 支持不同的代碼頁。支持希臘(Greek)和俄國(Russian)在 MS-DOS、Microsoft Windows 和 Macintosh 平臺上的代碼頁。Visual FoxPro 也同樣支持例如象日本(Japanese)、韓國(Korean)、繁體中文(Traditional Chinese)和簡體中文(Simplified Chinese)等語言的雙字節(jié)字符集;但是不支持 Unicode。Visual FoxPro 支持按例如象日本(Japanese)、德國(German)、繁體中文(Traditional Chinese)和冰島(Icelandic)語言排序。有關(guān)國際化應(yīng)用程序的更多信息,請參見開發(fā)國際化應(yīng)用程序。
6、執(zhí)行客戶/服務(wù)器應(yīng)用程序除了在客戶/服務(wù)器開發(fā)中使用視圖以外,可以用 Visual FoxPro 的 SQL pass-through 函數(shù)直接對服務(wù)器發(fā)送任何想要本的地服務(wù)器語句。這些函數(shù)具有超過視圖對服務(wù)器訪問和控制的額外能力。有關(guān) SQL pass-through 的詳細(xì)資料參見使用 SQL Pass-Through 技術(shù)增強(qiáng)應(yīng)用程序。
7、本地應(yīng)用程序設(shè)計完成以后,可以依靠后臺數(shù)據(jù)源來升遷并運行它。升遷客戶/服務(wù)器結(jié)構(gòu)應(yīng)用的好處到本地應(yīng)用程序并且允許用和原始 Visual FoxPro 數(shù)據(jù)表相同的表結(jié)構(gòu)和數(shù)據(jù)來創(chuàng)建一個遠(yuǎn)程服務(wù)器數(shù)據(jù)庫。當(dāng)升遷時,要選擇哪些數(shù)據(jù)表移到服務(wù)器上以及哪些為了更快速地訪問而保留在本地。




