




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1,第10章 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā),2,本 章 要 點(diǎn),10.1數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā)過程 10.2調(diào)試技術(shù) 10.3容錯(cuò)技術(shù) 10.4應(yīng)用程序發(fā)布,3,10.1 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā)過程,10.1.1數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的開發(fā)步驟 1可行性分析 2需求分析 3數(shù)據(jù)設(shè)計(jì) 4應(yīng)用程序設(shè)計(jì) 5測(cè)試 6維護(hù),4,10.1.2 構(gòu)造應(yīng)用程序框架 (1)設(shè)置應(yīng)用程序起始點(diǎn) 在項(xiàng)目管理器中設(shè)置主文件的方法為:?jiǎn)螕粢O(shè)置為主文件的程序或表單或菜單文件,從【項(xiàng)目】菜單或快捷菜單中選擇【設(shè)置主文件】選項(xiàng)。 (2)初始化環(huán)境 (3)顯示初始的用界面 (4)控制事件循環(huán) (5)恢復(fù)初始的開發(fā)環(huán)境 (6)組織主程序文件,5,【例1
2、0-2】為本書中的學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)一個(gè)主程序(MAIN.PRG),并設(shè)置為主文件,【例10-2】為本書中的學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)一個(gè)主程序(MAIN.PRG),并設(shè)置為主文件。 MAIN.PRG代碼如下: DO start.PRG & 調(diào)用程序建立環(huán)境設(shè)置(在公 有變量中保存值) DO form MAINFORM & 將例9-3設(shè)計(jì)的帶菜單的頂層表單作為初始的用戶界面顯示 READ EVENTS & 建立事件循環(huán)。 DO CLEANUP.PRG & 在退出之前,恢復(fù)環(huán)境設(shè)置 Start.PRG中代碼如下: Public cTalkVal & 定義全局變量,6,IF SET (TALK)=”O(jiān)
3、N” SET TALK OFF cTalkVal=“ON” & 保存SET TALK設(shè)置 ELSE cTalkVal=“ON” Endif Open database student & 打開數(shù)據(jù)庫(kù) Application.visible=.F. & 隱藏Visual FoxPro主窗口 CLEANUP.PRG中代碼如下: set talk &ctalkval & 恢復(fù)SET TALK設(shè)置 close database & 關(guān)閉數(shù)據(jù)庫(kù) clear all windods & 釋放所有窗口 Application.visible=.T. & 顯示Visual FoxPro主窗口,7,10.1.3
4、 使用項(xiàng)目管理器組織與管理文件 1創(chuàng)建一個(gè)項(xiàng)目 (1)在系統(tǒng)菜單中單擊【文件】|【新建】,此時(shí)系統(tǒng)將彈出新建對(duì)話框。 (2)在“新建”對(duì)話框的“文件類型”中選擇“項(xiàng)目”,單擊“新建文件”按鈕。 (3)在彈出的“創(chuàng)建”對(duì)話框中輸入項(xiàng)目的名稱,并選擇保存項(xiàng)目的目錄后單擊“保存”按鈕。這時(shí)就新建成了一個(gè)項(xiàng)目并打開了項(xiàng)目管理器。在項(xiàng)目管理器中創(chuàng)建各類文件的方法在前面各章節(jié)中均有介紹,在此不再細(xì)述,本節(jié)僅介紹項(xiàng)目管理器的文件管理功能。,8,2添加和移去文件 從項(xiàng)目中選定要移去的文件或?qū)ο蟆?單擊“移去”按鈕;系統(tǒng)將彈出如圖所示對(duì)話框。 如果單擊“移去”按鈕,將從項(xiàng)目中移去該文件或?qū)ο?;如果單擊“刪除”按
5、鈕,將從項(xiàng)目中移去該文件或?qū)ο螅⑽募拇疟P上永久性地刪除。,9,3創(chuàng)建及修改文件 (1)選定要?jiǎng)?chuàng)建的文件類型。 (2)單擊“新建”按鈕或“修改”按鈕,即可激活Visual FoxPro 相應(yīng)的設(shè)計(jì)器或向?qū)А@?,要修改一個(gè)表,只需選定該表的名稱,用通過鼠標(biāo)指針雙擊或單擊“修改”按鈕,即可進(jìn)入“表設(shè)計(jì)器”顯示該表結(jié)構(gòu)。,10,4為文件添加說明 通過設(shè)置出現(xiàn)在項(xiàng)目管理器中的文件說明信息,可更方便地跟蹤文件。其方法是: (1)在項(xiàng)目管理器中選定所需的文件。 (2)選擇“項(xiàng)目”菜單中的“編輯說明”命令。 (3)在彈出的“說明”對(duì)話框中鍵入該文件的說明信息。 (4)單擊“確定”按鈕。,11,5設(shè)置文
6、件的包含或排除屬性 6編輯或查看項(xiàng)目信息 在系統(tǒng)菜單中選擇【項(xiàng)目】|【項(xiàng)目信息】命令,打開如圖所示對(duì)話框。,編輯項(xiàng)目信息:在項(xiàng)目信息對(duì)話框中,單擊項(xiàng)目選項(xiàng)卡,可以查看或編輯作者有關(guān)信息,單擊文件選項(xiàng)卡,可以一次性查看所有的項(xiàng)目文件,12,10.1.4 項(xiàng)目連編,1測(cè)試項(xiàng)目 在項(xiàng)目管理器中,單擊“連編”按鈕。系統(tǒng)將彈出如圖所示的連編選項(xiàng)對(duì)話框。,在“連編選項(xiàng)”對(duì)話框中,選擇“重新連編項(xiàng)目”,13,3連編一個(gè)應(yīng)用程序 若要連編一個(gè)應(yīng)用程序,可使用BUILD APP或BUILD EXE命令?;蛘哌M(jìn)行如下操作。 (1)在項(xiàng)目管理器中,單擊“連編”按鈕。 (2)在“連編選項(xiàng)”對(duì)話框中,選擇“連編應(yīng)用程序
7、”,生成.app文件;或者選擇“連編可執(zhí)行文件”以建立一個(gè).exe文件。 (3)選擇所需其他選項(xiàng)并單擊“確定”按鈕。 當(dāng)為項(xiàng)目建立一個(gè)最終的應(yīng)用程序文件之后,就可運(yùn)行了,14,4運(yùn)行.app應(yīng)用程序 要運(yùn)行.app應(yīng)用程序,可從“程序”菜單中選擇“運(yùn)行”命令,然后選擇要執(zhí)行的應(yīng)用程序;或者在“命令”窗口中,鍵入DO和應(yīng)用程序文件名。 例如,要運(yùn)行應(yīng)用程序“項(xiàng)目1”,可鍵入: DO 項(xiàng)目1.app 5運(yùn)行.exe文件 如果從應(yīng)用程序中建立一個(gè).exe文件,可以使用如幾種方法運(yùn)行該文件: (1)從Visual FoxPro中,從“程序”菜單中選擇“運(yùn)行”,然后選擇一個(gè)應(yīng)用程序文件; (2)在Win
8、dows中,雙擊該.exe文件的圖標(biāo),15,10.2 調(diào)試技術(shù),10.2.1 建立測(cè)試環(huán)境 1硬件和軟件問題 為了獲得最大的可移植性,應(yīng)當(dāng)在預(yù)期運(yùn)行的最底層平臺(tái)上開發(fā)應(yīng)用程序。要保證應(yīng)用程序能在滿足最低要求的平臺(tái)上正常工作,應(yīng)該做到以下幾點(diǎn): (1)使用最低層常用的視頻方式開發(fā)應(yīng)用程序。 (2)確定最低所需的以及存儲(chǔ)介質(zhì)的空間大小,其中應(yīng)包括必需的驅(qū)動(dòng)程序以及同時(shí)運(yùn)行的軟件所占用的空間。 (3)對(duì)于應(yīng)用程序的網(wǎng)絡(luò)版,還應(yīng)考慮內(nèi)存、文件和記錄鎖定特殊要求。,16,2系統(tǒng)路徑和文件屬性 為了在運(yùn)行應(yīng)用程序的每臺(tái)機(jī)器上都能夠快速訪問所有必需程序文件,可能需要確定一個(gè)基本文件配置。在定義基本配置時(shí),應(yīng)
9、考慮下列問題: (1)應(yīng)用程序是否需要公用系統(tǒng)路徑。 (2)設(shè)置的文件存取屬性是否合適。 (3)為每個(gè)用戶設(shè)置的網(wǎng)絡(luò)權(quán)限是否正確,17,3目錄結(jié)構(gòu)和文件位置 如果源代碼引用的是絕對(duì)路徑或文件名,那么當(dāng)應(yīng)用程序安裝到任何其他機(jī)器上時(shí)必須存在相同的路徑和文件。若要避免這一情況,可采用以下方法: (1)使用Visual FoxPro配置文件。 (2)另建一個(gè)目錄或目錄結(jié)構(gòu),將源文件和生成的應(yīng)用程序文件分開。這樣就可以對(duì)應(yīng)用程序的相互引用關(guān)系進(jìn)行測(cè)試,并且準(zhǔn)確地知道在發(fā)布應(yīng)用程序時(shí)應(yīng)包含哪些文件。 (3)使用相對(duì)路徑。,18,10.2.2 設(shè)置驗(yàn)證的內(nèi)容 在代碼中可以包含驗(yàn)證的內(nèi)容,其作用是驗(yàn)證代碼運(yùn)
10、行環(huán)境的假設(shè)情況。 若要設(shè)置驗(yàn)證的內(nèi)容,使用ASSERT命令標(biāo)明程序中的假設(shè)。 當(dāng)ASSERT命令中所規(guī)定的條件為“假”(.F.)時(shí),將顯示一個(gè)提示信息對(duì)話框,同時(shí)在“調(diào)試輸出”窗口中反映出來。 例如,可以編寫一個(gè)函數(shù),函數(shù)需要一個(gè)非的參數(shù)值。如果參數(shù)為時(shí),下面的函數(shù)代碼將提醒用戶: ASSERT nParm!=0 MESSAGE“接受的參數(shù)數(shù)值為0”。 可以使用SET ASSERTS命令指定是否顯示提示信息,默認(rèn)情況下,不顯示提示信息。,19,10.2.3 在調(diào)試器中調(diào)試程序 1打開調(diào)試器 選擇【工具】|【調(diào)試器】命令?!罢{(diào)試器”窗口是一個(gè)獨(dú)立運(yùn)行的窗口,它有自己的菜單和工具欄,在“調(diào)試器”
11、窗口中可有選擇地打開5個(gè)子窗口:跟蹤、監(jiān)視、局部、調(diào)用堆棧和調(diào)試輸出。如圖所示,20,2跟蹤代碼 在調(diào)試中,最有用的方法就是跟蹤代碼,以此觀察每一行代碼的運(yùn)行,同時(shí)檢查所有的變量、屬性和環(huán)境設(shè)置值,如圖所示,1、如果“跟蹤”窗口沒有打開,在調(diào)試窗口的菜單欄中選擇【窗口】|【跟蹤】命令,2、在調(diào)試窗口的菜單欄中選擇【調(diào)試】|【運(yùn)行】命令。打開要調(diào)試的程序,3、在調(diào)試窗口的菜單欄中選擇【調(diào)試】|【單步】命令(或F6鍵),或選擇【調(diào)試】|【單步跟蹤】命令(F8鍵),21,3設(shè)置斷點(diǎn) (1)在特定代碼行設(shè)置斷點(diǎn) 在“跟蹤”窗口中,找到需要設(shè)置斷點(diǎn)的那一行,并將光標(biāo)放置在該代碼行上 按下F9鍵或者單擊“
12、調(diào)試器”工具欄上的“切換斷點(diǎn)”按扭。 或者雙擊該行代碼行左邊的灰色區(qū)域,該代碼行左邊的灰色區(qū)域中會(huì)顯示一個(gè)實(shí)心點(diǎn),這表明在該行已經(jīng)設(shè)置一個(gè)斷點(diǎn)。 如果正在調(diào)試對(duì)象,那么,通過從對(duì)象列表中選擇對(duì)象,從過程列表中選擇所需方法程序或事件,就可以在“跟蹤”窗口中找到特定的代碼行,22,(2)在文件指定位置設(shè)置斷點(diǎn) 在調(diào)試窗口中選擇【工具】|【斷點(diǎn)】命令,打開“斷點(diǎn)”對(duì)話框,1、在“類型”列表框中選擇“在定位處中斷”,2、在“定位”和“文件”輸入框中指定所需斷點(diǎn)的位置和文件來設(shè)置斷點(diǎn),23,4移去斷點(diǎn) 在“斷點(diǎn)”對(duì)話框中,單擊斷點(diǎn)列表框中某斷點(diǎn)左側(cè)的復(fù)選框可使該斷點(diǎn)無(wú)效,單擊“刪除”按鈕可刪除選定的斷點(diǎn)
13、。 在“跟蹤”窗口中,雙擊斷點(diǎn)標(biāo)記可以刪除該斷點(diǎn)。,24,5查看存儲(chǔ)元素的值 (1)在“局部”窗口中查看變量的值 “局部”窗口會(huì)顯示調(diào)用堆棧上的任意程序、過程或方法程序里所有的變量、數(shù)組、對(duì)象和對(duì)象元素,如圖所示。默認(rèn)情況下,在“局部”窗口中所顯示的是當(dāng)前執(zhí)行程序中的變量值,通過在“位置”列表中選擇程序或過程,也可以查看其他程序或過程中的變量值,25,(2)在“監(jiān)視”窗口中查看變量的值 在“監(jiān)視”窗口的“監(jiān)視”框中,鍵入任意一個(gè)有效的Visual FoxPro表達(dá)式,然后按下回車鍵。這時(shí),該表達(dá)式的值和類型就會(huì)出現(xiàn)在“監(jiān)視”窗口的列表中。如圖所示,若要從“監(jiān)視”窗口中移去某監(jiān)視項(xiàng),選擇該項(xiàng),然
14、后按DEL鍵;或者從快捷菜單中,選擇“刪除監(jiān)視”,26,(3)在“跟蹤”窗口中查看變量值 在“跟蹤”窗口中,將光標(biāo)定位到任何一個(gè)變量、數(shù)組或?qū)傩陨希蜁?huì)出現(xiàn)提示條,并顯示它的當(dāng)前值,27,6查看事件發(fā)生的序列 若要跟蹤事件,可按如下操作: 在調(diào)試窗口的菜單中選擇【工具】|【事件跟蹤】命令。打開如圖所示的跟蹤對(duì)話框。, 選擇要跟蹤的事件:系統(tǒng)默認(rèn)的跟蹤事件為Visual FoxPro系統(tǒng)定義的所有事件,用戶可從“跟蹤事件”列表中選擇不跟蹤的事件,并單擊中部的左箭頭按鈕將其加入“可用事件”列表中, 啟動(dòng)事件跟蹤:選中“開啟事件跟蹤”復(fù)選框,便可激活事件跟蹤, 選擇跟蹤輸出去向,28,10.3 容錯(cuò)
15、技術(shù),10.3.1 處理運(yùn)行時(shí)刻錯(cuò)誤 “運(yùn)行時(shí)刻錯(cuò)誤”是指在應(yīng)用程序開始執(zhí)行后由于環(huán)境的變化而引發(fā)的錯(cuò)誤,處理“運(yùn)行時(shí)刻錯(cuò)誤”有效的函數(shù)和命令,29,10.3.2 防止運(yùn)行時(shí)刻錯(cuò)誤的發(fā)生 要防止“運(yùn)行時(shí)刻錯(cuò)誤”的發(fā)生,首先需要預(yù)見錯(cuò)誤可能會(huì)在何處發(fā)生,然后針對(duì)可能發(fā)生錯(cuò)誤的代碼進(jìn)行修改 【例10-3】運(yùn)行時(shí)打開STUD表,如果表不存在,顯示出錯(cuò)信息。 不能容錯(cuò)的代碼: USE STUD 能容錯(cuò)的代碼: IF FILE(stud) USE stud Else MESSAGEBOX(打開表錯(cuò)誤,0,提示) ENDIF,30,10.3.3 處理運(yùn)行時(shí)錯(cuò)誤 有時(shí)不能預(yù)見所有可能發(fā)生的錯(cuò)誤,也許不想這樣
16、做。這時(shí),我們就需要利用Visual FoxPro提供的錯(cuò)誤捕獲功能: ON ERROR DO ,一般情況下,可將有可能出現(xiàn)運(yùn)行時(shí)錯(cuò)誤的代碼放在ON ERROR DO 和ON ERROR之間,要中止ON ERROR DO 錯(cuò)誤捕獲功能,可執(zhí)行不帶任何參數(shù)的ON ERROR命令,將錯(cuò)誤信息重置為Visual FoxPro的內(nèi)置錯(cuò)誤信息,如果在代碼中用ON ERROR DO 命令啟動(dòng)了Visual FoxPro的錯(cuò)誤捕獲功能,在后續(xù)代碼中發(fā)生任何運(yùn)行時(shí)錯(cuò)誤,系統(tǒng)都會(huì)執(zhí)行中的代碼,然后跳過錯(cuò)誤代碼行,接著執(zhí)行錯(cuò)誤代碼行的下一語(yǔ)句。如果希望重新執(zhí)行錯(cuò)誤行代碼,可使用RETRY命令,31,【例10-4】
17、假若系別表(DEP)的代號(hào)字段被定義為主關(guān)鍵字,如果用SQL語(yǔ)句向系別表(DEP)插入一條新記錄,可用命令: DEPNO=02 INSERT INTO DEP VALUES(&DEPNO,中文系) 如果DEP表中已有代號(hào)為“02”的記錄,這條命令在運(yùn)行時(shí)就會(huì)發(fā)生錯(cuò)誤。 為了處理這類錯(cuò)誤,可將代碼修改為: DEPNO=02 ON ERROR DO ERRORPROC INSERT INTO DEP VALUES(&DEPNO,中文系) ON ERROR,32,ERRORPROC.PRG nAnswer=MESSAGEBOX(關(guān)鍵字沖突,插入記錄失敗,2+48+512,”錯(cuò)誤”) DO CASE
18、CASE nAnswer=3& 退出 CANCEL CASE nAnswer=4 & 重試 *修改DEPNO RETRY OTHERWISE & 忽略 RETURN ENDCASE,33,10.3.4 處理類和對(duì)象中的錯(cuò)誤 當(dāng)方法程序代碼中出錯(cuò)時(shí),Visual FoxPro將檢查和該對(duì)象的rror事件相關(guān)的錯(cuò)誤處理代碼。如果在該對(duì)象的Error事件上沒有代碼,則將從父類或高于該類的其他類中執(zhí)行Error事件的代碼。如果在該類的層次結(jié)構(gòu)中,找不到Error事件代碼,isaul FoxPro將檢查ON ERROR 例程。如果ON ERROR例程不存在,Visual FoxPro則顯示默認(rèn)的錯(cuò)誤信息,34,10.4 應(yīng)用程序發(fā)布,10.4.1 制作發(fā)布盤前的準(zhǔn)備工作 1創(chuàng)建發(fā)布盤的步驟 創(chuàng)建發(fā)布目錄。 把應(yīng)用程序文件從項(xiàng)目中復(fù)制到發(fā)布目錄的適當(dāng)位置。 創(chuàng)建發(fā)布盤,35,2創(chuàng)建發(fā)布目錄 發(fā)布目錄用來存放構(gòu)成應(yīng)用程序的所有項(xiàng)目文件的副本。發(fā)布目錄樹的結(jié)構(gòu)也就是由“安裝向?qū)А眲?chuàng)建的安裝程序?qū)⒃谟脩魴C(jī)器上創(chuàng)建的文件結(jié)構(gòu)。如圖所示,若要?jiǎng)?chuàng)建發(fā)布目錄可按如下步驟進(jìn)行: 創(chuàng)建目錄,目錄名為希望在用戶機(jī)器上出現(xiàn)的名稱。 把發(fā)布目錄分成適合于應(yīng)用程序的子目錄。 把應(yīng)用程序項(xiàng)目中的文件復(fù)制到相應(yīng)目錄中。應(yīng)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年無(wú)機(jī)電子材料合作協(xié)議書
- 2025年黑龍江省中考生物試卷(含答案)
- 2025年環(huán)保設(shè)備制造業(yè)市場(chǎng)前景與創(chuàng)新產(chǎn)品研發(fā)動(dòng)態(tài)報(bào)告
- 2025年零售自有品牌產(chǎn)品研發(fā)與創(chuàng)新趨勢(shì)研究報(bào)告
- 2025上海市水果蔬菜買賣合同
- 教育心理學(xué)與科技未來教育的趨勢(shì)與挑戰(zhàn)
- 學(xué)生心理特點(diǎn)與行為管理策略研究
- 酒店客房管理系統(tǒng)支付系統(tǒng)協(xié)議
- 大數(shù)據(jù)助力職業(yè)技能教育的個(gè)性學(xué)習(xí)設(shè)計(jì)
- 2025年環(huán)境監(jiān)測(cè)智能化系統(tǒng)數(shù)據(jù)質(zhì)量控制與優(yōu)化策略分析報(bào)告
- 血透患者敘事護(hù)理故事
- 電力建設(shè)工程施工安全管理導(dǎo)則
- 醫(yī)院消防安全培訓(xùn)課件(完美版)
- 雅馬哈RX-V365使用說明書
- 照相館管理制度
- IECQ QC 080000:2017 第四版標(biāo)準(zhǔn)(中文版)
- 國(guó)外激勵(lì)研究現(xiàn)狀分析報(bào)告
- GB/T 4074.4-2024繞組線試驗(yàn)方法第4部分:化學(xué)性能
- MH-T 6107-2014民用機(jī)場(chǎng)飛行區(qū)集水口頂蓋和地井頂蓋
- 漢密爾頓抑郁和焦慮量表
- CJJT226-2014 城鎮(zhèn)供水管網(wǎng)搶修技術(shù)規(guī)程
評(píng)論
0/150
提交評(píng)論