




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、重慶航天職業(yè)技術(shù)學(xué)院繼續(xù)教育學(xué)院PowerBuilder 實用教程與實訓(xùn) I課程設(shè)計任務(wù)報告書*班級10 計算機網(wǎng)絡(luò)姓名*指導(dǎo)老師:匚完成日期:2011/12/23數(shù)據(jù)庫技術(shù)課程設(shè)計任務(wù)書班級:10計算機網(wǎng)絡(luò)一、課程設(shè)計名稱:學(xué)生成績管理系統(tǒng)設(shè)計與實現(xiàn)二、課程設(shè)計的目的:通過本次課程設(shè)計,學(xué)會 PB 的使用方法。三、任務(wù)要求:1 .畫出系統(tǒng)設(shè)計圖。2 .給出主要模塊的設(shè)計和實現(xiàn)步驟。3 .給出實現(xiàn)代碼。四、課程設(shè)計報告書要求:1 .要求有課程設(shè)計報告書封面,封面上寫清楚標(biāo)題、班級、姓名、指導(dǎo)老師、完成日期,格式自己設(shè)計。2,將本任務(wù)書裝訂在報告書的第二頁。3 .第三頁為教師評語。4 .第四頁為
2、目錄。5 .報告書的具體內(nèi)容如下:1)系統(tǒng)結(jié)構(gòu)圖。2)數(shù)據(jù)庫建立步驟及截圖。3)系統(tǒng)模塊實現(xiàn)步驟及截圖。4)具體代碼。6.報告書的最后是本次課程設(shè)計的小節(jié)和參考文獻。五、作業(yè)周期:2011.11.152012.1.5計算機工程系*教師評語目錄1 課程設(shè)計目的 52 數(shù)據(jù)庫設(shè)計 52.1 需求分析 52.2 數(shù)據(jù)庫設(shè)計內(nèi)容.62.3 概念設(shè)計 62.4 創(chuàng)建數(shù)據(jù)庫 73 模塊及窗口設(shè)計 11設(shè)計系統(tǒng)管理模塊 11設(shè)計主窗口和菜單.13設(shè)計輸入班級信息的數(shù)據(jù)窗口.17設(shè)計訪問學(xué)生基本信息數(shù)據(jù)窗口.19設(shè)計查詢班級開設(shè)課程的窗口.20設(shè)計訪問成績信息的窗口.233 實訓(xùn)心得 274 參考文獻.27引
3、言數(shù)據(jù)庫技術(shù),已經(jīng)成為先進信息技術(shù)的重要組成部分,是現(xiàn)代計算機信息系統(tǒng)和計算機應(yīng)用系統(tǒng)的基礎(chǔ)和核心。數(shù)據(jù)庫從誕生到現(xiàn)在,在不到半個世紀的時間里,形成了堅實的理論基礎(chǔ)、成熟的商業(yè)產(chǎn)品和廣泛的應(yīng)用領(lǐng)域,吸引越來越多的研究者加入。計算機技術(shù)不斷地應(yīng)用到各行各業(yè),大量的企業(yè)把數(shù)據(jù)存放在數(shù)據(jù)庫中,并且通過T相關(guān)的代碼語句來進行快速查詢,獲取比傳統(tǒng)方式更高的效率。為了進一步加深和鞏固我們所學(xué)的PowerBuilder實用教程和實訓(xùn)I的基礎(chǔ)理論知識,使我們所學(xué)的理論能夠更好的和實際的專業(yè)連接起來。是學(xué)生得到收集、處理、應(yīng)用資料信息的實踐訓(xùn)練,同時全面的考核學(xué)生所掌握的基礎(chǔ)理論知識及其實際的專業(yè)能力,從而達到
4、提高學(xué)生素質(zhì)的最終目的。學(xué)校安排了實訓(xùn)課程,在這段時間里,希望防能夠利用所學(xué)到的只是穿件一個圖書管理的數(shù)據(jù)系統(tǒng),來達到圖書管理的需要。2011.12.201課程設(shè)計目的通過本次課程設(shè)計,學(xué)會PB的使用方法。2數(shù)據(jù)庫設(shè)計熟悉PowerBuilder實用教程和實訓(xùn)I實訓(xùn)環(huán)境,熟練掌握數(shù)據(jù)庫、表、窗口界面的設(shè)計、圖形按鈕的添加、數(shù)據(jù)庫的鏈接及函數(shù)的創(chuàng)建與應(yīng)用,確立數(shù)據(jù)庫創(chuàng)建的方向,對圖書管理系統(tǒng)進行分析并設(shè)計系統(tǒng)實現(xiàn)需要哪幾張表以及各表結(jié)構(gòu),確立數(shù)據(jù)庫創(chuàng)建要求,優(yōu)化數(shù)據(jù)庫界面的設(shè)計。需求分析書籍是人類進步的階梯,人類進步的精神糧食。因此,讀書顯得格外重要。所以學(xué)生成績系統(tǒng)應(yīng)該是能夠為閱讀者提供充足的
5、信息和快捷的查詢手段的一種方式。學(xué)生成績管理工作繁瑣,查閱繁瑣,包含大量的信息數(shù)據(jù),因此就需要一個完善的學(xué)生成績管理系統(tǒng)來實現(xiàn)對這些數(shù)據(jù)的有效管理。從而達到領(lǐng)導(dǎo)、老師對查詢學(xué)生成績信息進行統(tǒng)一管理,滿足用戶的需要。隨著計算機信息技術(shù)的發(fā)展,數(shù)據(jù)庫作為信息技術(shù)的一部分也在飛速的發(fā)展著。使用數(shù)據(jù)庫對圖書資源盡心管理工具有著手工管理無法比擬的有點,它檢索迅速、查找方便、可靠性高、存儲量大、成本低,所以數(shù)據(jù)庫成為了圖書管理最主要的選擇。數(shù)據(jù)庫設(shè)計內(nèi)容利用PowerBuilder開發(fā)一個小型圖書管理系統(tǒng)改圖書管理系統(tǒng)主要有一下幾個功能:圖書類型信息查詢和編輯,圖書信息的查詢和編輯,用戶的查詢和編輯,借閱
6、還書記錄的生成和查詢。概念設(shè)計概念設(shè)計是在需求分析基礎(chǔ)上的,用概念數(shù)據(jù)模型來表述數(shù)據(jù)以及數(shù)據(jù)之間的相互聯(lián)系,從上述的分析中得到圖書管理系統(tǒng)的E-R圖。創(chuàng)建數(shù)據(jù)庫數(shù)據(jù)庫是一個數(shù)據(jù)庫系統(tǒng)的核心,一切數(shù)據(jù)都存儲在數(shù)據(jù)庫中,我們所進行的數(shù)據(jù)的查找,刪除,更改等行為都是要進入數(shù)據(jù)庫中的。要創(chuàng)建數(shù)據(jù)庫管理系統(tǒng),那么我們首先要創(chuàng)建一個數(shù)據(jù)庫。在D盤的新建xscj文件夾,再新建data文件夾。打開PowerBuilder,新建一個工作空間和應(yīng)用。在應(yīng)用open中輸入代碼:連接數(shù)據(jù)庫SQLCA.DBMS=ODBCSQLCA.AutoCommit=FalseSQLCA.DBParm=Connectstring=D
7、SN=xscj;UID=dba;PWD=sqTCONNECT;ifSQLCA.sqlcode0thenmessageboxC 提示,數(shù)據(jù)庫連接失??!)elseopen(w_login)/打開登錄窗口 endif在工具欄上點擊Database的圖標(biāo)WL(或者Tools-Databasepainter快捷鍵Shift+F7),彈出數(shù)據(jù)庫創(chuàng)建的對話框。打開ODBC下拉菜單,單擊Utilities,然后雙擊CreateASADatabaseDatabasenam健入xscj,保存在在D盤下的xscj文件夾的data文件夾下,如圖.圖2-1新建xscj數(shù)據(jù)庫在數(shù)據(jù)庫中創(chuàng)建表 banji、jiben、bj
8、kc、xscj、user 同時為表創(chuàng)建主鍵,外鍵。在數(shù)據(jù)庫 xscj 中選中 Tables,右鍵選擇 NewTable,彈出表的創(chuàng)建窗口,輸入表名,類型,寬度,以及是否為空。完圖2-3在數(shù)據(jù)庫中創(chuàng)建表banji創(chuàng)建完成后,打開xscj的Tables下拉菜單,選中剛剛創(chuàng)建的表。右鍵 NewprimaryKey 為表設(shè)置主鍵 bjbh。使用同樣的方法建立表 jiben,bjkc,xscj,user 如圖所示:圖2-2數(shù)據(jù)庫樹狀圖成后點擊圖標(biāo)題或使用快捷鍵Ctrl+S保存圖 2-5 在數(shù)據(jù)庫中創(chuàng)建表 xscj圖2-6在數(shù)據(jù)庫中創(chuàng)建表users分別為其設(shè)置主鍵xh,xm表的關(guān)聯(lián)關(guān)系:bjkc-fore
9、ignkey關(guān)聯(lián)banji-primarykeyJiben-primarykey關(guān)聯(lián)jiben-foreignkeyJinben-primarykey關(guān)聯(lián)xscj-foreignkey圖IXXjiiNnn圖 2-7 表的關(guān)聯(lián)關(guān)系系統(tǒng)模塊設(shè)計點擊工具欄的新建金圖標(biāo), 或者口, 選擇PBObject中的Windowso使用CommondButton,創(chuàng)建一個用戶登陸窗口。在屬性頁面的Title框內(nèi)輸入登陸, 使用兩個Createstatictextcontrol,在其一加入圖片,另一text屬性文本框內(nèi)輸入學(xué)生成績管理系統(tǒng)。在窗口中添加GroupBox,text屬性中輸入請輸入。在其內(nèi)添加兩個st
10、atictextcontrol,text。在statictextcontrol的text屬性輸入用戶名,密碼。本窗口實現(xiàn)用戶登錄控制M*小1H圖3-1登陸窗口在確定按鈕下添加代碼,如下:stringls_username,ls_passwordls_username=trim(sle_1.text)/輸入的用戶名和密碼ls_password=trim(sle_2.text)ifls_username=orls_password=thenmessagebox(提示,用戶名和密碼不能為空)elseSELECT,users.password,users.adminINTO:gs_
11、username,:gs_password,:gs_adminFROMusersWHERE(=:ls_username)AND(users.password=:ls_password);ifsqlca.sqlcode=0thenopen(w_main)密碼正確,打開主窗口close(w_login)elseli_n=li_n-1ifli_n0thenmessageboxC 提示,用戶名或密碼錯誤)elsemessagebox(提示,錯誤超過 3 次,自動退出)halt錯誤超過 3 次,退出程序endifendifendif放棄按鈕下輸入代碼:halt退出程序設(shè)計主窗口和菜單
12、主窗口和菜單是系統(tǒng)工作的主界面,本例的窗口為帶幫助的多文檔框架窗口。在PBObject下選定Menu單擊OK,或者使用new小圖標(biāo).彈出new的選擇窗口對話框。打開Menu窗口。選定Untitled。右鍵InsertSubmenuItem,輸入-系統(tǒng)(&S)回車,選定系統(tǒng)(&S)右鍵InsertSubmenuItem,輸入-密碼修改,再選定系統(tǒng)(&S)右鍵選擇InsertSubmenuItem輸入用戶管理.使用同樣的方法創(chuàng)建Menu的菜單結(jié)構(gòu)。如圖所示:CI13urtblfrBO8r4fEi:L&正副臻勝冏中31個逐出不始卻卡中疆如SM同帚XM輪U44山忸拒則注
13、信片口*hI1“比叫業(yè)仁顯三軍葉食懺匕KI錄入字生歸息口匚1出出不生仁息。卜。1修由葉生口號選理管理ik策人收加阡冷津理 Q 比I溫:口戶審律比方”個小網(wǎng)囚-I.人胃他呼n,LF,_曾處辦由弓MM產(chǎn).,*力:mu輯(:卻t熱口修加r&tn-用助WH|美于產(chǎn)機需助fl)圖3-2系統(tǒng)樹形菜單結(jié)構(gòu)窗口件腳本如下Close(parentwindow)G)【班級管理】菜單下【錄入班級信息】菜單項的Clicked事件腳本如下。(1【系統(tǒng)】菜單下件腳本如下。Open(w_mmxg)(2【系統(tǒng)】菜單下件腳本如下。Open(w_yhgl) 【系統(tǒng)】菜單下【密碼修改】菜單項的【用戶管理】菜單項的【退出系統(tǒng)
14、】菜單項的Clicked事Clicked事Clicked事Open(w_banji_shuru,w_main,6,Original!)【班級管理】菜單下【修改班級信息】菜單項的Clicked事件腳本如下。Open(w_banji_xiugai,w_main,6,original)【班級管理】菜單下【瀏覽班級信息】菜單項的Clicked事件腳本如下。Opensheet(w_banji_xiugai,w_main,6,original!)【學(xué)生管理】菜單下【錄入學(xué)生信息】菜單項的Clicked事件腳本如下。Opensheet(w_jiben_shuru,w_main,6,original!)【學(xué)生
15、管理】菜單下【修改學(xué)生信息】菜單項的Clicked事件腳本如下。Opensheet(w_jiben_xiugai,w_main,6,original!)【學(xué)生管理】菜單下【查詢學(xué)生信息】菜單項的Clicked事件腳本如下。Opensheet(w_jiben_chaxun,w_main,6,original!)【課程管理】菜單下【錄入/修改開設(shè)課程】菜單項的Clicked事件腳本如下Opensheet(w_bjkc_shuruxiugai,w_main,6,original!)O【課程管理】菜單下【查詢開設(shè)課程信息】菜單項的Clicked事件腳本如下。Opensheet(w_bjkc_chaxu
16、n,w_main,6,original!)適【成績管理】菜單下【錄入修改成績】菜單項的Clicked事件腳本如下。Opensheet(w_xscj_shuru,w_main,6,original!)O【成績管理】菜單下【查詢個人成績】菜單項的Clicked事件腳本如下。Opensheet(w_xscj_grcx,w_main,6,original!)前【成績管理】菜單下【查詢班級成績】菜單項的Clicked事件腳本如下。Opensheet(w_xscj_bjkc,w_main,6,original!)0$【成績管理】菜單下【查詢課程成績】菜單項的Clicked事件腳本如下。Opensheet(
17、w_xscj_kccx,w_main,6,original!)【窗口】菜單下【層疊窗口】菜單項的Clicked事件腳本如下W_main.arrangesheets(cascade)功能是將主窗口打開的子窗口以層疊方式排列?!編椭坎藛蜗隆娟P(guān)于】菜單項的Clicked事件腳本如下。Open(w_about)踵【幫助】菜單下【關(guān)于】菜單項的Clicked事件腳本如下。ShowHelp(d:xscjhelpxscjhelp.chm”,index!)設(shè)計輸入班級信息的數(shù)據(jù)窗口菜 單 欄 中 選 擇 File-new或 點 擊new小 圖 標(biāo) 選 擇Datawindows窗口,選中Freedom單擊ok
18、。選擇QuickSelect類型的數(shù)據(jù)庫,選中預(yù)覽時檢索數(shù)據(jù)的復(fù)選框, 單擊Next命令按鈕, 彈出 【QuickSelct數(shù)據(jù)窗口對話框。在途中左邊的【Tables】列表框中列出當(dāng)前數(shù)據(jù)庫中所有的表名,單擊某一個表名,會在Columns!列表框中列出該表的全部字段。單擊某個字段名,單擊右邊的【AddAll】命令按鈕。完成字段選點擊【Next-Finish完成選擇彈出以下對話框HeaderTBjbh:bjbhBjmc:bjmcZymc:zymcXz:xzRxsji:rxsjRs:rs圖3-5數(shù)據(jù)窗口擇后單擊ok按鈕,接著彈出SelcetColorandBorder圖3-3表的選擇Seting嚴
19、責(zé)和邊框設(shè)置對話框圖3-4顏色邊框?qū)υ捒騿螕簟維ave】圖標(biāo)口,或【File】-【Savd彈出保存對數(shù)據(jù)窗口d_banjishuru生成的SQLSelct語句為:SELCETbanji.bjbh.banji.bjmcbanji.zymc.banji.xz.banji.rxsj.banji.rsFROMbanji設(shè)計訪問學(xué)生基本信息的數(shù)據(jù)窗口創(chuàng)建數(shù)據(jù)窗口d_jiben_shuru,顯示風(fēng)格為“Freefrom”,數(shù)據(jù)源類型為“QuickSelcet”。數(shù)據(jù)窗口d_jiben_shuru生成的SQLselcet語句為:SELCET圖3-5保存對話框話框,輸入創(chuàng)建jiben.xh、jiben.xm.
20、jiben.xb.jiben.csrq、jiben.jtzz、jiben.bjbh.FROMjiben”圖3-4學(xué)生基本信息窗口設(shè)計查詢班級開設(shè)課程的窗口首先創(chuàng)建一個窗口對象w_bjkc_chaxun,調(diào)整期大小,在窗口中放置2個靜態(tài)文本控件(st_1,st_2)、2個下拉列表框控件(ddlb_1,ddlb_2)、1個命令按鈕(cb_1)1個數(shù)據(jù)窗口控件(dw_1),調(diào)整各個控件的位置和大小。位置窗口及其控件的屬性見一下表。圖3-5查詢班級開設(shè)的課程的窗口對象屬性取值W_bjkc_chaxunTitle查詢班級開設(shè)課程WindowTypeMain!ResizableFalseCenterFal
21、seMaxboxFalseMinboxFalseDw_1VScrolloBarTureDataObjectD_bjkc_chaxunSt_1Text選擇學(xué)期:St_2Text選擇班級Cb_1text查詢窗口w_bjkc_chaxun的open事件腳本如下。dw_1.settransobject(sqlca)intli_xq,li_bjmc,nstringls_xq,ls_bjmcSELECTcount(distinctxq)INTO:li_xqFROMbjkc;DECLARExqcursorCURSORFORSELECTxqFROMbjkcGROUPBYxq;OPENxqcursor;FORn
22、=1TOli_xqFETCHNEXTxqcursorINTO:ls_xq;ddlb_1.additem(ls_xq)NEXTCLOSExqcursor;SELECTcount(distinctbjmc)INTO:li_bjmcFROMbanji;DECLAREbjmccursorCURSORFORSELECTbanji.bjmcFROMbjkc,banjiWHEREbjkc.bjbh=banji.bjbhGROUPBYbanji.bjmc;OPENbjmccursor;FORn=1TOli_bjmcFETCHNEXTbjmccursorINTO:ls_bjmc;ddlb_2.additem(l
23、s_bjmc)NEXTCLOSEbjmccursor;【查詢】按鈕的clicked事件腳本如下Dw_1.retrieve(ddlb_1.text、ddlb_2.text)設(shè)計訪問成績信息的窗口首先新建窗口對象w_xscj_shuru,在窗口上放置1個分組框控件、3個靜態(tài)文本控件、3個下拉列表框控件、3個命令窗口按鈕控件和1個數(shù)據(jù)窗口控件其中,【保存】按鈕的enabled屬性設(shè)成False;數(shù)據(jù)窗口控件調(diào)整到只顯示學(xué)號、姓名和成績3歹U,VScrollBar屬性設(shè)置為Ture,數(shù)據(jù)窗口對象為d_xscj_shuru;3個下拉菜單列表框控件的列表項為空,由代碼動態(tài)生成。圖3-6班級學(xué)生成績查詢【確
24、定】按鈕的代碼如下。intli_xh,nstringls_kcmc,ls_xq,ls_bjmc,ls_xhls_xq=ddlb_1.textls_bjmc=ddlb_2.textls_kcmc=ddlb_3.textifls_xq=orls_bjmc=orls_kcmc=thenmessagebox(提示,選擇項不能空!)elseSELECTcount(distinctxh)INTO:li_xhFROMxsbjWHERExsbj.bjmc=:ls_bjmc;DECLARExhcursorCURSORFORSELECTxhFROMxsbjWHERExsbj.bjmc=:ls_bjmc;OPENx
25、hcursor;FORn=1TOli_xhFETCHNEXTxhcursorINTO:ls_xh;INSERTINTOxscj(xh,xq,kcmc,cj)VALUES(:ls_xh,:ls_xq,:ls_kcmc,null);NEXTCLOSExhcursor;dw_1.retrieve(ls_xq,ls_kcmc)endif【保存】按鈕的代碼如下。ifdw_1.update(true,false)=1thendw_1.resetupdate()commit;cb_2.enabled=falseelserollback;messagebox(錯誤,保存數(shù)據(jù)失??!)endif【退出】按鈕代碼如下。close(parent)課程的下拉列表框的Getfocus事件腳本如下。intli_kcmc,nstringls_kcmc,ls_xq,ls_bjmcls_xq=ddlb_1.textls_bjmc=ddlb_2.textifnot(ls_xq=orls_bjmc=)thenSELECTcount(distinctbjkc.kcmc)INTO:li_kcmcFROMbjkc,banjiWHERE(bjkc.bjbh=banji.bjbh)and(banji.bjmc=:ls_b
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 豪宅項目轉(zhuǎn)讓協(xié)議書范本
- 貨運司機兼職合同協(xié)議
- 貸款采購供銷合同協(xié)議
- 貨場鋼材回收合同協(xié)議
- 走賬免責(zé)協(xié)議書模板
- 設(shè)備共享協(xié)議書范本
- 貨運公路運輸合同協(xié)議
- 解除就業(yè)協(xié)議書模板
- 2025年礦山安全與環(huán)境保護專業(yè)考試題及答案
- 2025年聚合物化學(xué)入門考試題及答案
- 中央分隔帶填土規(guī)范
- 港口散裝液體危險化學(xué)品港口經(jīng)營人的裝卸管理人員從業(yè)資格考試
- 高水平專業(yè)群《環(huán)境藝術(shù)設(shè)計專業(yè)群》自評報告
- 高等數(shù)學(xué)同濟第七版上冊課后習(xí)題答案(全套)
- 高中-物理 電磁感應(yīng)現(xiàn)象及應(yīng)用 說課課件
- 磚砌蓄水池施工方案(模板)
- GB/T 38058-2019民用多旋翼無人機系統(tǒng)試驗方法
- 湖南省2023年普通高等學(xué)校對口招生考試電子電工
- 萘丁美酮課件
- “智慧課堂”展示課教學(xué)設(shè)計
- 2019阿那亞金山嶺中心小鎮(zhèn)生活手冊
評論
0/150
提交評論