999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VFP的三層體系結構應用研究

2008-12-31 00:00:00徐草草郭維樹
考試周刊 2008年22期

摘要: 在這個網絡發達、網絡技術飛速發展的時代,網絡對client/server結構體系新技術的需求也日益增大。在這個環境下,C/S技術的發展得到了長足的進步。而現代C/S的飛速發展,也相應地帶動了三層應用程序的發展。三層體系結構是現代C/S研究中的一個熱點。三層體系結構能夠在 Visual FoxPro 中實現嗎?我們需要怎樣去做呢?那么相對于三層的一層和兩層又是指的什么呢?本文討論了這些問題。

關鍵詞: client/serverVisual FoxPro三層體系結構

在C/S模型中有三層模型。當客戶和服務器是在同樣的環境時就是一層結構。它描述了你單獨用Visual FoxPro編譯的應用程序。數據完整地進入表單,并遵循控制數據全部寫入同樣的地方且在同樣的地方運行它的規則。不管你是直接從表還是通過視圖讀取數據,也不管規則是在你的代碼片斷還是在觸發器中,你只有一個單獨應用程序層:Visual FoxPro。而在兩層結構中,數據被移動到另一個環境中,并通過第一層讀取數據。這描述了傳統的client/server應用程序。數據保留在后端例如SQL Server或者Oracle中。前端響應用戶的界面(表單、菜單等等)。在一個傳統的兩層結構中,自定義規則通常在后端強迫數據完整一致。在三層結構體系中,自定義規則是存儲在它們自己的環境中,典型的是存儲在一個單獨的計算機上,以便多個前端能夠使用它。前端提供界面,后端提供數據,而中間層維護自定義規則的執行。這就意味著你有兩個client/server會話,一個是前端和中間層之間的,另外一個是中間層和后端之間的。前端從不直接和后端會話。

三層結構體系有兩個明顯的好處。第一個好處是你能夠有更多的層來劃分工作。你的應用程序有三塊,用戶界面、數據、規則,你有三層去處理這些事情。第二個好處是很容易重新使用你的自定義規則,因為不管前端還是后端的規則都不是隱藏的。如果你在Visual FoxPro中編寫了你的全部數據確認規則,這樣可以在不同的地方重新使用規則,比如說在Visual Basic或者Access應用程序中。如果它們處于它們自己的層中,那么任何前端都可以通過它們發送數據給任何后端。

這就是兩層和三層結構體系的普通想法。事實上,如果你使用Visual FoxPro去建立一個client/server結構體系,在如何構造你的應用程序上你可以有著更多的靈活性。在一個兩層結構體系中,你可以在后端,在Visual FoxPro,或者兩者都在,強迫執行完整規則。這對要執行的規則來說是非常恰當的和簡潔的。如果你在Visual FoxPro中執行它,用戶將立刻得到數據回饋,而后端就不用花費時間去檢查結果。如果你有500個用戶每天輸入100次,這就使得后端不用處理太多的工作。如果在前端僅僅是存取后端數據,而且是通過你的Visual FoxPro應用程序,那么你就能夠輕而易舉處理巨大容量的,甚至是全部的需要輸入到前端的數據確認代碼。

但是如果另外一個前端需要去讀取數據呢?如果Access和Visual Basic程序能夠輸入或者編輯命令,則你將不得不在后端確認結果。如果僅僅是用Visual FoxPro編寫的其他程序讀取數據,你可以寫Visual FoxPro代碼,并能通過一個存儲過程或者一個數據確認類來共享它。在三層結構體系中,你還能通過在前端執行數據的完整性來劃分工作。中間層用什么來編寫呢?Visual Basic希望你用Visual Basic去編寫中間層,用VB6.0去創建OLE服務器。OLE服務器能夠通過從Visual FoxPro使用OLE自動控制來調用。數據將傳遞給中間層,并進行確認。如果數據被拒絕,中間層將讓FoxPro得到有關的這一切。如果數據是正確的,它將被發送到后端,并同時通知FoxPro。

我們可以從Visual FoxPro中用你使用任何OLE自動控制服務的同樣方法使用這個VB中間層。你可以發出如下命令來啟動和服務器的一個對話:

oData=CreateObject(″VBServer.BizRules″)

當你希望發送數據到中間層,你可以發出如下代碼:

oData.Send(″Update employee Set salary=87000000″)

如果數據有效你可以使用如下代碼去查看:

If oData.ValidData

=MessageBox(″Success″)

Else

=MessageBox(oData.ErrorMessage)

Endif

請注意上面的語法是假設性的。實際執行時可能是不一樣。

用這個方法的不利之處是什么呢?你不能使用Visual FoxPro的遠程視圖來編寫client/server應用程序,至少在目前VFP的版本中是不能的。還有,通過OLE發送數據要比通過ODBC慢得多。

你可以在 Visual FoxPro 中編寫中間層。當前端希望保存數據的時候,保存數據到表的操作將在網絡上某個地方等待到結束。中間層是Visual FoxPro應用程序,為了確認新的數據要經常查詢表。數據不是被拒絕就是被發送到SQL Server。中間層能夠在一個表中保存一個成功或者失敗的消息。前端將根據這個查詢表并查明發送的數據是否有效。

通過例子我們可以看到將同樣的有效性規則寫入一個存儲過程和放入一個數據庫的區別。每個Visual FoxPro應用程序能夠在前端打開數據庫,并運行有效性檢查代碼。只將有效的數據發送到SQL Server中,三層結構體系中Visual FoxPro會比其他的做得更好。

參考文獻:

[1][美]Patrick O’Neil Elizabeth O’Neil.數據庫原理、編程與性能.機械工業出版社.

[2]匡松.Visual FoxPro程序設計教程.西南交通大學出版社.

[3]徐人鳳.SQL Server 2000 數據庫及應用.高等教育出版社.

[4]章立民.SQL Server 2005數據庫開發實戰.機械工業出版社.

主站蜘蛛池模板: 特级毛片免费视频| 成人亚洲天堂| a在线观看免费| 波多野结衣在线一区二区| 国产亚洲精品精品精品| 国产一级视频在线观看网站| 色婷婷电影网| 99久久国产综合精品女同| yjizz国产在线视频网| 日a本亚洲中文在线观看| 亚洲无线国产观看| 亚洲性视频网站| 国产成人精品三级| 亚洲天堂区| 亚洲天堂首页| 亚洲一区网站| 香蕉视频国产精品人| 免费视频在线2021入口| 狠狠干综合| 永久免费无码日韩视频| 亚洲制服丝袜第一页| 成人va亚洲va欧美天堂| 日韩精品成人在线| 波多野结衣在线一区二区| 人妻丰满熟妇AV无码区| 国产99免费视频| 国产乱人乱偷精品视频a人人澡| 国产乱子精品一区二区在线观看| 亚洲永久色| 污网站在线观看视频| yjizz国产在线视频网| 日韩国产另类| 97久久人人超碰国产精品| 亚洲精品777| 最新国产精品第1页| 亚洲第一视频网站| 国产高清不卡| 真人高潮娇喘嗯啊在线观看| 国内自拍久第一页| 国产成人精品2021欧美日韩| 制服丝袜一区| 啪啪国产视频| 国产网站免费观看| 日本精品视频| 国产91透明丝袜美腿在线| 伊人久久久大香线蕉综合直播| 18禁黄无遮挡网站| 久久国产精品娇妻素人| 国产成人综合日韩精品无码首页| 日韩视频免费| 国产一区三区二区中文在线| 国产美女一级毛片| 91精品国产综合久久香蕉922| 国产精品极品美女自在线网站| 欧美a√在线| 欧亚日韩Av| 亚洲AV无码一二区三区在线播放| 在线一级毛片| 国产午夜福利亚洲第一| 日韩经典精品无码一区二区| 四虎影视库国产精品一区| 免费人成在线观看成人片 | 欧美一级夜夜爽www| 这里只有精品在线播放| 国产激爽爽爽大片在线观看| 欧美精品一二三区| 色综合国产| 成人年鲁鲁在线观看视频| 欧美日韩国产在线观看一区二区三区| 亚洲视频在线青青| 欧美亚洲综合免费精品高清在线观看| 国产伦精品一区二区三区视频优播 | 国产91精品久久| 一级毛片在线播放免费| 亚洲国产成人久久精品软件 | 亚洲成人一区二区| 国产精品天干天干在线观看| 欧美亚洲第一页| 欧美日韩国产在线人| 手机精品福利在线观看| 国产美女在线免费观看| 色香蕉影院|