PB90學生管理系統(tǒng)課程設計_第1頁
PB90學生管理系統(tǒng)課程設計_第2頁
PB90學生管理系統(tǒng)課程設計_第3頁
PB90學生管理系統(tǒng)課程設計_第4頁
PB90學生管理系統(tǒng)課程設計_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

學生成績管理系統(tǒng)系統(tǒng)剖析與設計在任何高等學校,學生的成績管理都是學校教務管理的重要環(huán)節(jié)之一。跟著學校學生人數的增添,學生成績管理的任務更為沉重,一定借助現代化的管理工具和手段提升學生成績管理效率。學生成績管理系統(tǒng)寬泛合用于高校教務管理部門的學生成績管理,其作用和功能也是學生比較熟習和簡單理解的。一個應用系統(tǒng)的開發(fā)過程包含剖析、設計、實現、調試和公布等階段。以下是剖析說明。系統(tǒng)功能剖析系統(tǒng)功能剖析階段的任務就是確立該系統(tǒng)要解決的問題及其詳細要求。需要經過與用戶的交流和交流明確對系統(tǒng)的功能要求,最后列出系統(tǒng)能夠實現的功能由用戶確認。1)班級信息的輸入和儲藏,包含班級編號、班級名稱、所屬專業(yè)、入校時間和學制等。2)對已經輸入的班級信息和改正、查問。3)學生基本信息的輸入和儲藏,包含學號、姓名、性別、出誕辰期、班級等。4)學生基本信息的改正和查問。5)每學期初各班所開設課程的輸入,包含課程名、學期、學時等。6)各班所開設課程信息的改正和查問。7)學期末輸入每個學生的考試成績。8)學生成績的改正。9)查問每個學生某學期的各科成績。10)查問并打印某班某學期全部學生的各科成績。11)查問并打印某班某學期全部學生的各科成績。12)系統(tǒng)擁實用戶和密碼的管理。系統(tǒng)功能模塊設計經過經過對上述各項功能的剖析、分類、綜合,依照模塊化程序設計的要求,獲得如圖1所示的功能模塊圖。學生成績管理系系班學課成統(tǒng)級生程績管信基信信理息本息息管信管管理息理理管理登用密班班班學學學入課課成成成陸戶碼級級級生生生程程績績績控管修信信信基基基信信輸修查制理改息息息本本本息入改詢息輸查修信信信查輸入詢改息息息詢輸修查修入改詢改圖1數據庫設計與實現數據庫在一個管理信息系統(tǒng)中據有特別重要的地位,數據庫構造的利害將直接影響到應用系統(tǒng)操作效率已經可否保證數據的一致性、達成性和安全性。數據庫設計依據學生成績管理系統(tǒng)的功能要求,經過剖析系統(tǒng)要設計的有關實體一集要采集、儲存和操控數據信息,獲得如圖2所示的系統(tǒng)E-R圖。依據系統(tǒng)E-R圖獲得以下關系模式?!ぐ嗉墸ò嗉壘幪?,班級名稱,所屬專業(yè),學制,入學時間,人數)·學生基本信息(學號,姓名,性別,出誕辰期,家庭地址,班級編號)·課程(班級編號,學期,課程名稱,學時,教師)·成績(學號,課程名稱,成績)為了系統(tǒng)的使用安全,要成立用戶管理,而使用權限分為管理員和一般用戶兩類,所以需要成立一個儲存用戶信息的關系?!び脩簦ㄐ彰?,密碼,權限)創(chuàng)立數據庫依據關系模式,確立要成立的數據庫和表。第一,在D盤根目錄下成立本實例的工作文件夾“xscj”再在”d:\xscj”文件夾下成立文件夾

”data”,用于儲存數據文件。在PowerBuilder開發(fā)環(huán)境中翻開數據庫面板,AdaptiveServerAnywhere(ASA的數據庫

適用[ODBODBC]接口成立,而后挨次成立以下5個表和1個視圖。CTRL+N新建SHIFT+F7翻開數據面板選擇ODBODBC----Utilities---CreateASADatabase選擇table----newtable設置參數如圖其余表設置如圖1.“班級”表表名:banji主鍵:bjbh2.“學生基本信息”表表名:jiben主鍵:xh3.“課程”表表名:bjkc主鍵:(bjbh,xq,kcmc)4.“成績”表表名:xscj主鍵:(xh,xqkcmc)5.“用戶”表表名:users主鍵:xm挨次成立好主鍵和外鍵以下圖6.視圖為了接見數據庫方便,還成立一個視圖“XSBJ”,該視圖由學生基本信息表和班級表連結而成,對應的SQL語句以下:CREATEVIEWxsbj(xh,xm,xb,csrq,bjbh,bjmc,zymc)ASselect,,,,,,from,where=而后保留就能夠了。創(chuàng)立應用對象達成數據庫的設計和系統(tǒng)功能設計以后,能夠開始各個功能模塊的實現。在PowerBuilder中開發(fā)應用程序是時,就是創(chuàng)立各樣對象、為對象設置屬性以及編寫事件腳本的過程。但不是簡單的次序過程,有時需要返回為前面創(chuàng)立的對象增補腳本。(1)創(chuàng)立新的工作空間,工作空間文件路徑及名稱設為“”(2)創(chuàng)立應用對象,應用對象名設置為“app_xscj”,應用庫文件路徑及名稱設為“d:\xscj\pbl”,目標文件路徑及名稱設為“”(3)翻開應用對象面板,應用對象app_xscj的Icon屬性設置為“是早先準備的圖標文件。(4)為應用對象app_xscj的open事件編寫代碼以下。

”。建窗口并設置屬性創(chuàng)立登岸窗口w_login,調整其大小,在窗口上擱置1個圖片控件,3個靜態(tài)文本控件,1個成組框控件,2個單行編寫器控件,2個命令控制按鈕控件,各個控件的地點和大小以下圖。對象屬性取值W_loginTitle登岸WindowtypeResponse!Sle_2Passwordtrue2.編寫腳本(1)定義全局變量stringgs_username,gs_password,gs_admin(2)定義實例變量intli_n儲存登錄時用戶輸入密碼錯誤的試試次數,控制在最多實例變量,不可以是局部變量。(3)登岸窗口w_logind的OPEN事件腳本以下:

3次時機。一定圍intli_n=3初始化變量li_n,限制犯錯次數為3次。(4)【確立】按鈕cb_1的Clicked事件腳本以下。stringls_username,ls_passwordls_username=trimls_password=trimifls_username=""orls_password=""thenmessagebox("提示","用戶名和密碼不可以為空")elseSELECT"users"."name","users"."password","users"."admin"INTO:gs_username,:gs_password,:gs_adminFROM"users"WHERE("users"."name"=:ls_username)AND("users"."password"=:ls_password);if=0thenopen(w_main)close(w_logion)elseli_n=li_n-1ifli_n<>0thenmessagebox("提示","用戶名密碼錯誤")elsemessagebox("提示","錯誤超出3次,自動退出")haltendifendifendif(5)【放棄】按鈕cb_2的clicked事件腳本以下:Halt設計密碼改正窗口密碼改正窗口以下圖:1.創(chuàng)立窗口并設置屬性創(chuàng)立密碼改正窗口w_mmxg,調整其大小,在窗口上擱置3個靜態(tài)文本控件(st_1,st_2,st_2)3個單行編寫器控件(sle_1,sle_2,sle_3)2個命令按鈕控件(cb_1,cb_2)各個控件的地點和大小參照圖調整。W_mmxg

Title

改正密碼Windowstype

Response!Sle_2Sle_3

PasswordPassword

TrueTrue2.【確立】按鈕cb_1的Clicked事件腳本以下:stringls_passwordiftrim=trimthenmessagebox("提示","舊密碼錯誤")elseiftrim=trimthenls_password=trimUPDATE"users"SET"password"=:ls_passwordWHERE("users"."name"=:gs_username)AND("users"."password"=:gs_password);if<>0thenmessagebox("提示","密碼改正不可功")elseclose(parent)messagebox("提示","密碼改正成功")endifelsemessagebox("提示","兩次新密碼不同樣")endifendif(2)【撤消】按鈕cb_2的Clicked事件腳本以下Close(parent)設計用戶管理的數據窗口和窗口用戶管理窗口以下圖:1.設計數據窗口創(chuàng)立數據窗口“d_yhgl”,顯示風格圍“grid”,數據源種類圍”QuickSelect”,公布以下圖。此中控件“admin”的編寫風格改為“DropDOWNListBox”,碼表CodeTable)如圖。數據窗口d_yhgl生成的SQLSelect語句為:SELECT"users"."name","users"."password","users"."admin"FROM"users"2.創(chuàng)立窗口并設置屬性創(chuàng)立用戶管理窗口w_yhgl,調整其大小,在窗口上地點1個數據窗口控件dw_1)、4個命令按鈕控件(cb_1,cb_2,cb_3,cb_4)各個控件的地點和大小參照如圖調整。Cb_3Text保留Enabledtrue3.編寫腳本(1)用戶管理窗口w_yhgl的open事件腳本以下。(sqlca)( )2)用戶管理窗口w_yhgl的closequery事件腳本以下:integerrt( )if( )=0and( )=0thenreturn0elsert=messagebox("提示","增添改正內容未保留,確立要退出嗎",Question!,YesNo!)ifrt=1thenreturn0endifendifreturn13)數據窗口控件dw_1的Itemchanged事件腳本以下=true(4)【增添】按鈕控制cb_1的Clicked事件腳本以下:integerrowrow=(0)(row)(5)【刪除】按鈕控件cb_2的Clicked事件腳本以下:(0)=true(6)【保留】按鈕控件cb_3的Clicked事件腳本以下:if(true,false)=1then( )commit;=falseelserollback;messagebox("錯誤","保留數據失??!")endif(7)【退出】按鈕控件cb_4的ClickedClose(patent)設計主窗口和菜單主窗口和菜單是系統(tǒng)工具的主界面。菜單構造以下圖。菜單對象名為“m_main”,菜單欄中的菜單項設置了接見鍵,常用的菜單項設置了快捷鍵,最常用的菜單項在工具條上成立了按鈕。(1)【系統(tǒng)】菜單下【密碼改正】菜單項的Clicked事件腳本以下Open(w_mmxg)(2)【系統(tǒng)】菜單下【用戶管理】菜單項的Clicked事件腳本以下:Open(w_yhgl)(3)【系統(tǒng)】菜單下【退出系統(tǒng)】菜單項的Clicked事件腳本以下:Close(parentwindow)(4)【班級管理】菜單【錄入班級信息】菜單項Clicked事件腳本以下:Opensheet(w_banji_shuru,w_main,6,Original!)其功能是在主窗口(w_main)中,以輸入班級信息窗口w_banji_shuru的本來大?。∣riginal!參數指定)翻開,并在第6個菜單(即【窗口】菜單)以下出該窗口的名稱。(5)【班級管理】菜單需愛改正【改正班級信息】菜單項的Clicked事件腳本以下:opensheet(w_xiugai,w_main,6,Original!)(6)【班級管理】菜單下【改正班級信息】菜單項的菜單項的Clicked事件腳本以下:opensheet(w_banji_liulan,w_main,6,Original!)(7)【學生管理】菜單下【錄入學生信息】菜單項的Clicked事件腳本以下:opensheet(w_jiben_shuru,w_main,6,Original!)(8)【學生管理】菜單下【改正學生信息】菜單項的Clicked事件腳本以下:opensheet(w_jiben_xiugai,w_main,6,Original!)(9)【學生管理】菜單下【查問學生信息】菜單項的Clicked事件腳本以下:opensheet(w_jiben_chaxun,w_main,6,Original!)10)【課程管理】菜單下【錄入/改正開設課程】菜單項的Clicked事件腳本以下:opensheet(w_bjkc_shuruxiugai,w_main,6,Original!)(11)【課程管理】菜單下【查問開設課程信息】菜單項的Clicked事件腳本以下:opensheet(w_bjkc_chaxun,w_main,6,Original!)(12)【成績管理】菜單下【錄入改正成績】菜單項的Clicked事件腳本如下:opensheet(w_xscj_shuru,w_main,6,Original!)(13)【成績管理】菜單下【查問個人成績】菜單項的Clicked事件腳本如下:opensheet(w_xscj_grcx,w_main,6,Original!)(14)【成績管理】菜單下【查問班級成績】菜單項的Clicked事件腳本如下:opensheet(w_xscj_bjcx,w_main,6,Original!)(15)【成績管理】菜單下【查問課程成績】菜單項的Clicked事件腳本如下:opensheet(w_xscj_kccx,w_main,6,Original!)(16)【窗口】菜單下【層疊窗口】菜單項的Clicked事件腳本以下:(cascade!)(17)【幫助】菜單下【對于】菜單項的Clicked事件腳本以下:open(w_about)(18)【幫助】菜單下【聯機幫助】菜單項的Clicked事件腳本以下:showhelp("",index!)設計主窗口設計窗口以下圖創(chuàng)立窗口對象

W_main,W_main

Title

學生成績管理系統(tǒng)Windowtype

Mdihelp!Menuname

M_mainWindowstate

maximized窗口對象w_main的Open事件腳本以下ifgs_admin='n'then系統(tǒng)用戶管理.enabled=falseendif其功能是非管理員用戶計入系統(tǒng)時封閉【用戶管理】菜單項設計班級管理模塊本模塊實現班級信息的輸入、改正和查問。設計接見班級信息的數據窗口1.設計輸入班級信息的數據窗口創(chuàng)立數據窗口d_banji_shuru,顯示風格為“Freeform”,數據源種類為“QuickSelect”以下圖。數據窗口d_banji_shuru生成的SQLSelect語句為:SELECT"banji"."bjbh","banji"."bjmc","banji"."zymc","banji"."xz","banji"."rxsj","banji"."rs"FROM"banji"2.設計改正班級信息的數據窗口創(chuàng)立數據窗口d_banji_xiugai,顯示風格為“Grid”數據源種類為“quickselect”數據窗口d_banjid_banji_xiugai生成的SQLSelect語句為:SELECT"banji"."bjbh","banji"."bjmc","banji"."zymc","banji"."xz","banji"."rxsj","banji"."rs"FROM"banji"ORDERBY"banji"."bjbh"ASC設計接見班級信息的窗口第一設計兩個通用的輸入窗口和改正窗口作為父對象,實現一般輸入和改正的功能,窗口中的數據窗口控件不設定詳細的數據窗口對象,在繼承的窗口對象中再設定。經過繼承能夠簡化程序設計,實現代碼重用。1.設計輸入窗口創(chuàng)立窗口對象個命令按鈕控件(

w_shuru,調整其大小,擱置1個數據窗口控件(cb_1···cb_8)窗口布局以下圖。

dw_1)、8W_shuruTitle錄入WindowtypeMain!ResizableFalseCenterFalseMaxboxFalseMinboxFalse設置完屬性后開始編寫腳本代碼,此中窗口w_shuru的open事件Closequery事件、命令按鈕(【增添】、【刪除】、【保留】和【退出】)的Clicked事同前面的窗口W_yhgl的相應事件腳本。(1)【|<<】按鈕的clicked事件腳本以下:(1)(2)【<】按鈕的clicked事件腳本以下:( )(3)【>】按鈕的clicked事件腳本以下:( )(4)【>>|】按鈕的clicked事件腳本以下:(( ))2.設計改正窗口創(chuàng)立窗口對象w_xiugai,調整大小,擱置1個數據窗口控件(dw_1),4個命令控件(cb_1···cb_4),窗口布局以下圖。W_xiugaiTitle改正WindowtypeMain!ResizableFalseCenterFalseMaxboxFalseMinboxFalse3.設計輸入班級信息窗口經過繼承輸入窗口w_shuru生成輸入班級信息窗口w_banji_shuru,將數據控件dw_1的DataObject屬性設置為d_banji_shuru,將窗口的Title屬性改為“錄入班級信息”,此窗口設計便達成了。4.設計改正班級信息窗口經過繼承改正窗口w_xiugai生成改正班級信息窗口w_banji_xiugai,將數據控件dw_1的DataObject屬性設置為d_banji_xiugai,將窗口的Title屬性改為“改正班級信息”,此窗口設計便達成了。5.設計閱讀班級信息窗口創(chuàng)立窗口對象w_banji_liulan,調整大小,擱置1個數據窗口控件dw_1,調整窗口布局以下圖。W_banji_liulanTitle閱讀班級信息WindowtypeMain!ReizableFalseCenterFalseMaxboxFalseMinboxFalseDw_1VscrollbarTureDataobjectD_banji_xiugaiEnabledFalse窗口的open事件腳本以下:(sqlca)( )設計學生基本信息管理模塊本模塊實現學生基本信息的輸入,改正和查問。設計接見學生基本信息的數據窗口1.設計輸入學生基本信息的數據窗口創(chuàng)立數據窗口d_jiben_shuru,顯示風格為“freeform”,數據源種類為“QuickSelect”,布局以下圖此中,列控件“xb”的編寫風格為“radiobuttons”,,列表控件“bjbh”的編寫風格改為“dropdowndw”,其datawindow屬性設置為“d_banji_xiugai”,displaycolumn屬性和Datacolum屬性都設置為“bjbh”,widthofdropdown(%)屬性設置為“300”,linesindropdown的屬性設置為“6”vscrollbar屬性設置為“true”。數據窗口d_jiben_shuru生成的sqlselect語句為:SELECT"jiben"."xh","jiben"."xm","jiben"."xb","jiben"."csrq","jiben"."jtzz","jiben"."bjbh"FROM"jiben"2.設計改正學生基本信息的數據窗口創(chuàng)立數據窗口d_jiben_xiugai,顯示風格為“grid”,數據源種類為“quickselect”,布局以下圖:此中,列控件“xb”的編寫風格改為“dropdownlistbox”,列表項為“男”,“女”;列表控件“bjbh”的編寫風格改為“dropdowndw”,其datawindow屬性設置為“d_jiebn_xiugai”,displaycolumm屬性和Datacolum屬性都設置為“bjbh”,widthofdropdown(%)屬性設置為“300”,linesindropdown屬性設置為“6”,vscrollbar屬性設置為“true”數據窗口d_jiben_xiugai生成的sqlselect語句為:SELECT"jiben"."xh","jiben"."xm","jiben"."xb","jiben"."csrq","jiben"."jtzz","jiben"."bjbh"FROM"jiben"3.設計查問學生基本信息的數據窗口創(chuàng)立數據窗口d_jiebn_chaxun,顯示風格為“grid”,數據源種類為“sqlselect”此中布局以下圖此中,定義3個string型檢索參數變量mxh,mxm,mbj,分別表示學號、姓名班級,形成帶檢索參數的數據窗口。該數據窗口的改正屬性默認值即“不一樣意改正”數據窗口d_jiben_chaxun生成的sqlselect語句為:SELECT"banji"."bjmc","jiben"."xh","jiben"."xm","jiben"."xb","jiben"."csrq","jiben"."jtzz","jiben"."bjbh"FROM"banji","jiben"WHERE("jiben"."bjbh"="banji"."bjbh")and(("jiben"."xh"like:mxh)AND("jiben"."xm"like:mxm)AND("banji"."bjmc"like:mbj))ORDERBY"jiben"."xh"ASC設計接見學生基本信息的窗口1.設計輸入學生基本信息的窗口經過繼承輸入窗口w_shuru生成輸入學生基本信息窗口w_jiben_shru,將數據控件dw_1的dataobject屬性設置為d_jiben_shuru,將窗口的title屬性改為“錄入學生基本信息”,此窗口就達成了。2.設計改正學生基本信息的窗口經過繼承輸入窗口w_xiugai生成輸入學生基本信息窗口w_jiben_xiugai,將數據控件dw_1的dataobject屬性設置為d_jiben_xiugai,將窗口的title屬性改為“改正學生基本信息”,此窗口就達成了。3.設計查問學生基本信息的窗口要求此窗口中能夠依據學生的姓名或學號查問出學生的基本信息,能夠依據班級名稱查問出該班全部學生的基本信息。查問學生基本信息窗口以下圖:第一創(chuàng)立一個窗口對象w_jiben_chaxun,調整大小,在窗口中擱置2個靜態(tài)文本控件(st_1,st_2)、1個下拉表框控件(ddlb_1)、1個單行編寫器控件(sle_1)1個命令按鈕(cb_1)、1個數據窗口控件(dw_1)和一個線形控件(ln_1),調整各個控件的地點和大小?!静閱枴堪粹o的clicked事件腳本以下:(sqlca)if=""or=""thenmessagebox("提示","查問列和查問內容不可以空!")returnendifstringstrstr=trimchoosecasecase"學號"(str,"%","%")case"姓名"("%",str,"%")case"班級名稱"("%","%",str)endchoose代碼中依據查問依照的不一樣,以不一樣參數方式檢索數據。設計課程管理模塊本模塊實現各班開設課程的輸入、改正和查問。設計接見課程信息的數據窗口1.設計輸入班級課程信息的數據窗口創(chuàng)立數據窗口d_bjkc_shuru,顯示風格為“grid”,數據源種類為“quickselect”,如圖:此中,列控件“bjbh”的編寫風格改為“dropdowndw”,其datawindow屬性設置為“d_banji_xiugai”,displaycolumm屬性和Datacolum屬性都設置為“bjbh”,widthofdropdown(%)屬性設置為“300”,linesindropdown屬性設置為“6”,vscrollbar屬性設置為“true”數據窗口d_bjkc_shuru生成的sqlselect語句為:SELECT"bjkc"."bjbh","bjkc"."xq","bjkc"."kcmc","bjkc"."xs","bjkc"."jsxm"FROM"bjkc"2.設計查問班級課程信息的數據窗口創(chuàng)立數據窗口d_bjkc_chaxun,顯示風格為“grid”數據源種類為“sqlselect”,以下圖:此中,定義2個String型檢索參數變量mxq,mbjmc,分別表示學期、班級,形成帶檢索參數的數據窗口。該數據窗口的改正屬性為默認值即“不一樣意改正”。數據窗口d_bjkc_chaxun生成的sqlselect語句為:SELECT"bjkc"."kcmc","bjkc"."xs","bjkc"."jsxm","banji"."bjmc"FROM"bjkc","banji"WHERE("banji"."bjbh"="bjkc"."bjbh")and(("bjkc"."xq"=:mxq)AND("banji"."bjmc"=:mbjmc))設計接見課程信息的窗口1.設計輸入改正班級課程信息的窗口班級課程的輸入和改正都經過此窗口達成,輸入改正禪機課程信息的窗口的布局如圖:第一,從先人窗口w_iugai繼承生成窗口對象w_bjkc_shuruxiugai,調整其大小。而后將數據窗口控件dw_1的dataobject屬性設置為d_bjkc_shru,此窗口設計達成。2.設計查問班級開設課程的窗口要求此窗口能夠依據輸入的學期和班級查問出該班此學期開設的課程。查問班級開設課程的窗口如圖:第一創(chuàng)立一個窗口對象w_bjkc_chaxun,在窗口中擱置2個靜態(tài)文本控件(st_1,st_2)2個下拉列表框控件(ddlb_1,ddlb_2)、1個命令按鈕(cb_1)、1個數據庫窗口控件(dw_1),調整各個控件的地點和大小。1)窗口w_bjkc_chaxun的open事件腳本以下:(sqlca)intstring

li_xq,li_bjmc,nls_xq,ls_bjmcSELECTcount(distinctxq)INTO:li_xqFROMbjkc;DECLARExqcursorCURSORFORSELECTxqFROMbjkcGROUPBYxq;OPENxqcursor;FORn=1TOli_xqFETCHNEXTxqcursorINTO:ls_xq;(ls_xq)NEXTCLOSExqcursor;SELECTcount(distinctbjmc)INTO:li_bjmcFROMbanji;DECLAREbjmccursorCURSORFORSELECTFROMbjkc,banjiWHERE=GROUPBY;OPENbjmccursor;FORn=1TOli_bjmcFETCHNEXTbjmccursorINTO:ls_bjmc;(ls_bjmc)NEXTCLOSEbjmccursor;(2)【查問】按鈕的clicked事件腳本以下:(,設計成績管理模塊本模塊實現成績的輸入、改正和多種方式的查問與打印。設計接見成績信息的數據窗口1.設計輸入成績的數據窗口創(chuàng)立數據窗口d_xscj_shuru,顯示風格為“grid”,數據源種類為“sqlselect”,布局以下圖。數據根源于成績表xscj和視圖xsbj,此中,學號、學期、課程名稱和成績?yōu)槌煽儽韝scj的列,姓名是視圖xsbj的列。選擇【ROWS】|【updateproperties】命令,翻開數據窗口的改正屬性對話框,以下圖,設置數據窗口的改正屬性,即只有成績表(xscj_cj)能夠在數據窗口中改正,重點字為成績表xscj的主重點字(xh,xq,kcmc)。而后,單機工具條上的【taborder】圖標,將列控件xscj_cj的taborder值設為10,再單擊【taborder】圖標回到原設計狀態(tài)。數據窗口的檢索參數為mxq,mbjmc,mkmc,分別對應于學期、班級名稱和課程名稱。數據窗口d_bjkc_shuru生成的SQLselect語句為:SELECT"xscj"."xh","xsbj"."xm","xscj"."cj","xscj"."xq","xscj"."kcmc"FROM"xsbj","xscj"WHERE("xsbj"."xh"="xscj"."xh")ORDERBY"xscj"."xh"ASC2.設計查問學生個人某學期各科成績的數據窗口創(chuàng)立數據窗口d_xscj_grcx,顯示風格為“grid”,數據源種類為“quickselect”,其布局以下圖。在【summary】條中增添一個計算機域控件,計算機數據窗口中成績總和。數據窗口的檢索參數為mxh、mxq,分別對應于學號和學期。數據窗口d_bjkc_shuru,生成的ssqlselect語句為:SELECT"xscj"."kcmc","xscj"."cj"FROM"xscj"WHERE("xscj"."xh"=("xscj"."xq"=

:mxh)AND:mxq)3.設計查問班級某班級某學期全體學生各科成績的數據窗口創(chuàng)立數據窗口d_xscj_bjcx,顯示風格為“crosstab”,數據源種類為“sqlselect”,布局以下圖。數據根源于成績表名稱和成績?yōu)槌煽儽韝scj的列,姓名是視圖

xscj和視圖xsbj的列。

xsbj,此中,學號、課程在【header[1]】條中增添2個計算機域控件,對應的表達式分別為mbjmc和mxq,3個文本控件,其文安分別為“成績單”、“班級:”和“學期:”。數據窗口的檢索參數為mxq和mbjmc,分別對應于學期和班級名稱。改正屬性取默認值(不一樣意改正)。數據窗口d_bjkc_shuru生成的sqlselect語句為:SELECT"xscj"."xh","xsbj"."xm","xscj"."kcmc","xscj"."cj","xscj"."xq","xsbj"."bjmc"FROM"xsbj","xscj"WHERE("xsbj"."xh"="xscj"."xh")and(("xscj"."xq"=:mxq)AND("xsbj"."bjmc"=:mbjmc))ORDERBY"xscj"."xh"ASC4.設計查問班級某學期全體學生某科成績的數據窗口創(chuàng)立數據窗口d_xscj_kccx,顯示風格為“N-UP”,欄數為2,數據源種類為“SQLselect”,其布局以下圖。數據根源域成績表xscj和視圖xsbj。此中,學號和成績?yōu)槌煽儽韝scj的列,姓名是視圖xsbj的列。在【header】條中增添2個計算機域控件對應的表達式分別為mbjmc和mkcmc,3個文本控件,其文安分別為“成績單”數據庫窗口的檢索參數為mxq、mbjmc、和級名稱和課程名稱。改正屬性取默認值。

“班級:”和“課程”mkcmc,分別對應于學期、班數據窗口d_bjkc_shuru生成的sqlselect語句為:SELECT"xscj"."xh","xsbj"."xm","xscj"."cj"FROM"xsbj","xscj"WHERE("xsbj"."xh"="xscj"."xh")and(("xscj"."xq"=:mxq)AND("xsbj"."bjmc"=:mbjmc)AND("xscj"."kcmc"=:mkcmc))ORDERBY"xscj"."xh"ASC設計王文成績信息的窗口1.設計輸入成績的窗口輸入成績的窗口如圖。第一創(chuàng)立窗口對象w_xscj_shuru,在窗口上擱置個分組框控件,3個靜態(tài)文本控件,3個下拉列表框控件,3個命令按鈕控件和

11個數據窗口控件。依據圖所示的布局調整數據窗口和控件大小、地點及有關屬性。此中,【保存】按鈕的enabled屬性設置為false;數據窗口控件調整到只顯示學號、姓名和成績3列,vscrollbar屬性設為ture,數據窗口對象為d_xscj_shru,3個下拉列表框控件的列表項為空,由代碼動向生成。各個窗口和控件的事件腳本以下:(1)窗口的open事件腳本以下(sqlca)intstring

li_xq,li_bjmc,li_kcmc,nls_xq,ls_bjmc,ls_kcmcSELECTcount(distinctxq)INTO:li_xqFROMbjkc;DECLARExqcursorCURSORFORSELECTxqFROMbjkcGROUPBYxq;OPENxqcursor;FORn=1TOli_xqFETCHNEXTxqcursorINTO:ls_xq;(ls_xq)NEXTCLOSExqcursor;SELECTcount(distinctbjbh)INTO:li_bjmcFROMbjkc;DECLAREbjmccursorCURSORFORSELECTFROMbjkc,banjiWHERE=GROUPBY;OPENbjmccursor;FORn=1TOli_bjmcFETCHNEXTbjmccursorINTO:ls_bjmc;(ls_bjmc)NEXTCLOSEbjmccursor;2)窗口的closequery事件腳本以下。integerrt( )if( )=0thenreturn0elsert=messagebox("提示","增添改正內容未保留,確實要退出嗎",Question!,YesNo!)ifrt=1thenreturn0endifendifreturn1(3)課程的下拉列表框的getfocus事件腳本以下:intli_kcmc,nstringls_kcmc,ls_xq,ls_bjmcls_xq=ls_bjmc=ifnot(ls_xq=""orls_bjmc="")thenSELECTcount(distinctINTO:li_kcmcFROMbjkc,banjiWHERE=and=:ls_bjmc)and=:ls_xq);DECLAREkcmccursorCURSORFORSELECTFROMbjkc,banjiWHERE=and=:ls_bjmc)and=:ls_xq)GROUPBY;( )OPENkcmccursor;FORn=1TOli_kcmcFETCHNEXTkcmccursorINTO:ls_kcmc;(ls_kcmc)NEXTCLOSEkcmccursor;endif(4)確立按鈕的clicked事件腳本以下intli_xh,nstringls_kcmc,ls_xq,ls_bjmc,ls_xhls_xq=ls_bjmc=ls_kcmc=ifls_xq=""orls_bjmc=""orls_kcmc=""thenmessagebox("提示","選擇項不可以空!")elseSELECTcount(dissinctxh)INTO

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論