版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
.1-.概要設(shè)計(jì)說(shuō)明書1.總體設(shè)計(jì)1.1需求規(guī)定教務(wù)管理系統(tǒng)可分為學(xué)生信息管理系統(tǒng)和教師管理信息系統(tǒng),系統(tǒng)開發(fā)的整體任務(wù)是實(shí)現(xiàn)學(xué)校教師和學(xué)生信息管理的系統(tǒng)化、規(guī)范化、自動(dòng)化和智能化,從而達(dá)到提高學(xué)校管理效率的目的。本階段目的在于明確系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)和軟件結(jié)構(gòu),此外總體設(shè)計(jì)還將給出內(nèi)部軟件和外部系統(tǒng)部件之間的接口定義,各個(gè)軟件模塊的功能說(shuō)明,數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)以及具體的裝配要求。1.2運(yùn)行環(huán)境軟件基本運(yùn)行環(huán)境為WindowsXP環(huán)境。1.3基本設(shè)計(jì)概念和處理流程概要說(shuō)明書的目的在于明確系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)和軟件結(jié)構(gòu),設(shè)計(jì)外部軟件和內(nèi)部軟件的接口,說(shuō)明各個(gè)軟件模塊的功能說(shuō)明,數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)等。系統(tǒng)的總體處理流程如圖1-1所示:學(xué)生選課選擇操作打印成績(jī)單班級(jí)信息維護(hù)報(bào)表統(tǒng)計(jì)教學(xué)管理成績(jī)輸入課表查詢基礎(chǔ)維護(hù)選擇操作學(xué)生選課選擇操作打印成績(jī)單班級(jí)信息維護(hù)報(bào)表統(tǒng)計(jì)教學(xué)管理成績(jī)輸入課表查詢基礎(chǔ)維護(hù)選擇操作教務(wù)管理系統(tǒng)教務(wù)管理系統(tǒng)選擇操作選擇操作教師信息維護(hù)課程信息維護(hù)學(xué)生信息維護(hù)教師信息維護(hù)課程信息維護(hù)學(xué)生信息維護(hù)圖1-1系統(tǒng)的總體處理流程1.4系統(tǒng)體系結(jié)構(gòu)用一覽表及框圖的形式說(shuō)明本系統(tǒng)的系統(tǒng)元素〔各層模塊、子程序、公用程序等的劃分,扼要說(shuō)明每個(gè)系統(tǒng)元素的標(biāo)識(shí)符和功能,分層次地給出各元素之間的控制與被控制關(guān)系。本系統(tǒng)的體系架構(gòu)如圖1-2所示:圖1-2系統(tǒng)體系架構(gòu)本系統(tǒng)體系結(jié)構(gòu)大致可以定義為:客戶機(jī)層上的表示層主要是通過(guò)Struts框架實(shí)現(xiàn)的,由顯示視圖產(chǎn)生一個(gè)請(qǐng)求。請(qǐng)求被ActionServlet〔控制器接收,它在struts-config.xml文件中尋找請(qǐng)求的URI,找到對(duì)應(yīng)的Action類后,Action類執(zhí)行相應(yīng)的業(yè)務(wù)邏輯。Action類執(zhí)行建立在模型組件基礎(chǔ)上的業(yè)務(wù)邏輯,模型組件是和應(yīng)用程序關(guān)聯(lián)的。一旦Action類處理完業(yè)務(wù)邏輯,它把控制權(quán)返回給ActionServlet,Action類提供一個(gè)鍵值作為返回的一部分,它指明了處理的結(jié)果。ActionServlet使用這個(gè)鍵值來(lái)決定在什么視圖中顯示Action的類處理結(jié)果。當(dāng)ActionServlet把Action類的處理結(jié)果傳送到指定的視圖中,請(qǐng)求的過(guò)程也就完成了。中間業(yè)務(wù)層是通過(guò)Spring框架實(shí)現(xiàn)的,首先建立一個(gè)BaseAction,它繼承了Action類,而其他定義的Action都要繼承這個(gè)BaseAction。這個(gè)BaseAction需要導(dǎo)入AppContext工具類,這個(gè)AppContext需要導(dǎo)入Spring中org.springframework.context.support.*;這樣一個(gè)繼承BaseAction的Action,就可以getXXXService<>的方法得到某一個(gè)service的實(shí)例服務(wù)定位器的設(shè)計(jì)模式。持久〔PO層是由hibernate架構(gòu)實(shí)現(xiàn)的,它包括關(guān)于整體數(shù)據(jù)庫(kù)的hibernate.cfg.xml文件、每個(gè)表的JavaBean類和每個(gè)表的hbm.xml文件,通過(guò)Spring集成模板HibernateTemplate提供DAO來(lái)使用PO。在Spring的配置文件〔applicationContext.xml中配置sessionFactory的bean來(lái)管理hibernate。管理員登陸業(yè)務(wù)調(diào)度管理員登陸業(yè)務(wù)調(diào)度班信維護(hù)課信維護(hù)學(xué)信維護(hù)?師信維護(hù)學(xué)生選課成績(jī)輸入???DAO組件XML解析數(shù)據(jù)連接持久實(shí)體課表查詢
2.接口設(shè)計(jì)2.1用戶接口用戶接口語(yǔ)法結(jié)構(gòu)軟件回答信息教務(wù)系統(tǒng)管理員登錄以英文和漢字開頭,不超過(guò)6個(gè)字符進(jìn)入主界面信息管理相關(guān)操作進(jìn)行相應(yīng)的操作3.運(yùn)行設(shè)計(jì)3.1運(yùn)行模塊組合具體軟件的運(yùn)行模塊組合為程序多窗口的運(yùn)行環(huán)境,各個(gè)模塊在軟件運(yùn)行過(guò)程中能較好的交換信息,處理數(shù)據(jù)。3.2運(yùn)行控制軟件運(yùn)行時(shí)有較友好的界面,基本能夠?qū)崿F(xiàn)用戶的數(shù)據(jù)處理要求。3.3運(yùn)行時(shí)間系統(tǒng)的運(yùn)行時(shí)間基本可以達(dá)到要求。4.系統(tǒng)數(shù)據(jù)結(jié)構(gòu)4.1邏輯設(shè)計(jì)教務(wù)管理系統(tǒng)E-R圖選課表FK1PK編號(hào)學(xué)號(hào)課序號(hào)PK課程名稱課程簡(jiǎn)稱選課表FK1PK編號(hào)學(xué)號(hào)課序號(hào)PK課程名稱課程簡(jiǎn)稱拼音碼本學(xué)期課程教師開課系別年份課程表PK編號(hào)4.2邏輯結(jié)構(gòu)設(shè)計(jì)表1、表名稱:bkb表類型:約束表含義:班級(jí)報(bào)考表字段名稱字段類型Null含義示例數(shù)據(jù)id整形否,自增主鍵列1name字符值八班2、表名稱:cjb表類型:約束表含義:班級(jí)成績(jī)表〔打印表字段名稱字段類型Null含義示例數(shù)據(jù)id整形否,自增主鍵列1cjb_id整形否外鍵列1name字符值八班3、表名稱:jhcjb表類型:約束表含義:班級(jí)計(jì)劃成績(jī)表〔顯示和打印字段名稱字段類型Null含義示例數(shù)據(jù)id整形否,自增主鍵列1name字符值八班4、表名稱:hks表類型:約束表含義:班計(jì)劃學(xué)期考試課程表字段名稱字段類型Null含義示例數(shù)據(jù)id整形否,自增主鍵列1fangguansuo_id整形否外鍵列1name字符值長(zhǎng)三5、表名稱:hxq表類型:約束表含義:班計(jì)劃學(xué)期課程開設(shè)表字段名稱字段類型Null含義示例數(shù)據(jù)id整形否,自增主鍵列1name字符值英語(yǔ)fenshu整形分?jǐn)?shù)46、表名稱:xjh表類型:約束表含義:班教學(xué)計(jì)劃信息表參見bkb表7、表名稱:xxb表類型:約束表含義:班注冊(cè)和檔案表參見bkb表8、表名稱:kbpdfb表類型:約束表含義:報(bào)考編排登分表參見bkb表9、表名稱:ctdmkb_tmp表類型:約束表含義:畢業(yè)課程替代免考表參見cjb表10、表名稱:ctdmkb表類型:約束表含義:畢業(yè)課程替代免考表參見cjb表11、表名稱:ysmdb表類型:約束表含義:畢業(yè)生名單參見cjb表12、表名稱:ycymdb表類型:約束表含義:畢業(yè)預(yù)審審核差異名單表參見cjb表13、表名稱:yyshsdfb表類型:約束表含義:畢業(yè)預(yù)審審核得分表參見ycymdb表表名稱:yyshsdfb_tmp表類型:實(shí)體表含義:畢業(yè)預(yù)審審核得分表字段名稱字段類型Null含義示例數(shù)據(jù)id整形否,自增主鍵列zhaidihao字符宅第號(hào)zhuanghao字符幢號(hào)diquleibie字符地區(qū)類別限定:一類/二類/三類chanbie字符產(chǎn)別限定:直管/自管/托管chanquanzhenghao字符產(chǎn)權(quán)證號(hào)jiuqu整形舊區(qū)約束表:qujiuxiaoqu整形舊小區(qū)約束表:xiaoqujiulouhao字符舊樓號(hào)xinqu整形新區(qū)約束表:quxinxiaoqu整形新小區(qū)約束表:xiaoquxinlouhao字符新樓號(hào)jiegou整形結(jié)構(gòu)約束表:jiegouzongcengshu整形總層數(shù)15、表名稱:gdw類型:約束表含義:采購(gòu)單位16、表名稱:gdwdhzz類型:約束表含義:采購(gòu)單位到貨總賬17、表名稱:gdwzz類型:約束表含義:采購(gòu)總賬18、表名稱:gdhmxb類型:約束表含義:采購(gòu)到貨明細(xì)表19、表名稱:gdhmxml類型:約束表含義:采購(gòu)到貨明細(xì)目錄20、表名稱:gmxb類型:約束表含義:采購(gòu)明細(xì)表21、表名稱:gzb類型:約束表含義:采購(gòu)總表22、表名稱:cjdmb類型:約束表含義:成績(jī)代碼表23、表名稱:cjgdb類型:約束表含義:成績(jī)更動(dòng)表24、表名稱:cjtjb類型:約束表含義:成績(jī)統(tǒng)計(jì)表25、表名稱:cjzb類型:約束表含義:成績(jī)總表26、表名稱:cjzb_copy類型:約束表含義:成績(jī)總表27、表名稱:dgdw類型:約束表含義:訂購(gòu)單位28、表名稱:dgdwmxb類型:約束表含義:訂購(gòu)單位明細(xì)表29、表名稱:dgmxb類型:約束表含義:訂購(gòu)明細(xì)表30、表名稱:dgzb類型:約束表含義:訂購(gòu)總表31、表名稱:fxzyb類型:約束表含義:輔修專業(yè)表32、表名稱:jhkkkcb類型:約束表含義:計(jì)劃開考課程表33、表名稱:jhkkkcb類型:約束表含義:計(jì)劃開考課程傳遞表34、表名稱:jljb類型:約束表含義:獎(jiǎng)勵(lì)級(jí)別表35、表名稱:jlqkjzb類型:約束表含義:獎(jiǎng)勵(lì)情況記載表36、表名稱:jccgfdml類型:約束表含義:教材采購(gòu)分單目錄37、表名稱:jccgjsb類型:約束表含義:教材采購(gòu)計(jì)算表38、表名稱:jccgmxb類型:約束表含義:教材采購(gòu)明細(xì)表39、表名稱:jccgshb類型:約束表含義:教材采購(gòu)審核表40、表名稱:jcch類型:約束表含義:教材冊(cè)號(hào)41、表名稱:jcdgzb類型:約束表含義:教材訂購(gòu)總表42、表名稱:jclxbmdz類型:約束表含義:教材類型編碼對(duì)照43、表名稱:jcsmmb類型:約束表含義:教材說(shuō)明模板44、表名稱:jcthzt類型:約束表含義:教材替換狀態(tài)45、表名稱:dgdwzb類型:約束表含義:教材征訂訂購(gòu)單位總表46、表名稱:jczb類型:約束表含義:教材總表47、表名稱:jxbm類型:約束表含義:教學(xué)部門表48、表名稱:jxdg類型:約束表含義:教學(xué)大綱49、表名稱:jxhjdy類型:約束表含義:教學(xué)環(huán)節(jié)定義50、表名稱:kkdw類型:約束表含義:開課單位表51、表名稱:kcqkb類型:約束表含義:考場(chǎng)情況表52、表名稱:kdxxb類型:約束表含義:考點(diǎn)代碼表53、表名稱:kslb類型:約束表含義:考生類別代碼表54、表名稱:ksdmb類型:約束表含義:考試代碼表55、表名稱:ksdmcd類型:約束表含義:考試代碼傳遞表56、表名稱:ksdxb類型:約束表含義:考試對(duì)象表57、表名稱:ksfsdm類型:約束表含義:考試方式代碼表58、表名稱:kslxdmb類型:約束表含義:考試類型代碼表59、表名稱:kccc類型:約束表含義:課程層次代碼表60、表名稱:kcgldw類型:約束表含義:課程管理單位61、表名稱:kcjsfs類型:約束表含義:課程建設(shè)方式62、表名稱:kcjsjb類型:約束表含義:課程建設(shè)級(jí)別表63、表名稱:kcjslb類型:約束表含義:課程建設(shè)類別64、表名稱:kcjcdzb類型:約束表含義:課程教材對(duì)照65、表名稱:kclb類型:約束表含義:課程類別代碼表66、表名稱:kctdb類型:約束表含義:課程替代表67、表名稱:kcxz類型:約束表含義:課程性質(zhì)代碼表68、表名稱:kczb類型:約束表含義:課程總表69、表名稱:ljhkcb類型:約束表含義:類計(jì)劃課程表70、表名稱:ljhxqks類型:約束表含義:類計(jì)劃學(xué)期開設(shè)課程表71、表名稱:ljhxqksb類型:約束表含義:類計(jì)劃學(xué)期考試課程表72、表名稱:ljxjhb類型:約束表含義:類教學(xué)計(jì)劃表73、表名稱:mzdmb類型:約束表含義:民族代碼表74、表名稱:ndszb類型:約束表含義:年度收支表75、表名稱:njdmb類型:約束表含義:年級(jí)代碼表76、表名稱:njkcb類型:約束表含義:年級(jí)課程表77、表名稱:njzyb類型:約束表含義:年級(jí)專業(yè)表78、表名稱:xkkcb類型:約束表含義:新開課程表79、表名稱:xszcb類型:約束表含義:新生注冊(cè)表80、表名稱:xflydmb類型:約束表含義:學(xué)費(fèi)來(lái)源代碼表81、表名稱:xjbddmb類型:約束表含義:學(xué)籍變動(dòng)代碼表82、表名稱:xjbdjzb類型:約束表含義:學(xué)籍變動(dòng)記載表83、表名稱:xjztdmb類型:約束表含義:學(xué)籍狀態(tài)代碼表84、表名稱:fzjbytj類型:約束表含義:學(xué)生非在籍和畢業(yè)生統(tǒng)計(jì)表85、表名稱:xsjbqkb類型:約束表含義:學(xué)生基本情況表86、表名稱:xsjhcjb類型:約束表含義:學(xué)生計(jì)劃成績(jī)表87、表名稱:xslbdmb類型:約束表含義:學(xué)生類別代碼表88、表名稱:xslxdmb類型:約束表含義:學(xué)生類型代碼表89、表名稱:xslxdyb類型:約束表含義:學(xué)生類型代碼對(duì)應(yīng)表90、表名稱:bjxx表類型:約束表含義:班級(jí)信息表字段名稱字段類型Null含義示例數(shù)據(jù)Bjbh整形否,自增主鍵列1Nj字符值英語(yǔ)Bjmc字符名稱信管八班Bjjc字符簡(jiǎn)稱8班Rs整形人數(shù)80Bzr字符班主任王91、表名稱:jgdmb表類型:約束表含義:籍貫代碼表字段名稱字段類型Null含義示例數(shù)據(jù)Jgbh整形否,自增主鍵列1Jg字符值XX92、表名稱:mzdmb表類型:約束表含義:民族代碼表字段名稱字段類型Null含義示例數(shù)據(jù)Mzbh整形否,自增主鍵列1Mz字符值漢93、表名稱:zzmmdmb表類型:約束表含義:政治面貌代碼表字段名稱字段類型Null含義示例數(shù)據(jù)Zzmmbh整形否,自增主鍵列1Zzmm字符值94、表名稱:xjdm表類型:約束表含義:學(xué)籍代碼表字段名稱字段類型Null含義示例數(shù)據(jù)Xjbh整形否,自增主鍵列1Xjmc字符值2009765096、表名稱:cjb表類型:約束表含義:成績(jī)表字段名稱字段類型Null含義示例數(shù)據(jù)Bh整形否,自增主鍵列1Xh字符值20097650111Kcbh整形課程編號(hào)4Cj整形值99Kscs整形值2Sfbx字符是否補(bǔ)修是Sfck字符是否重考是Sfqcj字符確定成績(jī)是97、表名稱:xsxx表類型:約束表含義:學(xué)生信息表字段名稱字段類型Null含義示例數(shù)據(jù)Xh整形否,自增主鍵列20097650111Xm字符值張三Bjbh整形班級(jí)編號(hào)4Xb字符性別男Nj字符年級(jí)2009Zzmmbh整形政治面貌編號(hào)2Mzbh整形民族編號(hào)2Jgbh整形籍貫編號(hào)3Sfzh整形身份證號(hào)Xjbh整形學(xué)籍編號(hào)200998、表名稱:kcxx表類型:約束表含義:課程信息表字段名稱字段類型Null含義示例數(shù)據(jù)Kcbh整形否,自增主鍵列1Kcmc字符值英語(yǔ)Kcjc字符值英語(yǔ)Pym字符值YingyuBxqkc字符值Js字符教師吳Kkxb整形開課系別1Xf整形學(xué)分399、表名稱:kcb表類型:約束表含義:課程表字段名稱字段類型Null含義示例數(shù)據(jù)Bh整形否,自增主鍵列1Kxh字符課序號(hào)2Kcbh整形課程編號(hào)4Sksjt整形上課時(shí)間天Sksjj整形上課時(shí)間節(jié)Skdd字符上課地點(diǎn)100、表名稱:xkb表類型:約束表含義:選課表字段名稱字段類型Null含義示例數(shù)據(jù)Bh整形否,自增主鍵列1Xh整形學(xué)號(hào)20097650111Kxh整形課序號(hào)44.2物理結(jié)構(gòu)設(shè)計(jì)系統(tǒng)的物理結(jié)構(gòu)具體由數(shù)據(jù)庫(kù)來(lái)設(shè)計(jì)與生成,故此處略。5.系統(tǒng)出錯(cuò)處理設(shè)計(jì)5.1出錯(cuò)信息錯(cuò)誤登錄信息系統(tǒng)提示錯(cuò)誤登錄信息系統(tǒng)返回登錄界面輸入錯(cuò)誤的數(shù)據(jù)系統(tǒng)提示數(shù)據(jù)錯(cuò)誤信息提示重新輸入數(shù)據(jù)打印不成功系統(tǒng)提示打印不成功信息進(jìn)行重新打印操作5.2補(bǔ)救措施由于數(shù)據(jù)在數(shù)據(jù)庫(kù)中已經(jīng)有備份,故在系統(tǒng)出錯(cuò)后可以依靠數(shù)據(jù)庫(kù)的恢復(fù)功能,并且依靠日志文件使系統(tǒng)再啟動(dòng),就算系統(tǒng)崩潰數(shù)據(jù)也不會(huì)丟失或遭到破壞。但有可能占用更多的數(shù)據(jù)存儲(chǔ)空間,權(quán)衡措施由用戶來(lái)決定第5章詳細(xì)設(shè)計(jì)說(shuō)明書1.引言1.1項(xiàng)目定義教務(wù)綜合管理信息系統(tǒng)是為了適應(yīng)現(xiàn)代化學(xué)校管理的需要,加快推進(jìn)我校數(shù)字化校園建設(shè)、充分利用校園網(wǎng),利用網(wǎng)絡(luò)、多媒體等計(jì)算機(jī)應(yīng)用技術(shù)和手段,提高辦公效率、改善質(zhì)量的高效管理信息系統(tǒng)。1.2編寫目的本文檔為"教務(wù)管理系統(tǒng)-詳細(xì)設(shè)計(jì)說(shuō)明書",主要用于為實(shí)現(xiàn)系統(tǒng)的功能而進(jìn)行的系統(tǒng)詳細(xì)設(shè)計(jì)說(shuō)明,詳細(xì)系統(tǒng)各軟件組成模塊的實(shí)現(xiàn)流程、功能、接口、編譯、測(cè)試要點(diǎn)等內(nèi)容,便于對(duì)系統(tǒng)的編碼進(jìn)行指導(dǎo)和約束。1.3.參考資料《教務(wù)管理系統(tǒng)_系統(tǒng)軟件需求說(shuō)明書》。《教務(wù)管理系統(tǒng)_系統(tǒng)概要設(shè)計(jì)說(shuō)明書》。《教務(wù)管理系統(tǒng)_數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書〔數(shù)據(jù)庫(kù)字典》等。2.程序系統(tǒng)的結(jié)構(gòu)2.1整個(gè)教務(wù)管理系統(tǒng)的結(jié)構(gòu)可由以下圖示來(lái)表明:學(xué)生選課選擇操作打印成績(jī)單班級(jí)信息維護(hù)報(bào)表統(tǒng)計(jì)教學(xué)管理成績(jī)輸入課表查詢基礎(chǔ)維護(hù)選擇操作學(xué)生選課選擇操作打印成績(jī)單班級(jí)信息維護(hù)報(bào)表統(tǒng)計(jì)教學(xué)管理成績(jī)輸入課表查詢基礎(chǔ)維護(hù)選擇操作教務(wù)管理系統(tǒng)教務(wù)管理系統(tǒng)選擇操作選擇操作教師信息維護(hù)課程信息維護(hù)學(xué)生信息維護(hù)教師信息維護(hù)課程信息維護(hù)學(xué)生信息維護(hù)圖1-1系統(tǒng)的總體處理流程3.系統(tǒng)功能實(shí)現(xiàn)從前面需求分析可以看出,系統(tǒng)功能龐雜,主要分為前臺(tái)瀏覽器<B/S>信息發(fā)布和數(shù)據(jù)查詢,后臺(tái)<C/S>數(shù)據(jù)管理和處理,教務(wù)管理功能部分?jǐn)?shù)據(jù)分為四類:學(xué)生基本信息相關(guān);教師基本信息相關(guān);課程信息相關(guān);學(xué)生成績(jī)綜合查詢相關(guān)。從使用和操作的功能上分,有三種用戶:該校學(xué)生;業(yè)務(wù)數(shù)據(jù)管理人員〔學(xué)生工作輔導(dǎo)員、教務(wù)干事;系統(tǒng)管理員。為便于整個(gè)系統(tǒng)組織管理,把各個(gè)相對(duì)獨(dú)立的數(shù)據(jù)或功能組織到整個(gè)大系統(tǒng)中來(lái),我們把各個(gè)相對(duì)獨(dú)立的功能完全獨(dú)立設(shè)計(jì),編譯成獨(dú)立的目標(biāo)<功能>模塊〔singleExecutable,各功能模塊最后被集成到一個(gè)稱為虛擬桌面的控制臺(tái)模塊中。相應(yīng)地將系統(tǒng)結(jié)構(gòu)分為一個(gè)控制臺(tái)程序和七個(gè)子系統(tǒng),各子系統(tǒng)又分為若干各子模塊。對(duì)應(yīng)于每一個(gè)模塊,幾乎都有錄入、查詢、修改、刪除、查看詳細(xì)資料等這幾個(gè)功能。整個(gè)業(yè)務(wù)流程就是由這幾種基本功能實(shí)現(xiàn)的。在這里每個(gè)模塊都要用到的功能沒(méi)必要在每個(gè)子模塊里重復(fù)闡述,在每個(gè)子模塊里只列出區(qū)別于其它子模塊的功能實(shí)現(xiàn)。3.1系統(tǒng)控制臺(tái)模塊功能:各子功能模塊的組織和調(diào)用;統(tǒng)一的登陸界面實(shí)現(xiàn)到數(shù)據(jù)庫(kù)服務(wù)器的登陸;顯示教務(wù)主頁(yè)系統(tǒng)圖標(biāo)。設(shè)計(jì):1.登陸數(shù)據(jù)庫(kù):輸入數(shù)據(jù)庫(kù)服務(wù)器名<ServerIP>、用戶賬號(hào)<>UserID、密碼<PassWord>;登陸數(shù)據(jù)庫(kù)服務(wù)器,檢索系統(tǒng)權(quán)限表,根據(jù)權(quán)限設(shè)置相應(yīng)功能模塊:①無(wú)此用戶或禁止權(quán)限Enable=False;②瀏覽權(quán)限Enable=True;修改UserID=;修改PassWord:=;③修改權(quán)限Enable=True;修改UserID=;修改PassWord:=;2.采用WinXP下程序組、程序項(xiàng)的原理組織各執(zhí)行模塊:登陸服務(wù)器基礎(chǔ)維護(hù)教學(xué)管理報(bào)表統(tǒng)計(jì)退出各程序組、程序項(xiàng)的顯示分別可以是分層/樹狀/大圖標(biāo)/小圖標(biāo)等方式;各程序項(xiàng)或菜單項(xiàng)的名稱命名為相應(yīng)功能模塊的目標(biāo)代碼文件名。3.2.各具體模塊如下:模塊1名稱:班級(jí)信息維護(hù)輸入:班級(jí)信息維護(hù)處理:維護(hù)管理該校各班級(jí)基本信息輸出:各班級(jí)信息數(shù)據(jù)表:班級(jí)信息表模塊2名稱:學(xué)生基本信息維護(hù)輸入:學(xué)生基本信息處理:維護(hù)管理學(xué)生基本信息輸出:學(xué)生基本信息數(shù)據(jù)表:學(xué)生信息表模塊3名稱:課程信息維護(hù)輸入:課程信息維護(hù)處理:維護(hù)管理課程基本信息輸出:課程信息數(shù)據(jù)表:課程信息表模塊4名稱:學(xué)生選課信息輸入:學(xué)生選課信息處理:維護(hù)管理學(xué)生選課信息輸出:學(xué)生選課信息數(shù)據(jù)表:學(xué)生基本信息表課程信息表模塊5名稱:課表查詢輸入:課表查詢處理:維護(hù)管理課表查詢信息輸出:所查班級(jí)課表數(shù)據(jù)表:學(xué)生基本信息表班級(jí)信息表模塊6名稱:成績(jī)輸入輸入:成績(jī)輸入處理:維護(hù)管理成績(jī)輸入信息輸出:成績(jī)數(shù)據(jù)表:學(xué)生基本信息表課程信息表模塊7名稱:教師信息為維護(hù)輸入:教師信息為維護(hù)處理:維護(hù)管理教師信息輸出:教師信息數(shù)據(jù)表:教師信息表4.具體設(shè)計(jì):設(shè)計(jì)功能實(shí)現(xiàn)包括:班級(jí)信息維護(hù),學(xué)生信息維護(hù),課程信息維護(hù),學(xué)生選課,課表查詢,成績(jī)輸入,報(bào)表統(tǒng)計(jì),退出系統(tǒng)PublicClassfrmMainInheritsPrivateFunctionGetInstanceState<ByValnameAsString>AsBoolean'獲得frmMain窗體的子窗體的數(shù)量DimiAsInteger=Me.MdiChildren.Length'循環(huán)判斷是否有名為name的子窗體實(shí)例Fori=0ToMe.MdiChildren.Length-1IfMe.MdiChildren<i>.Name=nameThen'存在名為name的子窗體,是子窗體獲得焦點(diǎn)并返回TrueMe.MdiChildren<i>.Focus<>ReturnTrueEndIfNext'不存在名為Name的子窗體FalseReturnFalseEndFunctionPrivateSubmnClass_Click<ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs>HandlesmnClass.ClickIfGetInstanceState<"frmClass">ThenExitSubEndIfDimchildFrmAsfrmClass=NewfrmClasschildFrm.MdiParent=MechildFrm.Show<>EndSubPrivateSubmnStudent_Click<ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs>HandlesmnStudent.ClickIfGetInstanceState<"frmStudent">ThenExitSubEndIfDimchildFrmAsfrmStudent=NewfrmStudentchildFrm.MdiParent=MechildFrm.Show<>EndSubPrivateSubmnSubject_Click<ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs>HandlesmnSubject.ClickIfGetInstanceState<"frmSubject">ThenExitSubEndIfDimchildFrmAsfrmSubject=NewfrmSubjectchildFrm.MdiParent=MechildFrm.Show<>EndSubPrivateSubmnSelect_Click<ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs>HandlesmnSelect.ClickIfGetInstanceState<"frmSelect">ThenExitSubEndIfDimchildFrmAsfrmSelect=NewfrmSelectchildFrm.MdiParent=MechildFrm.Show<>EndSubPrivateSubmnCourse_Click<ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs>HandlesmnCourse.ClickIfGetInstanceState<"frmCourse">ThenExitSubEndIfDimchildFrmAsfrmCourse=NewfrmCoursechildFrm.MdiParent=MechildFrm.Show<>EndSubPrivateSubmnResult_Click<ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs>HandlesmnResult.ClickIfGetInstanceState<"frmScore">ThenExitSubEndIfDimchildFrmAsfrmScore=NewfrmScorechildFrm.MdiParent=MechildFrm.Show<>EndSubPrivateSubmnReport_Click<ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs>HandlesmnReport.ClickIfGetInstanceState<"frmReport">ThenExitSubEndIfDimchildFrmAsfrmReport=NewfrmReportchildFrm.MdiParent=MechildFrm.Show<>EndSubPrivateSubmnExit_Click<ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs>HandlesmnExit.ClickEndSubEndClass5.基礎(chǔ)維護(hù):5.1班級(jí)信息維護(hù)實(shí)現(xiàn)的功能包括:查看首記錄:表中首個(gè)班級(jí)記錄,上記錄,下記錄,查尾記錄,新增,修改,刪除等可實(shí)現(xiàn)模糊搜索功能即:輸入班級(jí)編號(hào)可查詢相關(guān)班級(jí)信息如下所示:PublicClassfrmBaseInheritsProtectedbmDataAsBindingManagerBaseProtecteddtDataAsDataTable'bAdd=true為新增'bAdd=false為修改ProtectedbAddAsBooleanPrivateSubfrmBase_Load<ByValsenderAsObject,_ByValeAsSystem.EventArgs>HandlesMyBase.LoadPrepare<>SetDataGrid<>SetTextBoxState<True>EndSubPrivateSubToolBar1_ButtonClick<ByValsenderAsObject,_ByValeAsToolBarButtonClickEventArgs>_HandlesToolBar1.ButtonClickSelectCaseCase"首記錄"'返回首記錄bmData.Position=0Case"上記錄"IfbmData.Position<>0ThenbmData.Position-=1EndIfCase"下記錄"IfbmData.Position<>bmData.CountThenbmData.Position+=1EndIfCase"尾記錄"'返回尾記錄bmData.Position=bmData.CountCase"新增"Me.dgdList.Enabled=FalseSetTextBoxState<False>SetToolBarState<False>bAdd=TrueClear<>Case"修改"Me.dgdList.Enabled=FalseSetTextBoxState<False>SetToolBarState<False>bAdd=FalseCase"刪除"'彈出詢問(wèn)對(duì)話框DimdlgResultAsDialogResult=_MessageBox.Show<"你確認(rèn)刪除此數(shù)據(jù)?",_"刪除",MessageBoxButtons.OKCancel>IfdlgResult=DialogResult.OKThenDeleteData<>EndIfCase"保存"SetToolBarState<True>SetTextBoxState<True>IfbAdd=TrueThen'為新增數(shù)據(jù)保存SaveForAdd<>Else'為更新數(shù)據(jù)保存SaveForUpdate<>EndIfMe.dgdList.Enabled=TrueCase"取消"SetTextBoxState<True>SetToolBarState<True>Me.dgdList.Enabled=TrueSearchResult<>Case"退出"'關(guān)閉本窗體Me.Close<>EndSelectTryMe.dgdList.CurrentRowIndex=bmData.PositionSetData<>CatchexAsExceptionEndTryEndSubPrivateSubbtnSearch_Click<ByValsenderAsSystem.Object,_ByValeAsSystem.EventArgs>HandlesbtnSearch.ClickSearchResult<>EndSubPrivateSubdgdList_CurrentCellChanged<ByValsenderAsObject,_ByValeAsSystem.EventArgs>HandlesdgdList.CurrentCellChangedTry'判斷bmData是否為NothingIfbmDataIsNothingThenExitSubEndIfIfbmData.Position<>dgdList.CurrentCell.RowNumberThenSetData<>EndIfCatchexAsExceptionMessageBox.Show<ex.ToString>EndTryEndSubPrivateSubSetToolBarState<ByValbStateAsBoolean>'設(shè)置Button的是否能夠單擊ToolBar1.Buttons<0>.Enabled=bStateToolBar1.Buttons<1>.Enabled=bStateToolBar1.Buttons<2>.Enabled=bStateToolBar1.Buttons<3>.Enabled=bStateToolBar1.Buttons<4>.Enabled=bStateToolBar1.Buttons<5>.Enabled=bStateToolBar1.Buttons<6>.Enabled=bStateToolBar1.Buttons<7>.Enabled=NotbStateToolBar1.Buttons<8>.Enabled=NotbStateEndSubPublicOverridableSubPrepare<>EndSub'設(shè)置DataGrid控件PublicOverridableSubSetDataGrid<>EndSub'查詢函數(shù)PublicOverridableSubSearchResult<>SetDataGrid<>'dgdList.DataSource=dtData.DefaultViewEndSub'新增函數(shù)PublicOverridableSubLoadData<>EndSubPublicOverridableSubSaveForAdd<>EndSub'更新函數(shù)PublicOverridableSubSaveForUpdate<>EndSub'刪除函數(shù)PublicOverridableSubDeleteData<>EndSub'清除函數(shù)PublicOverridableSubClear<>EndSub'設(shè)置TextBox函數(shù)PublicOverridableSubSetTextBoxState<ByValbStateAsBoolean>EndSubPublicOverridableSubSetData<>EndSubEndClass5.2學(xué)生信息維護(hù)實(shí)現(xiàn)的功能包括:查看首記錄,上記錄,下記錄,查尾記錄,新增,修改,刪除等可實(shí)現(xiàn)模糊搜索功能如下所示:PublicClassfrmStudentInherits教務(wù)管理系統(tǒng).frmBasePublicOverridesSubPrepare<>Me.Text="學(xué)生信息維護(hù)"Me.Label1.Text="學(xué)號(hào)"Me.Label2.Text="姓名"Me.Label3.Text="年級(jí)"'設(shè)置ComboBox控件數(shù)據(jù)源DimdbAsDataBase=NewDataBaseDimdvAsDataView=db.RunSelectSQL_<"select班級(jí)編號(hào),班級(jí)名稱from班級(jí)信息orderby班級(jí)名稱">Me.cbbClassId.DataSource=dvMe.cbbClassId.DisplayMember="班級(jí)名稱"Me.cbbClassId.ValueMember="班級(jí)編號(hào)"dv=db.RunSelectSQL_<"select政治面貌編號(hào),政治面貌from政治面貌代碼表">Me.cbbPolity.DataSource=dvMe.cbbPolity.DisplayMember="政治面貌"Me.cbbPolity.ValueMember="政治面貌編號(hào)"dv=db.RunSelectSQL<"select民族編號(hào),民族from民族代碼表">Me.cbbNation.DataSource=dvMe.cbbNation.DisplayMember="民族"Me.cbbNation.ValueMember="民族編號(hào)"dv=db.RunSelectSQL<"select籍貫編號(hào),籍貫from籍貫代碼表">Me.cbbBirthPlace.DataSource=dvMe.cbbBirthPlace.DisplayMember="籍貫"Me.cbbBirthPlace.ValueMember="籍貫編號(hào)"dv=db.RunSelectSQL<"select學(xué)籍編號(hào),學(xué)籍名稱from學(xué)籍代碼表">Me.cbbStatus.DataSource=dvMe.cbbStatus.DisplayMember="學(xué)籍名稱"Me.cbbStatus.ValueMember="學(xué)籍編號(hào)"db.Dispose<>EndSubPublicOverridesSubLoadData<>DimstrFilterAsStringIftxbOne.Text.Trim.Length=0ThenIftxbTwo.Text.Trim.Length=0ThenIftxbThree.Text.Trim.Length=0ThenstrFilter=""ElsestrFilter="where年級(jí)like'"strFilter+=txbThree.Text.Trim+"%'"EndIfElsestrFilter="where姓名like'"strFilter+=txbTwo.Text.Trim+"%'"Ifth<>0ThenstrFilter+="and年級(jí)like'"strFilter+=txbThree.Text.Trim+"%'"EndIfEndIfElsestrFilter="where學(xué)號(hào)like'"im+"%'"IftxbTwo.Text.Trim.Length<>0ThenstrFilter+="and姓名like'"strFilter+=txbTwo.Text.Trim+"%'"IftxbThree.Text.Trim.Length<>0ThenstrFilter+="and年級(jí)like'"strFilter+=txbThree.Text.Trim+"%'"EndIfElseIftxbThree.Text.Trim.Length<>0ThenstrFilter+="and年級(jí)like'"rim+"%'"EndIfEndIfEndIf'清空DataSet11DataSet11.Clear<>SqlConnection1.ConnectionString=DataBase.sConnDimstrSQLAsStringSqlDataAdapter1.SelectCommand.CommandText_="select*from學(xué)生信息"+strFilter'根據(jù)查詢條件重新填充DataSet11SqlDataAdapter1.Fill<DataSet11>dtData=DataSet11.Tables<"學(xué)生信息">IfdtData.Columns.Count<15ThendtData.Columns.Add<"班級(jí)">dtData.Columns.Add<"政治面貌">dtData.Columns.Add<"民族">dtData.Columns.Add<"籍貫">dtData.Columns.Add<"學(xué)籍">EndIfbmData=Me.BindingContext<DataSet11,"學(xué)生信息">IfbmData.Count<>0ThenbmData.Position=0EndIfEndSubPublicOverridesSubSetDataGrid<>LoadData<>'定義一個(gè)DataGrid表樣式DimtsAsNewDataGridTableStyleDimaColumnTextColumnAsDataGridTextBoxColumnDimnumColsAsInteger=dtData.Columns.CountDimiAsIntegerFori=0TonumCols-1'Ifi=6Then'i=10'EndIfaColumnTextColumn=NewDataGridTextBoxColumnaColumnTextColumn.MappingName=_dtData.Columns<i>.ColumnNameaColumnTextColumn.HeaderText=_dtData.Columns<i>.ColumnNameaColumnTextColumn.NullText=""aColumnTextColumn.ReadOnly=True'aColumnTextColumn.Width=55ts.GridColumnStyles.Add<aColumnTextColumn>Nextts.AlternatingBackColor=Color.LightGrayts.AllowSorting=Falsets.MappingName=dtData.TableNamedgdList.TableStyles.Clear<>dgdList.TableStyles.Add<ts>DimdvAsDataView=dtData.DefaultViewdv.AllowNew=Falsedv.AllowDelete=False'dv.AllowEdit=False'設(shè)置數(shù)據(jù)源dgdList.DataSource=dtData.DefaultViewbmData=Me.BindingContext<DataSet11,"學(xué)生信息">lblCount.Text="記錄數(shù):"+dtData.Rows.Count.ToString<>SetDetailData<>EndSubPrivateSubSetDetailData<>DimdtClassId,dtPolity,dtNation,_dtBirthPlace,dtStatusAsDataTableDimdbAsDataBase=NewDataBasedtClassId=db.RunSelectSQL_<"select班級(jí)編號(hào),班級(jí)名稱from班級(jí)信息orderby班級(jí)名稱">.TabledtPolity=db.RunSelectSQL_<"select政治面貌編號(hào),政治面貌from政治面貌代碼表">.TabledtNation=db.RunSelectSQL_<"select民族編號(hào),民族from民族代碼表">.TabledtBirthPlace=db.RunSelectSQL_<"select籍貫編號(hào),籍貫from籍貫代碼表">.TabledtStatus=db.RunSelectSQL_<"select學(xué)籍編號(hào),學(xué)籍名稱from學(xué)籍代碼表">.TableDimdvAsDataViewForiAsInteger=0TodtData.Rows.Count-1dv=dtClassId.DefaultViewdv.RowFilter="班級(jí)編號(hào)='"+dtData.Rows<i><"班級(jí)編號(hào)">+"'"dtData.Rows<i><"班級(jí)">=dv<0><1>dv=dtPolity.DefaultViewdv.RowFilter="政治面貌編號(hào)='"+dtData.Rows<i><"政治面貌編號(hào)">+"'"dtData.Rows<i><"政治面貌">=dv<0><1>dv=dtNation.DefaultViewdv.RowFilter="民族編號(hào)='"+dtData.Rows<i><"民族編號(hào)">+"'"dtData.Rows<i><"民族">=dv<0><1>dv=dtBirthPlace.DefaultViewdv.RowFilter="籍貫編號(hào)='"+dtData.Rows<i><"籍貫編號(hào)">+"'"dtData.Rows<i><"籍貫">=dv<0><1>dv=dtStatus.DefaultViewdv.RowFilter="學(xué)籍編號(hào)='"+dtData.Rows<i><"學(xué)籍編號(hào)">+"'"dtData.Rows<i><"學(xué)籍">=dv<0><1>NextEndSubPublicOverridesSubSetTextBoxState<ByValbStateAsBoolean>Me.GroupBox1.Enabled=NotbStateEndSubPublicOverridesSubClear<>Me.txbClassId.Text=""Me.txbGrade.Text=""Me.txbName.Text=""Me.txbPID.Text=""Me.cbbBirthPlace.Text=""Me.cbbClassId.Text=""Me.cbbNation.Text=""Me.cbbPolity.Text=""Me.cbbSex.Text=""Me.cbbStatus.Text=""EndSubPublicOverridesSubSaveForAdd<>DimdrAsDataRow=DataSet11.Tables<"學(xué)生信息">.NewRow<>Trydr<"學(xué)號(hào)">=Medr<"姓名">=Medr<"年級(jí)">=Medr<"性別">=Medr<"年級(jí)">=Medr<"身份證號(hào)">=Medr<"政治面貌編號(hào)">=Me.cbbPolity.SelectedValuedr<"民族編號(hào)">=Me.cbbNation.SelectedValuedr<"籍貫編號(hào)">=Me.cbbBirthPlace.SelectedValuedr<"班級(jí)編號(hào)">=Me.cbbClassId.SelectedValuedr<"學(xué)籍編號(hào)">=Me.cbbStatus.SelectedValueCatchexAsExceptionMessageBox.Show<"數(shù)據(jù)格式不正確!">ReturnEndTryTryDataSet11.Tables<"學(xué)生信息">.Rows.Add<dr>IfMe.DataSet11.HasChanges=TrueThenSqlDataAdapter1.Update<DataSet11>EndIfCatchexAsExceptionMessageBox.Show<ex.ToString>'<"數(shù)據(jù)添加失敗!">EndTryLoadData<>dgdList.DataSource=dtData.DefaultViewEndSubPublicOverridesSubDeleteData<>Try'刪除當(dāng)前行的數(shù)據(jù)DataSet11.Tables<"學(xué)生信息">._Rows<bmData.Position>.Delete<>IfMe.DataSet11.HasChanges=TrueThen'更新DataSet11SqlDataAdapter1.Update<DataSet11>EndIfCatchexAsExceptionMessageBox.Show<"數(shù)據(jù)刪除失敗!">EndTryEndSubPublicOverridesSubSaveForUpdate<>TryDimrowAsIntegerrow=dgdList.CurrentCell=_NewDataGridCell<<row+1>ModbmData.Count,0>'判斷是否有更新的數(shù)據(jù)IfMe.DataSet11.HasChanges=TrueThenSqlDataAdapter1.Update<DataSet11>EndIfCatchexAsExceptionMessageBox.Show<"數(shù)據(jù)修改失敗!">EndTryEndSubPrivateSubfrmStudent_Load<ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs>HandlesMyBase.LoadEndSubEndClass5.3課程信息維護(hù)實(shí)現(xiàn)的功能包括:查看首記錄:表中首個(gè)班級(jí)記錄,上記錄,下記錄,查尾記錄,新增,修改,刪除等可實(shí)現(xiàn)模糊搜索功能如下所示:PublicClassfrmSelectInheritsPrivatedtDataAsDataTablePrivatedtSubjectAsDataTablePrivateSubbtnSearch_Click<ByValsenderAsSystem.Object,_ByValeAsSystem.EventArgs>HandlesbtnSearch.ClickSetDGDSubject<>EndSubPrivateSubbtnSelect_Click<ByValsenderAsSystem.Object,_ByValeAsSystem.EventArgs>HandlesbtnSelect.ClickIfdgdList.CurrentCell.RowNumber=-1Or_dgdSubject.CurrentCell.RowNumber=-1ThenExitSubEndIfDimdbAsDataBase=NewDataBaseDimdvAsDataViewDimstrSQLAsString=""DimstrTmpAsString=dtSubject._Rows<dgdSubject.CurrentCell.RowNumber><1>.ToString.Trim<>strSQL="select*from選課表where學(xué)號(hào)='"strSQL+="'and課序號(hào)in<select課序號(hào)from課程表where課程編號(hào)='"strSQL+=strTmp+"'>"dv=db.RunSelectSQL<strSQL>Ifdv.Count<>0ThenMessageBox.Show<"該課程已經(jīng)選擇!">db.Dispose<>ExitSubEndIfDimstrCIdAsString=dtSubject._Rows<dgdSubject.CurrentCell.RowNumber><0>.ToString.Trim<>strSQL="select*from選課表asa,課程表asb"strSQL+="wherea.課序號(hào)=b.課序號(hào)anda.學(xué)號(hào)='"strSQL+=txbId.Text.Trim+"'and100*b.上課時(shí)間天+"strSQL+="b.上課時(shí)間節(jié)in<select100*上課時(shí)間天+上課時(shí)間節(jié)"strSQL+="from課程表where課序號(hào)='"+strCId+"'>"dv=db.RunSelectSQL<strSQL>Ifdv.Count<>0ThenMessageBox.Show<"該課序號(hào)時(shí)間和已經(jīng)選擇的課程沖突!">ExitSubElsestrSQL="insertinto選課表<學(xué)號(hào),課序號(hào)>values<'"strSQL+=txbId.Text.Trim+"','"+strCId+"'>"db.RunDelOrInsSQL<strSQL>strSQL="selectc.學(xué)號(hào),a.課序號(hào),b.課程名稱,b.教師,b.開課系別,"strSQL+="a.上課時(shí)間天,a.上課時(shí)間節(jié),a.上課地點(diǎn)from選課表"strSQL+="asc,課程表asa,課程信息asbwhere"strSQL+="a.課程編號(hào)=b.課程編號(hào)andc.課序號(hào)=a.課序號(hào)and學(xué)號(hào)='"strSQL+=txbId.Text.Trim+"'orderbya.課序號(hào)"dv=db.RunSelectSQL<strSQL>dv.AllowDelete=Falsedv.AllowEdit=Falsedv.AllowNew=FalsedtData=dv.TableMe.dgdList.DataSource=dtDataEndIfdb.Dispose<>EndSubPrivateSubbtnDel_Click<ByValsenderAsSystem.Object,_ByValeAsSystem.EventArgs>HandlesbtnDel.ClickIfMe.dgdList.CurrentCell.RowNumber=-1ThenExitSubEndIfDimdlgResultAsDialogResult=MessageBox._Show<"確定刪除指定的已選課程嗎?","提示",_MessageBoxButtons.YesNo>IfdlgResult=DialogResult.YesThenDimstrCIdAsString=dtData._Rows<dgdList.CurrentCell.RowNumber><1>.ToString.Trim<>DimstrSQLAsString="deletefrom選課表where學(xué)號(hào)='"strSQL+=MestrSQL+="'and課序號(hào)='"+strCId+"'"DimdbAsDataBase=NewDataBasedb.RunDelOrInsSQL<strSQL>DimdvAsDataViewstrSQL="selectc.學(xué)號(hào),a.課序號(hào),b.課程名稱,b.教師,b.開課系別,"strSQL+="a.上課時(shí)間天,a.上課時(shí)間節(jié),a.上課地點(diǎn)from選課表"strSQL+="asc,課程表asa,課程信息asbwhere"strSQL+="a.課程編號(hào)=b.課程編號(hào)andc.課序號(hào)=a.課序號(hào)"strSQL+="and學(xué)號(hào)='"+txbId.Text.Trim+"'orderbya.課序號(hào)"dv=db.RunSelectSQL<strSQL>dv.AllowDelete=Falsedv.AllowEdit=Falsedv.AllowNew=FalsedtData=dv.TableMe.dgdList.DataSource=dtDatadb.Dispose<>EndIfEndSubPrivateSubbtnDisplay_Click<ByValsenderAsSystem.Object,_ByValeAsSystem.EventArgs>HandlesbtnDisplay.ClickDimdlgChildAsfrmCourse=NewfrmCoursedlgChild.Show<>EndSubPrivateSubtxbId_KeyDown<ByValsenderAsObject,_ByValeAsSystem.Windows.Forms.KeyEventArgs>HandlestxbId.KeyDownIfe.KeyCode=Keys.EnterAndtxbId.Text.Trim.Length<>0ThenDimdbAsDataBase=NewDataBaseDimstrSQLAsString=""strSQL="select姓名,班級(jí)名稱,學(xué)籍編號(hào)from學(xué)生信息asa,"strSQL+="班級(jí)信息asbwherea.班級(jí)編號(hào)=b.班級(jí)編號(hào)"strSQL+="and學(xué)號(hào)='"+Me.txbId.Text.Trim+"'"DimdvAsDataView=db.RunSelectSQL<strSQL>Ifdv.Count=0ThenMessageBox.Show<"不是在籍的學(xué)生">Me.txbId.Text=""ElseMe.txbName.Text=dv<0><0>.ToString.TrimMe.txbGrade.Text=dv<0><1>.ToString.TrimEndIfstrSQL="selectc.學(xué)號(hào),a.課序號(hào),b.課程名稱,b.教師,b.開課系別,"strSQL+="a.上課時(shí)間天,a.上課時(shí)間節(jié),a.上課地點(diǎn)from選課表"strSQL+="asc,課程表asa,課程信息asbwherea.課程編號(hào)"strSQL+="=b.課程編號(hào)andc.課序號(hào)=a.課序號(hào)and學(xué)號(hào)='"strSQL+="'orderbya.課序號(hào)"dv=db.RunSelectSQL<strSQL>Ifdv.Count=0ThenMessageBox.Show<"不是在籍的學(xué)生">Me.txbId.Text=""Elsedv.AllowDelete=Falsedv.AllowEdit=Falsedv.AllowNew=False
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 痛風(fēng)患者的護(hù)理培訓(xùn)
- 2026年礦山生態(tài)修復(fù)治理合同
- 設(shè)備培訓(xùn)課件模板
- 設(shè)備培訓(xùn)計(jì)劃
- 安全員A證考試自我提分評(píng)估附答案詳解(奪分金卷)
- 設(shè)備吊裝培訓(xùn)課件
- (2026年)產(chǎn)后出血護(hù)理查房課件
- 招聘員額人員14人筆試備考題庫(kù)及完整答案詳解1套
- 安全員A證考試真題匯編含答案詳解【完整版】
- 安全員A證考試練習(xí)題庫(kù)(達(dá)標(biāo)題)附答案詳解
- 2025年度住院部病區(qū)護(hù)理部主任述職報(bào)告
- 2026新疆阿合奇縣公益性崗位(鄉(xiāng)村振興專干)招聘44人筆試備考試題及答案解析
- 單元主題寫作素材與運(yùn)用“勞動(dòng)光榮”2025-2026學(xué)年統(tǒng)編版高一語(yǔ)文必修上冊(cè)
- 湖南省婁底市期末真題重組卷-2025-2026學(xué)年四年級(jí)語(yǔ)文上冊(cè)(統(tǒng)編版)
- 2025年華僑生聯(lián)考試題試卷及答案
- 幼兒學(xué)前班數(shù)學(xué)寒假作業(yè)25
- 2024年鋼絲繩索具相關(guān)項(xiàng)目創(chuàng)業(yè)計(jì)劃書
- 幼小銜接數(shù)學(xué)計(jì)算每日一練39天(幼兒園大班)
- 基于蛋白代謝多組學(xué)探討參麻益智方治療高血壓合并血管性癡呆大鼠作用機(jī)制演示稿件
- 上海布邦流體過(guò)濾產(chǎn)品知識(shí)課件
- 建筑施工人員三級(jí)安全教育
評(píng)論
0/150
提交評(píng)論