在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

用VisualFoxpro開發(fā)主從結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)

用VisualFoxpro開發(fā)主從結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)

更新時間:2022-05-09 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

孫向海 方旭升

  目前流行的數(shù)據(jù)庫開發(fā)平臺很多,如DELPHI、VB、PB等,有關(guān)用它們?nèi)绾伍_發(fā)基于C/S 模式的應(yīng)用系統(tǒng)的書籍、文章也較多,但是卻很少見到關(guān)于用Visual Foxpro (VFP)開發(fā)C/S 結(jié)構(gòu)的文章,即使有也只是泛泛而談,講的不具體,讀者看了之后,仍然不知道如何去開發(fā)。還有好多人對VFP的認(rèn)識還是停留在FOXBASE和FOXPRO的基礎(chǔ)上,經(jīng)常有人問,"用VFP能開發(fā)C/S結(jié)構(gòu)的系統(tǒng)嗎?",于是我一次又一次的充當(dāng)了VFP的解說員。其實用VFP開發(fā)基于C/S 模式的系統(tǒng)是可以的,而且原來所熟悉的各種技術(shù)在開發(fā)主從結(jié)構(gòu)時仍然完全適用,而我國有許多MIS系統(tǒng)開發(fā)人員都比較熟悉FOX系列的軟件,因此在此基礎(chǔ)上掌握VFP開發(fā)C/S結(jié)構(gòu)的MIS系統(tǒng),對于這些人來講加快了開發(fā)進(jìn)程,延續(xù)了知識的生命周期。因此我想把自己用VFP開發(fā)C/S 系統(tǒng)中的方法和經(jīng)驗寫出來,好讓那些對VFP不太了解或者沒有用它開發(fā)過C/S 結(jié)構(gòu)的讀者對VFP有重新的認(rèn)識。

  一. 建立數(shù)據(jù)庫、建立ODBC 數(shù)據(jù)源

  主從結(jié)構(gòu)最大的優(yōu)點就是將工作合理分配于服務(wù)器與工作站以便讓它們同時發(fā)揮所長,主從結(jié)構(gòu)包括三個重要的部分-網(wǎng)絡(luò)操作系統(tǒng)、數(shù)據(jù)庫服務(wù)器及前端應(yīng)用程序。我們可以采用Visual FoxPro+SQL Server 7.0 + Windows NT Server 的組合方式。我們首先需在SQL Server 上建立所需的數(shù)據(jù)庫如:Ningguo ,并創(chuàng)建所需要的表,如maintable等。在SQL Server 上的數(shù)據(jù)庫建完之后,我們可以為剛才創(chuàng)建的數(shù)據(jù)庫創(chuàng)建一個用戶如:newguest,這樣我們就可以進(jìn)行下一步操作。

  在前臺的工作站上,操作系統(tǒng)采用Window 98/95 即可,在工作站建立連接到SQL Server的ODBC 數(shù)據(jù)來源(Data Source)。 我們新建了一個數(shù)據(jù)源first,連接到 SQL Server 上的Ningguo 數(shù)據(jù)庫。

  二.建立和數(shù)據(jù)庫相連的連接

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

  OPEN DATABASE test

  dbsetprop("connect1","connection","connectstring",;

  "dsn=first;uid=newguest;pwd=123;database=ningguo")

  三.建立遠(yuǎn)程視圖

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

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

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

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

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

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

  (2) 成功的連接到SQL Server 之后,即可以透過連接通道進(jìn)行所需的各項處理。比如,我

  們可以使用SQLEXEC()函數(shù)將SQL命令送至SQL Server執(zhí)行。

  (3) 完成所有的操作后,應(yīng)用SQLDISCONNECT()函數(shù)切斷與數(shù)據(jù)源的連接。下面我們就

  舉一個典型的運(yùn)用SQL Pass-Through的例子:

  SET TALK OFF

  CLEAR ALL

  CLOSE ALL

  SQLSETPROP(0,"DispLogin",3) &&登錄失敗時不顯示ODBC登錄對話框

  nConnectHandle=SQLSTRINGCONNECT("dsn=first;uid=newguest;pwd=123;database=ningguo")

  IF nConnectHandle<0

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

  ELSE

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

  SQLEXEC(nConnectHandle,"Select * from maintable")

  Browse

  Use in sqlresult

  ………..&&其他操作

  SQLDISCONNECT(nConnectHandle) &&切斷連接

  ENDIF

  通過這樣簡單有效的代碼,我們就能對數(shù)據(jù)庫進(jìn)行有效的操作,以確保數(shù)據(jù)的完整性和安全性。在此列出所有的SQL Pass-Through 函數(shù)供大家參考:

  (1) 連接建立與切斷 SQLCONNECT() SQLSTRINGCONNECT() SQLDISCONNECT()

  (2) SQL命令敘述的執(zhí)行與控制 SQLCANCEL() SQLEXEC() SQLMORERESULTS() SQLPREPARE() SQLCOMMIT() SQLROLLBACK()

  (3) 數(shù)據(jù)來源信息 SQLCOLUMNS() SQLTABLES()

  (4) 存取連接通道的屬性 SQLGETPROP() SQLSETPROP()

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

  五.結(jié)束語

  可以說,Visual Foxpro 是一個相當(dāng)不錯的開發(fā)基于C/S結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用系統(tǒng)的前端軟件,在Internet 廣為流傳的今天,最新一代的系統(tǒng)結(jié)構(gòu)早就已發(fā)展至N-tier 結(jié)構(gòu),亦即我們所說的多階層結(jié)構(gòu)。N-tier 結(jié)構(gòu)其實是從主從結(jié)構(gòu)為基礎(chǔ)所衍生而來的,我們甚至可以說主從結(jié)構(gòu)就是2-tier 結(jié)構(gòu)。因此,只有徹底學(xué)會主從結(jié)構(gòu),并了解Visual Foxpro 在主從結(jié)構(gòu)中所扮演的角色,才能在將來的競爭中立于不敗之地。

  參考文獻(xiàn):

  (1)Visual Foxpro6.x 中文版程序設(shè)計 -應(yīng)用實務(wù)篇 章立民 中國鐵道出版社 1999.10

  (2)中文Visual Foxpro6.0 高級編程 合力工作室 清華大學(xué)出版社 1999.7

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 国产乱子伦农村叉叉叉| 分分操这里只有精品| 中文字幕在线视频一区二区| 亚洲第一天堂久久| 一级一片免费播放| 成人免费在线网| 国产麻花豆剧传媒精品mv在线| 欧美伦理片在线看| 99国产精品久久久久久| 亚洲成人动漫在线| 免费 成 人 黄 色| 尤蜜粉嫩av国产一区二区三区| 91日韩精品视频| www.射射射| 57pao国产成永久免费视频| youjizz.com亚洲| 欧美成人三级在线视频| 国产天堂在线播放| 26uuu成人| 国产精品人人妻人人爽人人牛| 国产一级片自拍| 日韩视频在线视频| 午夜激情福利在线| 精品无码av无码免费专区| 久草资源站在线观看| 一级做a爱视频| www.玖玖玖| 99精品一级欧美片免费播放| 免费在线观看毛片网站| 久久精品一二三四| 日韩精品一区二区三区不卡 | 在线播放黄色av| 亚洲理论电影在线观看| 日本一二区免费| 国产女大学生av| 国产卡一卡二在线| 亚洲污视频在线观看| 亚洲人成无码网站久久99热国产 | 日韩成人av免费| 成人午夜视频免费在线观看| 成人国产在线看| 一区二区在线免费看| 日本三级免费观看| 精品久久久无码人妻字幂| 欧美三级午夜理伦三级富婆| 自拍日韩亚洲一区在线| 国产美女视频免费看| 黄色国产小视频| 欧美 日韩 国产一区| 激情五月婷婷六月| www.偷拍.com| 日本免费观看网站| 久久精品免费一区二区| 日韩人妻无码精品久久久不卡| 国产成人美女视频| 久久精品免费网站| 日本三级免费网站| www.av中文字幕| 久久福利一区二区| 日韩中文字幕在线不卡| 国产人妻互换一区二区| 在线看免费毛片| 亚洲黄色av片| 91蝌蚪视频在线| 加勒比av中文字幕| 午夜视频在线观| 久久久国产精华液999999| 免费国产成人av| 亚洲精品一二三四五区| 精品少妇无遮挡毛片| 亚洲熟妇av一区二区三区| 丰满少妇被猛烈进入高清播放| 蜜桃传媒一区二区三区| 97超碰在线人人| 国产亚洲欧美在线视频| 91国视频在线| 人妻有码中文字幕| 欧美亚洲日本在线观看| 日本成人黄色网| 国产三级国产精品国产专区50| 污污网站免费观看| 天天操天天干天天做| 一本—道久久a久久精品蜜桃| 青娱乐国产精品视频| 成年丰满熟妇午夜免费视频| 六月婷婷激情综合| 日韩av一二三四区| 欧美综合在线观看视频| 狠狠躁狠狠躁视频专区| 亚洲天堂av一区二区三区| 国产黑丝在线视频| 成年人网站国产| 女人喷潮完整视频| 国产喷水theporn| 波多野结衣免费观看| 免费观看国产视频在线| 日韩国产一级片| 韩国中文字幕av| 久久久久久久久久久久久国产| 国产一线二线三线女| 日韩欧美在线免费观看视频| 中文字幕一区久久| www.欧美黄色| 国产v亚洲v天堂无码久久久 | 欧美极品欧美精品欧美| 亚洲国产高清av| mm131午夜| 欧美黄色一级片视频| 国产欧美精品一二三| 久久亚洲中文字幕无码| 国产精品久久久久久久av福利| 亚洲色成人www永久在线观看| 少妇激情一区二区三区| 做爰高潮hd色即是空| 日韩人妻精品无码一区二区三区| 九九热99视频| 噜噜噜久久亚洲精品国产品麻豆 | 欧洲精品在线播放| 天天操,天天操| www..com日韩| 亚洲在线观看网站| 97国产精东麻豆人妻电影| 亚洲视频在线不卡| 国产肥臀一区二区福利视频| 欧美精品一区二区性色a+v| aa免费在线观看| 欧美 亚洲 视频| 在线播放免费视频| 老头吃奶性行交视频| 日韩中字在线观看| 青青草原播放器| 国产精品自拍视频在线| 狠狠97人人婷婷五月| 亚洲小说欧美另类激情| 亚洲最大天堂网| 自拍偷拍 国产| 国产精品50p| 日韩精品视频在线观看视频| 97人人爽人人| 日韩一区二区三区不卡视频| 九九爱精品视频| 丰满的少妇愉情hd高清果冻传媒| 91 视频免费观看| 色综合手机在线| 日本www.色| 色七七在线观看| 虎白女粉嫩尤物福利视频| 日韩视频在线视频| 少妇大叫太大太粗太爽了a片小说| 手机免费av片| 91亚洲免费视频| 在线观看免费不卡av| 日本中文字幕精品—区二区| 免费看国产黄色片| 日本在线观看免费视频| 日本三区在线观看| 中文字幕无码不卡免费视频| 玩弄japan白嫩少妇hd| 日韩精品一区二区三区不卡| 亚洲精品无码久久久久久| 尤物av无码色av无码| 免费无码国产v片在线观看| 看av免费毛片手机播放| 99色精品视频| 97公开免费视频| 欧美精品久久久久久久久25p| 激情 小说 亚洲 图片: 伦| 欧美成人黄色网址| 男女男精品视频站| www.成人黄色| 麻豆视频传媒入口| 蜜臀av色欲a片无码精品一区 | 国产福利视频在线播放| 国产裸体免费无遮挡| 日日干夜夜操s8| 异国色恋浪漫潭| 国产av人人夜夜澡人人爽麻豆| 男人天堂av片| www.日本xxxx| 一级黄色片在线免费观看| 成年丰满熟妇午夜免费视频| 成人午夜免费在线| 人妻丰满熟妇av无码区app| 一区二区三区免费播放| 成年人网站av| 9色porny| 亚洲天堂av线| 国产经典久久久| 黄色动漫在线免费看| 中文字幕丰满乱码| 国产毛片久久久久久国产毛片| 日本精品一区在线观看| 亚洲另类第一页| 亚洲国产精品无码观看久久| 激情内射人妻1区2区3区 | 真人做人试看60分钟免费| 美女日批免费视频| 九九热精品国产| 免费一级特黄毛片| 超碰在线资源站|