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

基于VFP 6.0的C/S結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的開發(fā)

2008-12-31 00:00:00王平水
電腦知識(shí)與技術(shù) 2008年28期

摘要:隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的迅速發(fā)展和日益普及,C/S系統(tǒng)已得到廣泛應(yīng)用。為便于開發(fā)C/S結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng),研究了C/S結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的基本構(gòu)造原理,簡(jiǎn)要介紹了基于Visual FoxPro 6.0開發(fā)C/S結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的方法。實(shí)踐表明,該方法正確有效。

關(guān)鍵詞:C/S結(jié)構(gòu);ODBC;SQL Server;遠(yuǎn)程視圖;連接

中圖分類號(hào):TP311.132 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2008)28-0018-02

The Development of C/S Structure Database System Based on VFP 6.0

WANG Ping-shui

(College of Information Engineering, Anhui University of Finance Economics, Bengbu 233041, China)

Abstract: With the rapid development and increasing popularization of the computer network technology, C/S system has been widely used. To develop C/S structure Database system conveniently, fundamental principle about C/S structure database system was researched, and the method of developing C/S Structure database system based on VFP 6.0 was briefly introduced. It was turned out that the method was correct and effective.

Key words: C/S structure; ODBC; SQL server; remote view; connection

目前廣泛流行的數(shù)據(jù)庫開發(fā)工具很多,如DELPHI、VB、PB等,用它們開發(fā)基于C/S 模式的應(yīng)用系統(tǒng)較方便,但卻很少見到用Visual FoxPro (VFP)開發(fā)的C/S 系統(tǒng)。本文就來談?wù)動(dòng)肰isual FoxPro 6.0開發(fā)C/S 結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的方法和經(jīng)驗(yàn),與讀者共享。

1 建立數(shù)據(jù)庫及ODBC數(shù)據(jù)源

C/S結(jié)構(gòu)最大的優(yōu)點(diǎn)就是將工作合理分配于服務(wù)器與工作站以便讓它們同時(shí)發(fā)揮所長(zhǎng),C/S結(jié)構(gòu)包括三個(gè)重要的部分:網(wǎng)絡(luò)操作系統(tǒng)、數(shù)據(jù)庫服務(wù)器及前端應(yīng)用程序。我們可以采用Visual FoxPro、SQL Server 2000、Windows NT Server相結(jié)合來實(shí)現(xiàn)。SQL SERVER是微軟發(fā)布的關(guān)系數(shù)據(jù)庫管理系統(tǒng),可以安裝在專門的NT數(shù)據(jù)SERVER上,也有個(gè)人版可以安裝在Windows 2000或Windows XP上,它的功能主要有:數(shù)據(jù)庫的管理和維護(hù)、用戶/安全管理、數(shù)據(jù)的發(fā)布/轉(zhuǎn)換等。我們首先需在SQL Server上建立所需的數(shù)據(jù)庫,如:Mydata,并創(chuàng)建所需要的表,如Mytable等。在SQL Server上的數(shù)據(jù)庫建完之后,我們可以為剛才創(chuàng)建的數(shù)據(jù)庫創(chuàng)建一個(gè)用戶,如:guest,這樣我們就可以進(jìn)行下一步操作。

在前臺(tái)的工作站上,操作系統(tǒng)采用Windows 2000或Windows XP即可,在工作站建立連接到SQL Server的ODBC數(shù)據(jù)源。我們新建了一個(gè)數(shù)據(jù)源Myodbc,連接到 SQL Server上的Mydata數(shù)據(jù)庫。

2 建立和數(shù)據(jù)庫的連接

在以Visual FoxPro所開發(fā)的C/S結(jié)構(gòu)中,遠(yuǎn)程視圖扮演著關(guān)鍵性的角色。遠(yuǎn)程視圖使得程序設(shè)計(jì)人員能夠?qū)F(xiàn)有的技術(shù)直接應(yīng)用于C/S結(jié)構(gòu)系統(tǒng)的開發(fā)上,而無須增加太多的負(fù)擔(dān)。當(dāng)我們想要在 Visual FoxPro中存取其他數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)記錄時(shí),便必須借助于遠(yuǎn)程視圖。在建立一個(gè)遠(yuǎn)程視圖之前,必須在數(shù)據(jù)庫中建立一個(gè)連接(Connection),它記錄了登入SQL Server的相關(guān)信息并定義連接通道的一些設(shè)定信息。在數(shù)據(jù)庫設(shè)計(jì)器中新建一個(gè)連接,分別在數(shù)據(jù)源、用戶標(biāo)識(shí)、密碼、數(shù)據(jù)庫所對(duì)應(yīng)的輸入框中輸入如前文所述的名稱,然后驗(yàn)證連接即可,當(dāng)然也可以用連接串連接,如:dsn=Myodbc;uid=guest;pwd=123456;database=Mydata,或許在某些情況下,我們?cè)趹?yīng)用系統(tǒng)執(zhí)行期間以程序控制方式更改連接的相關(guān)設(shè)定,我們就可以用DBSETPROP()函數(shù),比如我們要更改名為connection1的連接串,可用如下的命令實(shí)現(xiàn):

OPEN DATABASE test

DBSETPROP(\"connection1\",\"connection\",\"connectstring\",\"dsn=Myodbc;uid=guest;pwd=123456;database= Mydata\")

3 建立遠(yuǎn)程視圖

在連接成功的情況下,我們就可以建立遠(yuǎn)程視圖。我們既可以在數(shù)據(jù)庫設(shè)計(jì)器中用視圖向?qū)Ы⒁晥D,也可以用命令來建立視圖。下面以向?qū)槔齺磉M(jìn)行說明,在向?qū)е形覀兛梢允褂脭?shù)據(jù)源或者連接來創(chuàng)建視圖,一般而言,讓遠(yuǎn)程視圖透過已定義的連接來連接到所需的數(shù)據(jù)來源較好,因?yàn)檫B接本身就包含較完整的連接定義信息,而用數(shù)據(jù)源則每次使用遠(yuǎn)程視圖時(shí)便會(huì)出現(xiàn)SQL Server Login對(duì)話框,顯然這是用戶所不希望看到的。接著選擇視圖所對(duì)應(yīng)的SQL Server中的來源表即可。

我們就視圖所需要的字段、聯(lián)接條件、篩選條件、排序、分組、更新條件應(yīng)分別進(jìn)行設(shè)置,以滿足我們的需要,要提到的是前后端數(shù)據(jù)類型對(duì)應(yīng)的問題,Visual FoxPro中的數(shù)據(jù)類型與SQL Server中的數(shù)據(jù)類型不盡相同,不過前后端的數(shù)據(jù)類型有一固定的關(guān)系。比如,某一個(gè)字段在SQL Server上的數(shù)據(jù)類型是money,而在遠(yuǎn)程視圖中此字段的數(shù)據(jù)類型將是貨幣值類型,又例如,某一個(gè)字段在SQL Server上的數(shù)據(jù)類型是text,而在遠(yuǎn)程視圖之中此字段的數(shù)據(jù)類型將是備注型,我們往往需要手動(dòng)去調(diào)節(jié)對(duì)應(yīng)的字段類型,例如,所有的SQL Server上的datetime類型到了遠(yuǎn)程視圖中都要變成date型。我們可以在相應(yīng)的頁面來確定聯(lián)接關(guān)系、指定過濾條件、指定排序依據(jù),特別要注意的是在“更新頁面”欄,如果我們想要建立一個(gè)可更新的視圖,必須選中“發(fā)送SQL更新”欄,這樣針對(duì)視圖所作的任何變動(dòng),會(huì)主動(dòng)反映到后端的SQL Server中去,你就可以直接使用所熟悉的Visual FoxPro來更新后端數(shù)據(jù)。另外,我們指定鍵值欄、可更新字段、更新沖突的檢查方式以及后端的SQL Server如何執(zhí)行更新操作,視圖的建立就完成了。

遠(yuǎn)程視圖一旦建立完成,我們就可以利用它來顯示與更新數(shù)據(jù)。由于遠(yuǎn)程視圖在外觀與使用上皆與表大同小異,因此即使其來源數(shù)據(jù)實(shí)際上是位于SQL Server中,我們無須有任何顧慮,過去替Visual FoxPro本身的數(shù)據(jù)建立平行輸入/輸出界面、報(bào)表及標(biāo)簽的方法完全適用于遠(yuǎn)程視圖。我們可以在表單設(shè)計(jì)工具、報(bào)表設(shè)計(jì)工具與標(biāo)簽設(shè)計(jì)工具中,將遠(yuǎn)程視圖加至表單、報(bào)表或標(biāo)簽的數(shù)據(jù)環(huán)境組件中,并快速建立出數(shù)據(jù)源為遠(yuǎn)程視圖或其某字段的控制項(xiàng)。但是在實(shí)際應(yīng)用中,我們往往會(huì)遇到這樣的情況,如符合條件的數(shù)據(jù)記錄很多,或者經(jīng)常要使用離線方式的系統(tǒng),我們除了簡(jiǎn)單的使用遠(yuǎn)程視圖之外,還必須靈活的運(yùn)用“有條件的遠(yuǎn)程視圖”和離線式視圖,盡量減少服務(wù)器端的數(shù)據(jù)下載量,減輕網(wǎng)絡(luò)的負(fù)荷,一些不常更新的數(shù)據(jù)甚至可以以DBF的形式直接放置在客戶端,以提高整個(gè)系統(tǒng)的運(yùn)行效率。

4 SQL Pass-Through (SPT) 技術(shù)的運(yùn)用

要使一個(gè)C/S結(jié)構(gòu)系統(tǒng)趨于完善,除了用遠(yuǎn)程視圖來構(gòu)筑C/S結(jié)構(gòu)的主體,還必須輔以SQL Pass-Through技術(shù)。所謂SQL Pass-Through,意指我們可以將任何符合SQL Server語法的命令敘述從前端透過連接通道送至后端的SQL Server來執(zhí)行,與SQL Server進(jìn)行其他直接有效的溝通。利用SQL Pass-Through我們還可以直接去執(zhí)行儲(chǔ)存在SQL Server上的儲(chǔ)存式程序和系統(tǒng)儲(chǔ)存式程序,如,我們可以從前端去執(zhí)行SQL Server的系統(tǒng)儲(chǔ)存式程序sp_addlogin ,來要求加入一個(gè)使用者帳號(hào)。一般而言,SPT函數(shù)的使用流程如下所示:

1) 首先使用SQLCONNECT()或SQLSTRINGCONNECT() 函數(shù)來連接所需的數(shù)據(jù)源。

2) 成功的連接到SQL Server 之后,即可以透過連接通道進(jìn)行所需的各項(xiàng)處理。比如,我們可以使用SQLEXEC()函數(shù)將SQL命令送至SQL Server執(zhí)行。

3) 完成所有的操作后,應(yīng)用SQLDISCONNECT()函數(shù)斷開與數(shù)據(jù)源的連接。下面我們舉一個(gè)典型的運(yùn)用SQL Pass-Through的例子:

CLEAR ALL

CLOSE ALL

SQLSETPROP(0,\"DispLogin\",3)登錄失敗時(shí)不顯示ODBC登錄對(duì)話框

nConnectHandle=SQLSTRINGCONNECT(\"dsn=Myodbc;uid=guest;pwd=123456;database= Mydata\")

IF nConnectHandle<0

MessageBox(\"無法與數(shù)據(jù)庫連接\",0+48,\"異常情況\")

ELSE

MessageBox(\"連接成功\",0+48,\"提示信息\")

SQLEXEC(nConnectHandle,\"Select * from Mytable\")

Browse

……

SQLDISCONNECT(nConnectHandle)斷開連接

ENDIF

通過這樣簡(jiǎn)單有效的代碼,我們就能對(duì)數(shù)據(jù)庫進(jìn)行有效的操作,以確保數(shù)據(jù)的完整性和安全性。

在用SQL Pass-Through技術(shù)時(shí),程序設(shè)計(jì)師能夠擁有較高的主導(dǎo)權(quán)與控制權(quán),因此若能夠?qū)⑦h(yuǎn)程視圖和SQL Pass-Through 技術(shù)緊密的結(jié)合起來,互補(bǔ)有無,我們的C/S系統(tǒng)就可以無所不能了。

5 結(jié)束語

可以說,Visual FoxPro是一個(gè)相當(dāng)不錯(cuò)的開發(fā)基于C/S結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用系統(tǒng)的前端軟件,在Internet廣為流行的今天,只要徹底學(xué)會(huì)C/S結(jié)構(gòu),并了解Visual FoxPro在C/S結(jié)構(gòu)中所扮演的角色,必將能夠成功開發(fā)出C/S結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用系統(tǒng)。

參考文獻(xiàn):

[1] 伍俊良.Visual FoxPro課程設(shè)計(jì)與系統(tǒng)開發(fā)案例[M].北京:清華大學(xué)出版社,2003.

[2] 邵洋.Visual FoxPro 6.0數(shù)據(jù)庫系統(tǒng)開發(fā)實(shí)例導(dǎo)航[M].北京:人民郵電出版社,2002.

[3] 李曉喆,張曉輝,李祥勝.SQL Server 2000管理及應(yīng)用系統(tǒng)開發(fā)[M].北京:人民郵電出版社,2002.

[4] 張莉,王強(qiáng),趙文等.SQL Server數(shù)據(jù)庫原理及應(yīng)用教程[M].北京:清華大學(xué)出版社,2003.

主站蜘蛛池模板: 亚洲成aⅴ人片在线影院八| 久久一级电影| 操操操综合网| 久久a级片| 国产精品成人免费视频99| 久久久噜噜噜久久中文字幕色伊伊 | 日韩福利在线视频| 久久精品中文字幕免费| 日本人又色又爽的视频| 女人一级毛片| 色综合成人| 亚洲人成色77777在线观看| 国产乱子伦视频在线播放| 色欲色欲久久综合网| 日韩精品亚洲精品第一页| 色综合成人| 久久国产精品无码hdav| 人妻精品久久无码区| 激情无码字幕综合| 亚洲IV视频免费在线光看| 成人福利一区二区视频在线| 91精品专区| 天天视频在线91频| 91免费国产高清观看| 91国内外精品自在线播放| 午夜色综合| 在线观看亚洲天堂| 青青草一区| 国产乱人乱偷精品视频a人人澡| 亚洲Va中文字幕久久一区| 精品一区二区无码av| 啪啪啪亚洲无码| 欧洲欧美人成免费全部视频| 国产在线欧美| 青草视频免费在线观看| 国产原创自拍不卡第一页| 成人亚洲视频| 中文字幕伦视频| 91无码人妻精品一区| 国产美女人喷水在线观看| 国产亚洲欧美在线视频| 中文字幕人妻av一区二区| 国产Av无码精品色午夜| 亚洲精品在线91| 欧美日本在线| 免费高清毛片| 99伊人精品| 欧美69视频在线| 一级黄色网站在线免费看| 国产成人亚洲欧美激情| 中文字幕永久在线看| 无码区日韩专区免费系列| 亚洲国产成人超福利久久精品| 一区二区三区在线不卡免费| 亚洲精品天堂自在久久77| 国产精品无码制服丝袜| 国产视频 第一页| 国产欧美日韩专区发布| 国产欧美日韩在线在线不卡视频| 日韩精品毛片| 99在线观看免费视频| 波多野结衣无码AV在线| 国产白浆在线观看| 高清色本在线www| 色欲不卡无码一区二区| 亚洲国产午夜精华无码福利| 中文字幕有乳无码| 亚洲精品无码久久久久苍井空| 午夜a级毛片| 乱色熟女综合一区二区| 五月婷婷欧美| 色婷婷亚洲十月十月色天| 91无码网站| 一级毛片在线免费视频| 国产微拍精品| 亚洲国产91人成在线| 亚洲日韩精品欧美中文字幕| 国产日本一区二区三区| 波多野结衣中文字幕久久| 波多野结衣一区二区三区四区视频| 国模沟沟一区二区三区| 国产三级国产精品国产普男人|