版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1教務(wù)管理系統(tǒng)需求分析
教務(wù)管理系統(tǒng)所必備的功能歸納為如圖所示,其中每個功能都由若干相關(guān)聯(lián)的子功能模塊組成。
教務(wù)管理系統(tǒng)
系統(tǒng)管理
繼承管理
畢業(yè)管理
考務(wù)成績管理
排課選課管理
注冊收費(fèi)管理
教師管理
學(xué)籍管理
課程管理
教學(xué)計劃管理
基礎(chǔ)數(shù)據(jù)系統(tǒng)
圖1.1教務(wù)管理系統(tǒng)的基本功能模塊
1.1系統(tǒng)數(shù)據(jù)流程
系統(tǒng)的數(shù)據(jù)流程如圖所示。
異動管理
獎罰管理
招生系統(tǒng)
學(xué)籍管理
收費(fèi)系統(tǒng)
注冊系統(tǒng)
課程管理系統(tǒng)
教學(xué)計劃系統(tǒng)
選課系統(tǒng)
排課系統(tǒng)
教師錄入系統(tǒng)
成績管理系統(tǒng)
重修重考
排考表系統(tǒng)
畢業(yè)管理系統(tǒng)
圖1.2系統(tǒng)數(shù)據(jù)流程
1.2基礎(chǔ)數(shù)據(jù)管理
“基礎(chǔ)數(shù)據(jù)管理”功能模塊用于維護(hù)整個教務(wù)系統(tǒng)正常運(yùn)行所需的基礎(chǔ)數(shù)據(jù)集,以保證教務(wù)系統(tǒng)有一個統(tǒng)一的標(biāo)準(zhǔn)的基礎(chǔ)數(shù)據(jù)集,便于數(shù)據(jù)的共享使用,內(nèi)容包括包括入學(xué)年份、學(xué)年學(xué)期、院系數(shù)據(jù)、專業(yè)設(shè)置、教研室情況等,其中所包含子功能模塊如圖所示
基礎(chǔ)數(shù)據(jù)管理
基本信息
專業(yè)代碼
學(xué)期代碼
學(xué)年代碼
科屬部門代碼
班級代碼
教室代碼
學(xué)歷代碼
職稱代碼
其他基礎(chǔ)信息管理
教師代碼管理
教學(xué)計劃名稱管理
圖“基礎(chǔ)數(shù)據(jù)管理”功能模塊
1.3教學(xué)計劃管理
“教學(xué)計劃管理”功能模塊用于維護(hù)學(xué)校中各系各專業(yè)的課程、課組計劃安排信息,作為選課和畢業(yè)審查的標(biāo)準(zhǔn),包括的功能有課程計劃登記、課程計劃審批、選課情況查詢、選課信息審批等。
1.4 學(xué)籍管理
“學(xué)籍管理”主要包括了高校學(xué)籍管理的常用信息,提供對學(xué)生學(xué)籍基本信息錄入、查詢、修改、打印輸出、維護(hù)等常用功能,并提供學(xué)號編排、學(xué)生照片輸入與顯示、學(xué)籍變動(留級、休學(xué)、跳級、轉(zhuǎn)班、轉(zhuǎn)學(xué)、退學(xué)等)、獎懲登記畢業(yè)情況等功能。
1.5 教師管理
“教師管理”功能模塊用于管理教師相關(guān)的信息,提高質(zhì)量,保證教學(xué)工作的高效運(yùn)行,其中包含的子功能模塊如圖所示。
教師進(jìn)修檔案
教師課時數(shù)統(tǒng)計
教師考評管理
教師獎罰檔案
教師任課檔案
教師基本信息
教師管理
圖1.4“教師管理”功能模塊
“教師基本信息”用于管理教師的基本信息,如所學(xué)專業(yè)、學(xué)歷、畢業(yè)院校等。
“教師任課檔案”用于管理教師任課檔案信息,如教師姓名、學(xué)歷和學(xué)期、任課班級、課程、周時數(shù)、總時數(shù)等。
“教師獎懲檔案”用于管理教師獎懲檔案信息,如教師姓名、獎懲日期、類別原因、獎懲名稱、獎懲等級等。
“教師考評管理”用于對教師進(jìn)行考評。
“教師課時數(shù)統(tǒng)計”用于統(tǒng)計教師工作量。
“教師進(jìn)修檔案”用于管理教師進(jìn)修檔案信息,如教師姓名、進(jìn)修日期、進(jìn)修科目、進(jìn)修單位、進(jìn)修成績等。
1.6 注冊收費(fèi)管理
“注冊管理”功能模塊用于記錄學(xué)生新學(xué)期的注冊情況,如果未注冊將記錄學(xué)生的未注冊原因及未注冊去向?!笆召M(fèi)管理”功能模塊用于記錄學(xué)生開學(xué)初的收費(fèi)情況,每個學(xué)生的收費(fèi)標(biāo)準(zhǔn)來自學(xué)生學(xué)籍信息中的收費(fèi)類別。
1.7 排課選課管理
“排課選課管理”功能模塊用于根據(jù)教學(xué)計劃、教室資源、教師資源等,制定每學(xué)期的課程表,其中包含的子功能模塊如圖所示。
學(xué)生選課
自動排課
人工排課
合班信息設(shè)定
排課時段設(shè)定
教室分區(qū)設(shè)定
課程信息錄入
教室排課設(shè)定
教師排課設(shè)定
班級課程配置
全校排課設(shè)定
條件設(shè)置
排課選課管理
圖1.5“排課選課管理”功能模塊
“條件設(shè)定”用于設(shè)置排課的一些限制條件,如班級、教師、教室的排課時段限制。
“全校排課設(shè)定”用于對某學(xué)期全校課表的共同部分進(jìn)行設(shè)置,如課表的統(tǒng)一抬頭、沒天上課節(jié)數(shù)、統(tǒng)一的排課時段等進(jìn)行設(shè)置。
“班級課程配置”用于對某個班級某學(xué)期具體開設(shè)的課程分別進(jìn)行排課時段、單雙周】連堂課等特殊情況設(shè)置。
“教師排課設(shè)定”用于對個別教師的排課時段進(jìn)行特殊設(shè)置。
“教室排課設(shè)定”用于對個別教室的排課時段進(jìn)行特殊設(shè)置。
“課程信息錄入”用于對一些臨時添加或修改的課程(不在教學(xué)計劃之列的)進(jìn)行設(shè)置。
“教室分區(qū)設(shè)定”用于把學(xué)校所有教室依據(jù)空間設(shè)置、使用類別等進(jìn)行分區(qū)分組設(shè)置。
“排課時段設(shè)定”用于設(shè)置在一周的哪些時段安排課程,針對不同的班級、教室、教師只有給他們的排課時段相同可以通用。
“合班信息設(shè)定”用于對公共選修課打破行政班級的限制,在某個學(xué)期臨時性的把幾個班級組合在一起上課。
“人工排課”用于自動排課進(jìn)行人工干預(yù),常針對哪些調(diào)課、代課進(jìn)行臨時處理。
“自動排課”用于根據(jù)排課管理員設(shè)置的課程信息,以班級為單位進(jìn)行自動的排課。
“學(xué)生選課”用于學(xué)生選擇本學(xué)期的課程,目前一般都在網(wǎng)上直接完成。
1.8 考務(wù)成績管理
“考務(wù)成績管理”功能模塊用于根據(jù)課程自動生成本學(xué)期的考試地點(diǎn)、考試時間、監(jiān)考老師等數(shù)據(jù),并對考試的過程和結(jié)果進(jìn)行監(jiān)控,其中包含的子功能模塊如圖所示。
補(bǔ)考通知單
補(bǔ)考成績錄入
學(xué)生成績錄入
考試情況記錄
評卷安排
考試日程安排
考務(wù)信息發(fā)布
教務(wù)成績管理
班級班級成績單
圖1.6“考務(wù)成績管理”功能模塊
“考務(wù)信息發(fā)布”用于發(fā)布考務(wù)信息,如學(xué)年、學(xué)期、期中(期末)考試、考試時間等,以及其他一些有關(guān)考務(wù)的事項。
“考試日程安排”用于管理考試日期、時間、考試科目、考試班級、監(jiān)考老師、考場等信息。
“評卷安排”用于對評卷專業(yè)、評卷科目、評卷教師、評卷日期、時間等評卷信息進(jìn)行管理。
“考場情況記錄”用于對考場情況進(jìn)行管理,如考試班級、考試科目、應(yīng)考人數(shù)、實到人數(shù)、違紀(jì)記錄情況等。
“學(xué)生成績錄入”用于授課教師輸入學(xué)生的考試成績。
“補(bǔ)考成績錄入”用于授課教師輸入學(xué)生的補(bǔ)考成績。
“補(bǔ)考通知單”用于教務(wù)處依據(jù)班級、個人、課程、進(jìn)行不及格統(tǒng)計,并打印出學(xué)生的補(bǔ)考通知單。
“班級成績單”用于以班級為單位,打印該班級所開設(shè)課程的每個學(xué)生的成績,送交教務(wù)處存檔用。
1.9 畢業(yè)管理
“畢業(yè)管理”功能模塊用于對學(xué)生畢業(yè)進(jìn)行處理,同時對畢業(yè)信息、學(xué)位授予、證書授予及校友信息等進(jìn)行管理,其中包含的子功能模塊如圖所示。
畢業(yè)管理
成績單管理
畢業(yè)審核
論文管理
實習(xí)管理
畢業(yè)管理
技能管理
圖1.7“畢業(yè)管理”功能模塊
“技能管理”用于對學(xué)生在校期間獲得資格證書進(jìn)行存檔,有利于提高學(xué)生的綜合素質(zhì)。
“實習(xí)管理”用于記錄學(xué)生在校期間的實習(xí)情況。
“論文管理”用于記錄學(xué)生的畢業(yè)論文情況,供日后查詢或借鑒。
“畢業(yè)審核”用于根據(jù)學(xué)生的所在系(所)、專業(yè)的教師計劃、選課成績和學(xué)籍來審查該省是否具備畢業(yè)資格。
“畢業(yè)管理”用于記錄學(xué)生的畢業(yè)信息,包括畢業(yè)證書號、工作去向等。
1.10 教材管理
“教材管理”功能模塊用于對教材庫存、教材計劃、教材預(yù)定、班級預(yù)收款、教材采購及教材銷售工資進(jìn)行有效管理,其中包含的子功能如圖所示。
教師領(lǐng)書
教材采購
庫存管理
教材計劃
開課教材設(shè)置
教材信息設(shè)置
教材管理管理
圖1.8“教材管理”功能模塊
2教務(wù)管理系統(tǒng)數(shù)據(jù)庫分析
“學(xué)生信息”,“教師信息”,“課程信息”等都是系統(tǒng)的關(guān)鍵表,其他數(shù)據(jù)表與這些關(guān)鍵表間的關(guān)系是N:1的關(guān)系。
2.1 教務(wù)管理系統(tǒng)E-R圖
關(guān)鍵實體的E-R圖如圖所示。
學(xué)籍代碼表
PK學(xué)籍編號
學(xué)籍名稱
政治面貌代碼表
PK政治面貌編號
名族
民族代碼表
PK民族編號
名族
籍貫代碼碼表
PK籍貫編碼
籍貫
籍貫籍貫
班級信息
PK
班級編號
年級
班級名稱
班級簡稱
人數(shù)
班主任
成績表
PK學(xué)號
姓名
班級編號
性別
年級
政治面貌編號
名族編號
籍貫編號
身份證號
學(xué)籍編號
成績表
PK編號
FK1學(xué)號
FK2課程編號
成績
考試次數(shù)
是否補(bǔ)修
是否重考
是否以確定成績
課程表
PK編號
PK編號
課序表
課程編號
上課時間天
上課時間節(jié)
上課地點(diǎn)
課程表
PK編號
Pk1學(xué)號
課序號
成績表
PK編號
PK課程編號
課程名稱
課程簡稱
拼音碼
本學(xué)期課程
教師
開課系別
學(xué)分
圖2.1教務(wù)管理系統(tǒng)E-R圖
2.2教務(wù)管理系統(tǒng)數(shù)據(jù)表清單
重要表的名稱及用途如表所示。
數(shù)據(jù)表名稱 數(shù)據(jù)表用途
Bjbkb 班級報考表
Bjcjb 班級成績表(打印用)
Bjjhcjb 班級計劃成績表(顯示和打印用)
Bjhks 班計劃學(xué)期考試課程表
Bjhxq 班計劃學(xué)期課程開設(shè)表
Bjxjh班教學(xué)計劃信息表
Bjxxb版注冊和檔案表
Bkbpdfb報考編排登分表
Kctdmkb_tmp畢業(yè)課程替代免考表
Kctdmkb畢業(yè)課程代替免考表
Bysmdb畢業(yè)生名單
Bycymdb畢業(yè)預(yù)審審核差異名單表
Byyshsdfb畢業(yè)預(yù)審審核得分表
Byyshsdfb_tmp畢業(yè)預(yù)審審核得分表
Cgdw 采購單位
Cgdwdhzz采購單位到貨總賬
Cgdwhzz采購單位總賬
Cgdhmxb采購到貨明細(xì)表
Cgdhmxml采購到貨明細(xì)目錄
Cgmxb采購明細(xì)表
Cgzb采購總表
Cjdmb成績代碼表
Cjgdb成績更動表
Cjtjb成績統(tǒng)計表
Cjzb 成績總表
Cjzb_copy 成績總表
Dgdw 訂購單位
Dgdwmxb 訂購單位明細(xì)表
Dgmxb 訂購明細(xì)表
Dgzb 訂購總表
Fxzyb輔修專表
Jhkkkcb 計劃開考課程表
Jhkkkcd 計劃開考課程傳遞表
Jljb 獎勵級別
Jlqkjzb 獎勵情況記載表
Jccgfbml 教材采購分單目錄
Jccgjsb 教材采購計算表
Jccgmxb 教材采購明細(xì)表
Jccgshb教材采購審核表
Jcch 教材冊號
Jcdgzb 教材訂購總表
Jclxmdz 教材類型編碼對照
Jcsmmb教材說明模板
Jcthzt 教材替換狀態(tài)
Dgdwzb 教材征訂訂購單位總表
Jczb 教材總表
Jxbm 教學(xué)部門表
Jxdg 教學(xué)大綱
Jxhjdy 教學(xué)環(huán)境定義
Kkdw 開課單位表
Kcqkb 考試情況表
Kdxxb 考點(diǎn)代碼表
Kslb 考生類別代碼表
Ksdmb 考試代碼表
Ksdmcd 考試代碼傳遞表
Ksdxb 考試對象表
Ksfsdm 考試方式代碼表
Kslxdmd 考試類型代碼表
Kccc 課程層次代碼表
Kcgldw 課程管理單位
Kcjsfs 課程建設(shè)方式
Kcjsjb 課程建設(shè)級別表
Kcjslb 課程建設(shè)類別
Kcjcdzb課程教材對照
Kclb 課程類別代碼表
Kctdb 課程代替表
Kcxz 課程性質(zhì)代碼表
Kczb 課程總表
Ljhkc類計劃課程表
Ljhxq 類計劃學(xué)期開設(shè)課程表
Ljhks 類計劃學(xué)期考試課程表
Ljxjh 類教學(xué)計劃表
Mzdm 民族代碼表
Ndszb 年度收支表
Njdm 年紀(jì)代碼表
Njkc 年紀(jì)課程表
Njcy 年期專業(yè)表
Njzy 新開課程表
Xkkc 新生注冊表
Xszcb 學(xué)費(fèi)來源代碼表
Xfly 學(xué)籍變動代碼表
Xjyd 學(xué)籍變動記載表
Xjydjzb 學(xué)籍狀態(tài)代碼表
Xjzt 學(xué)生非在籍和畢業(yè)生統(tǒng)計表
Xsbyfzjtj 學(xué)生基本情況表
Xsjbdab 學(xué)生基本情況表
Xsjhcjb 學(xué)生計劃成績表(顯示和打印用)
Xslb 學(xué)生類別代碼表
Xslx學(xué)生類型代碼表
User_xslx 學(xué)生類型代碼對應(yīng)表
3 制作介紹
3.1實例功能
實例介紹如圖所示功能的開發(fā)過程,并簡化其中各功能所包含的屬性。
需要強(qiáng)調(diào)的是,由于用戶登陸和權(quán)限管理的功能各個系統(tǒng)實現(xiàn)的方法是一致的,
教務(wù)管理系統(tǒng)(制作演示)
基礎(chǔ)維護(hù)
教學(xué)管理
報表統(tǒng)計
班級信息維護(hù)表
學(xué)生信息維護(hù)
課程信息維護(hù)
學(xué)生學(xué)課
課表查詢
成績輸入
但因成績單那
圖2.2詳細(xì)介紹的功能模塊
系統(tǒng)流程圖
系統(tǒng)流程圖2.3所示。
班級信息表
班級信息維護(hù)
學(xué)生信息表
查詢課程表
學(xué)生信息維護(hù)
學(xué)生選課
操作員
成績輸入
課程信息表
課程信息維護(hù)
打印成績單
教師信息表
教師信息維護(hù)
圖2.3系統(tǒng)流程圖
數(shù)據(jù)庫設(shè)計
根據(jù)實例介紹,“學(xué)生信息表”和“課程信息”是系統(tǒng)關(guān)鍵的表,其他各表均通過相應(yīng)的編號字段進(jìn)行多對一的關(guān)聯(lián)。系統(tǒng)共需10張表,用途分別如表2.4所示。
表2.4系統(tǒng)數(shù)據(jù)表及其用途
數(shù)據(jù)表名稱
數(shù)據(jù)表用途
政治面貌代碼表
保存學(xué)生政治面貌的代碼和政治面貌,如團(tuán)員、黨員等
名族代碼表
保存學(xué)生名族的代碼和名族,如漢族、壯族等
籍貫代碼表
保存學(xué)生籍貫的代碼和籍貫,如北京,廣西等
學(xué)籍代碼表
保存學(xué)生學(xué)籍的代碼和學(xué)籍,如在學(xué)、休學(xué)、畢業(yè)等
班級信息
保存班級的基礎(chǔ)信息
學(xué)生信息
保存學(xué)生的基礎(chǔ)信息
課程信息
保存課程的基礎(chǔ)信息
課程表
保存課程的上課時間和地點(diǎn)的信息,一般有排課子系統(tǒng)生成。
成績表
保存學(xué)生的課程成績
4.1創(chuàng)建數(shù)據(jù)庫
創(chuàng)建 SQLServer企業(yè)管理器,新建一個數(shù)據(jù)庫,將其命名為eisbook。
創(chuàng)建“班級信息”數(shù)據(jù)表
CREATETABLE[dbo].[班級信息](
[班級編號][varchar](14)NOTNULL,
[年級][varchar](4)NULL,
[班級名稱][varchar](30)NULL,
[班級簡稱][varchar](16)NULL,
[人數(shù)][numeric](3,0)NULL,
[班主任][varchar](8)NULL
)ON[PRIMARY]
GO
創(chuàng)建“學(xué)生信息”數(shù)據(jù)庫
CREATETABLE[dbo].[學(xué)生信息](
[學(xué)號][varchar](14)NOTNULL,
[姓名][varchar](8)NULL,
[班級編號][varchar](14)NULL,
[性別][varchar](2)NULL,
[年級][int]NULL,
[政治面貌編號][varchar](2)NULL,
[民族編號][varchar](2)NOTNULL,
[籍貫編號][varchar](2)NOTNULL,
[身份證號][varchar](15)NULL,
[學(xué)籍編號][varchar](2)NOTNULL
)ON[PRIMARY]
GO
創(chuàng)建“課程信息”數(shù)據(jù)表
CREATETABLE[dbo].[課程信息](
[課程編號][int]NOTNULL,
[課程名稱][char](40)NOTNULL,
[課程簡稱][char](40)NOTNULL,
[拼音碼][char](6)NULL,
[本學(xué)期課程][char](2)NOTNULL,
[教師][char](10)NULL,
[開課系別][char](30)NULL,
[學(xué)分][int]NULL
)ON[PRIMARY]
GO
創(chuàng)建“課程表”數(shù)據(jù)表
CREATETABLE[dbo].[課程表](
[編號][int]IDENTITY(1,1)NOTNULL,
[課序號][varchar](14)NOTNULL,
[課程編號][int]NOTNULL,
[上課時間天][int]NOTNULL,
[上課時間節(jié)][int]NOTNULL,
[上課地點(diǎn)][varchar](20)NOTNULL
)ON[PRIMARY]
GO
CREATETABLE[dbo].[選課表](
[編號][int]IDENTITY(1,1)NOTNULL,
[學(xué)號][varchar](14)NOTNULL,
[課序號][varchar](14)NOTNULL
)ON[PRIMARY]
GO
創(chuàng)建“成績表”數(shù)據(jù)庫
CREATETABLE[dbo].[成績表](
[編號][int]IDENTITY(1,1)NOTNULL,
[學(xué)號][varchar](14)NOTNULL,
[課程編號][int]NOTNULL,
[成績][int]NOTNULL,
[考試次數(shù)][int]NULL,
[是否補(bǔ)修][varchar](2)NULL,
[是否重考][varchar](2)NULL,
[是否已確定成績][varchar](2)NULL
)ON[PRIMARY]
GO
創(chuàng)建其他關(guān)鍵數(shù)據(jù)表
以下是其他關(guān)鍵數(shù)據(jù)庫的創(chuàng)建腳本。
CREATETABLE[dbo].[政治面貌代碼表](
[政治面貌編號][varchar](2)NOTNULL,
[政治面貌][varchar](14)NULL
)ON[PRIMARY]
GO
CREATETABLE[dbo].[民族代碼表](
[民族編號][varchar](2)NOTNULL,
[民族][varchar](18)NULL
)ON[PRIMARY]
GO
ALTERTABLE[dbo].[學(xué)籍代碼表]WITHNOCHECKADD
CONSTRAINT[PK_學(xué)籍代碼表]PRIMARYKEYCLUSTERED
(
[學(xué)籍編號]
)ON[PRIMARY]
GO
CREATETABLE[dbo].[籍貫代碼表](
[籍貫編號][varchar](2)NOTNULL,
[籍貫][varchar](18)NULL
)ON[PRIMARY]
GO
創(chuàng)建主鍵及外鍵等表約束。
在查詢分析器中通過如下代碼創(chuàng)建數(shù)據(jù)表的主鍵及外鍵等表約束。
ALTERTABLE[dbo].[學(xué)生信息]WITHNOCHECKADD
CONSTRAINT[PK_學(xué)生信息]PRIMARYKEYCLUSTERED
(
[學(xué)號]
)ON[PRIMARY]
GO
ALTERTABLE[dbo].[學(xué)籍代碼表]WITHNOCHECKADD
CONSTRAINT[PK_學(xué)籍代碼表]PRIMARYKEYCLUSTERED
(
[學(xué)籍編號]
)ON[PRIMARY]
GO
ALTERTABLE[dbo].[成績表]WITHNOCHECKADD
CONSTRAINT[PK_成績表]PRIMARYKEYCLUSTERED
(
[編號]
)ON[PRIMARY]
GO
ALTERTABLE[dbo].[政治面貌代碼表]WITHNOCHECKADD
CONSTRAINT[PK_政治面貌代碼表]PRIMARYKEYCLUSTERED
(
[政治面貌編號]
)ON[PRIMARY]
GO
ALTERTABLE[dbo].[民族代碼表]WITHNOCHECKADD
CONSTRAINT[PK_民族代碼表]PRIMARYKEYCLUSTERED
(
[民族編號]
)ON[PRIMARY]
GO
ALTERTABLE[dbo].[班級信息]WITHNOCHECKADD
CONSTRAINT[PK_班級信息]PRIMARYKEYCLUSTERED
(
[班級編號]
)ON[PRIMARY]
GO
ALTERTABLE[dbo].[籍貫代碼表]WITHNOCHECKADD
CONSTRAINT[PK_籍貫代碼表]PRIMARYKEYCLUSTERED
(
[籍貫編號]
)ON[PRIMARY]
GO
ALTERTABLE[dbo].[課程信息]WITHNOCHECKADD
CONSTRAINT[PK_課程信息]PRIMARYKEYCLUSTERED
(
[課程編號]
)ON[PRIMARY]
GO
ALTERTABLE[dbo].[課程表]WITHNOCHECKADD
CONSTRAINT[PK_課程表]PRIMARYKEYCLUSTERED
(
[編號]
)ON[PRIMARY]
GO
ALTERTABLE[dbo].[選課表]WITHNOCHECKADD
CONSTRAINT[PK_選課表]PRIMARYKEYCLUSTERED
(
[編號]
)ON[PRIMARY]
GO
ALTERTABLE[dbo].[成績表]ADD
CONSTRAINT[DF_成績表_成績]DEFAULT(0)FOR[成績]
GO
ALTERTABLE[dbo].[學(xué)生信息]ADD
CONSTRAINT[FK_學(xué)生信息_班級信息]FOREIGNKEY
(
[班級編號]
)REFERENCES[dbo].[班級信息](
[班級編號]
),
CONSTRAINT[FK_學(xué)生信息_籍貫代碼表]FOREIGNKEY
(
[籍貫編號]
)REFERENCES[dbo].[籍貫代碼表](
[籍貫編號]
),
CONSTRAINT[FK_學(xué)生信息_民族代碼表]FOREIGNKEY
(
[民族編號]
)REFERENCES[dbo].[民族代碼表](
[民族編號]
),
CONSTRAINT[FK_學(xué)生信息_學(xué)籍代碼表]FOREIGNKEY
(
[學(xué)籍編號]
)REFERENCES[dbo].[學(xué)籍代碼表](
[學(xué)籍編號]
),
CONSTRAINT[FK_學(xué)生信息_政治面貌代碼表]FOREIGNKEY
(
[政治面貌編號]
)REFERENCES[dbo].[政治面貌代碼表](
[政治面貌編號]
)
GO
ALTERTABLE[dbo].[成績表]ADD
CONSTRAINT[FK_成績表_課程信息]FOREIGNKEY
(
[課程編號]
)REFERENCES[dbo].[課程信息](
[課程編號]
),
CONSTRAINT[FK_成績表_學(xué)生信息]FOREIGNKEY
(
[學(xué)號]
)REFERENCES[dbo].[學(xué)生信息](
[學(xué)號]
)
GO
ALTERTABLE[dbo].[課程表]ADD
CONSTRAINT[FK_課程表_課程信息]FOREIGNKEY
(
[課程編號]
)REFERENCES[dbo].[課程信息](
[課程編號]
)
GO
創(chuàng)建存儲過程
系統(tǒng)使用了“sf_終止選課”和“sf_成績提交”兩個存儲過程,分別實現(xiàn)結(jié)算選課,生成空白成績單和教師提交最終的成績但的功能。
createprocsf_成績提交@courseidint
as
begintran
--提交成績,提交后不可以再修改
update成績表set是否已確定成績='Y'where課程編號=@courseid
and成績>0
commit
GO
SETQUOTED_IDENTIFIEROFF
GO
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
SETANSI_NULLSON
GO
createprocsf_終止選課
as
begintran
--應(yīng)該單獨(dú)有一個【終止選課】的功能,終止選課后生成空的成績單
--所有學(xué)生將不允許更改課程信息,如果需要更改,必須單獨(dú)申請,特殊處理。
--終止選課一學(xué)年應(yīng)該只能進(jìn)行一次操作,實例沒有制作開始選課等功能,終止
--選課后在學(xué)生選課中仍然可以更改選擇的課程。
insertinto成績表(學(xué)號,課程編號,成績,考試次數(shù),是否補(bǔ)修,是否重考,是否已確定成績)
selectdistincta.學(xué)號,b.課程編號,0,1,'N','N','N'from
選課表asa,課程表asbwherea.課序號=b.課序號
andrtrim(a.學(xué)號)+rtrim(b.課程編號)notin
(selectrtrim(學(xué)號)+rtrim(課程編號)from成績表)
--因為沒有記錄選課狀態(tài),上面的sql語句加了判斷,如果成績表以有
--改學(xué)號/課程,就不插入,實際應(yīng)用中如果是重復(fù)的,應(yīng)該是補(bǔ)修和重考
--的情況,應(yīng)該更改已有信息的這些狀態(tài)
--還要注意select語句加了distinct說明,因為選課表一個課序號
--一個學(xué)號可能有兩條記錄
commit
GO
程序開發(fā)
本系統(tǒng)采用多文檔窗體程序,沒一功能對應(yīng)一個子窗體。
程序運(yùn)行結(jié)果
所示。選擇菜單中的各菜單命令可以進(jìn)入相應(yīng)的功能。
選擇【基礎(chǔ)維護(hù)】|【班級信息維護(hù)】命令,進(jìn)入【班級維護(hù)功能窗體】,在其中輸入學(xué)校班級相關(guān)的信息,如圖2.6所示,需要新增或修改信息,單擊相應(yīng)的按鈕,輸入信息后單擊【保存】按鈕即可。需要刪除一條信息,選中該信息后單擊【刪除】按鈕。在搜索條件編輯框輸入搜索的條件,單擊【搜索】按鈕,可以查詢出相應(yīng)的記錄。
選擇【基礎(chǔ)維護(hù)】|【學(xué)生信息維護(hù)】命令,進(jìn)入【學(xué)生信息維護(hù)】功能窗體,如2.7所示,在輸入學(xué)生相關(guān)的信息。其中【班級編號】、【政治編號】、【名族編號】、【籍貫編號】和【學(xué)籍編號】列表框都是通過餓數(shù)據(jù)庫中相應(yīng)的代碼表關(guān)聯(lián)出列表框的選擇項,選擇下拉的一個列表項目后,保存的是該項目的編號信息。
圖2.5實例運(yùn)行結(jié)果
圖2.6班級信息維護(hù)功能窗體
圖2.7學(xué)生信息維護(hù)功能窗體
選擇【基礎(chǔ)維護(hù)】|【課程信息維護(hù)】命令,進(jìn)入【課程信息維護(hù)】功能窗體,在其中輸入課程的信息,如圖2.8所示。
圖2.9課程信息維護(hù)功能窗體
完成以上基礎(chǔ)信息維護(hù)后,就可以運(yùn)行教務(wù)管理的各個功能了。一般教務(wù)管理系統(tǒng)中的基礎(chǔ)信息除了以上信息外還涉及很多其他方面,如教師、教室、系別、教材等信息。在完成了各個資源的設(shè)置后,需要通過排課系統(tǒng)排出課程表。本實例使用現(xiàn)成的課程表演學(xué)生選課、成績登記等功能。
選擇【教學(xué)管理】|【學(xué)生選課】命令,進(jìn)入【學(xué)生選課】功能窗體,如圖3.0所示。首先在【學(xué)號】編輯框中輸入學(xué)號并回車,系統(tǒng)顯示出對應(yīng)學(xué)生信息和該學(xué)生已選的課程;然后在【課程信息】組合框中輸入課程查詢條件,查詢并選擇希望選的課程,單擊【選課】按鈕,系統(tǒng)檢查該門課程是否已選擇,以及該課序號課程的所有上課時間和已選擇課程的上課時間是否沖突,如果都沒有問題就可以完成指定課序號的課程的選課操作。需要注意的是,一般教務(wù)管理系統(tǒng)都是學(xué)生用自己的學(xué)號登陸到系統(tǒng),只能選擇自己的課程,而不是在選課界面輸入學(xué)號,因為實例程序沒有制作登陸功能,所以這么處理了。同時還應(yīng)注意一門課程可以對應(yīng)多個課程號,一個課程號可以對應(yīng)多個上課時間。想要刪除已經(jīng)選擇的課程,在【已選課程】組合框中選擇欲刪除的課程號,單擊【刪除】按鈕即可。單擊【顯示課表】按鈕可以按照課表的形式顯示選擇的課程,具體參見【課表查詢】功能。
圖3.0學(xué)生選課功能船體
選課完成后,選擇【教學(xué)管理】|【課表查詢】命令,進(jìn)入【課表查詢】功能窗體,如3.1所示,從中可以查詢對應(yīng)課程表。
如圖3.1課表查詢功能窗體
學(xué)生選課完成后通過終止選課功能終止選課時間,產(chǎn)生空成績單,所選擇的課程不能夠在修改。實例把終止選課的功能集成到成績輸入功能中。選擇【教學(xué)管理】|【成績輸入】命令,進(jìn)入【成績輸入】功能窗體,如圖3.2所示。先單擊【終止選課,生成空成績單】按鈕,系統(tǒng)調(diào)用“sf_終止選課”存儲過程,產(chǎn)生對應(yīng)的成績表記錄。在【選擇課程】組合框中輸入課程號的查詢條件,查詢出需要登記成績的課程,系統(tǒng)列出所有選擇了指定課程的學(xué)生及成績,選擇相應(yīng)記錄,在【成績】編輯框中輸入成績,單擊【修改成績】按鈕即可。在完成所有的成績輸入后,單擊【最終提交】按鈕,提交成績,提交后成績將不可再修改(在成績輸入功能不能再查詢到)。
圖3.2成績輸入功能窗體
學(xué)生畢業(yè)前一般都需要打印成績單,選擇【報表統(tǒng)計】|【打印成績單】命令,進(jìn)入【打印成績單】功能窗體,如圖3.3所示。在【學(xué)號】編輯框中輸入學(xué)號后回車,可以查詢出指定學(xué)號學(xué)生的所有成績單,單擊【打印】按鈕可以打印出成績單,如圖3.4所示。
圖3.3打印成績單功能窗體
圖3.4打印成績單
創(chuàng)建工程
啟動MicrosoftVisual.NET2003,在主菜單選擇【文件】|【新建】|【項目】命令,彈出【新建項目】對話框,在【項目類型】列表框中選擇【visualbasic項目】選項,然后在【模板】列表框中選擇【windows應(yīng)用程序】。在【名稱】文本框中輸入一個合適的方案文件名,選取要存放的位置,然后單擊【確定】按鈕完成新項目的開啟。
創(chuàng)建系統(tǒng)主窗體
(1)利用系統(tǒng)默認(rèn)生成的窗體作為主窗體,并為其添加主菜單控件和其他控件,布局如圖3.5所示。
圖3.5系統(tǒng)主窗體
(2)主窗體及其控件的屬性設(shè)置如表3.6和3.7所示。
表3.6主窗體屬性設(shè)置
控件類型
對象(控件)名
屬性
取值(說明)
From
Frmmain
Name
Frmmain
Caption
EIS教務(wù)管理系統(tǒng)
Ismdicontainer
True
表3.7窗體主菜單屬性設(shè)置
菜單欄
菜單項
屬性
取值(說明)
Mnbasic
Text
基礎(chǔ)維護(hù)(&w)
Mnclass
Text
班級信息維護(hù)(&x)
Mnstudent
Text
學(xué)生信息維護(hù)(&y)
Msubject
Text
課程信息維護(hù)(&z)
Mnteach
Text
教學(xué)管理(&x)
Mnselect
Text
學(xué)生學(xué)科(&x)
Mncourse
Text
課表查詢(&y)
Mnresult
Text
成績輸入(&z)
Mnprint
Text
報表統(tǒng)計(&y)
Mnreport
Text
打印成績單(&z)
Mnexit
Text
退出系統(tǒng)(&z)
創(chuàng)建數(shù)據(jù)訪問模塊
因為各個窗體均需要對數(shù)據(jù)庫進(jìn)行訪問,可以把對數(shù)據(jù)庫的一些操作通過一個類來實現(xiàn),這樣可以使對數(shù)據(jù)庫的訪問更加簡單。選擇【文件】|【添加新項】命令添加一個名為“database.Vb”的類文件。
創(chuàng)建數(shù)據(jù)操作窗體的父類窗體
因為系統(tǒng)中所有對數(shù)據(jù)庫表進(jìn)行維護(hù)的窗體界面及實現(xiàn)的功能大體是一致的,為了減少系統(tǒng)編程的工作量,可以把這些共同的部分抽取出來,生成一個父類窗體,其他數(shù)據(jù)庫操作窗體均可以通過集成父類窗體獲得數(shù)據(jù)維護(hù)的功能。這是語言的一個特點(diǎn)和優(yōu)點(diǎn),也是需要重點(diǎn)去理解和掌握的知識點(diǎn)。
新建一個窗體,將其name屬性改為“frmbase”,并為其添加如圖3.8所示的控件。
圖3.8基礎(chǔ)窗體
實現(xiàn)班級信息維護(hù)
(1)選擇【文件】|【添加新項】命令,在【添加新項】對話框的【模板】列表框中選擇【繼承選擇器】對話框,在其中選擇frmbase選項并單擊【確定】按鈕。為新建窗體添加如圖3.9所示的控件。
圖3.9frmclass窗體
(2)各控件的屬性設(shè)置如表4.0所示。
表4.0frmclass窗體控件屬性
控件類型
對象名
屬性
取值(說明)
From
Frmclass
Text
Frmbase
Groupbox
Groupbox1
Dock
Bottom
Textbox
Txbclaasid
Text
textbox
Txbgrade
Text
Textbox
Txbnumber
Text
Textbox
Txbteacher
Text
Textbox
Txbname
Text
Textbox
Txbshortname
Text
(3)從工具箱中拖動一個sqldataadapter對象到窗體上,連接eisbook數(shù)據(jù)庫,添加班級信息,并選擇所有字段。單擊【確定】按鈕完成sqldataadapter對象的配置。
(4)在sqldataadapter對象上右擊,在彈出的快捷菜單中選擇【生成數(shù)據(jù)集】命令,在彈出的【生成數(shù)據(jù)集】對話框中單擊【確定】按鈕。
(5)為每個textbox控件設(shè)置數(shù)據(jù)源。
(6)重寫frmclass基類frmbase的函數(shù)。
PublicOverridesSubPrepare()
Me.Text="班級信息維護(hù)"
EndSub
PublicOverridesSubLoadData()
DimstrFilterAsString
IftxbOne.Text.Trim.Length=0Then
IftxbTwo.Text.Trim.Length=0Then
IftxbThree.Text.Trim.Length=0Then
strFilter=""
Else
strFilter="where班級名稱like'"
strFilter+=txbThree.Text.Trim+"%'"
EndIf
Else
strFilter="where年級like'"
strFilter+=txbTwo.Text.Trim+"%'"
IftxbThree.Text.Trim.Length<>0Then
strFilter+="and班級名稱like'"
strFilter+=txbThree.Text.Trim+"%'"
EndIf
EndIf
Else
strFilter="where班級編號like'"
.Trim+"%'"
IftxbTwo.Text.Trim.Length<>0Then
strFilter+="and年級like'"
strFilter+=txbTwo.Text.Trim+"%'"
IftxbThree.Text.Trim.Length<>0Then
strFilter+="and班級名稱like'"
strFilter+=txbThree.Text.Trim+"%'"
EndIf
Else
IftxbThree.Text.Trim.Length<>0Then
strFilter+="and班級名稱like'"
strFilter+=txbThree.Text.Trim+"%'"
EndIf
EndIf
EndIf
'清空DataSet11
DataSet11.Clear()
DimstrSQLAsString
Text_
="select*from班級信息"+strFilter
'根據(jù)查詢條件重新填充DataSet11
SqlDataAdapter1.Fill(DataSet11)
dtData=DataSet11.Tables("班級信息")
bmData=Me.BindingContext(DataSet11,"班級信息")
IfbmData.Count<>0Then
bmData.Position=0
EndIf
EndSub
PublicOverridesSubSetDataGrid()
LoadData()
'定義一個DataGrid表樣式
DimtsAsNewDataGridTableStyle
DimaColumnTextColumnAsDataGridTextBoxColumn
DimnumColsAsInteger
DimiAsInteger
Fori=0TonumCols-1
aColumnTextColumn=NewDataGridTextBoxColumn
aColumnTextColumn.MappingName=_
dtData.Columns(i).ColumnName
aColumnTextColumn.HeaderText=_
dtData.Columns(i).ColumnName
aColumnTextColumn.NullText=""
aColumnTextColumn.ReadOnly=True
ts.GridColumnStyles.Add(aColumnTextColumn)
Next
ts.AllowSorting=False
dgdList.TableStyles.Clear()
dgdList.TableStyles.Add(ts)
DimdvAs
dv.AllowNew=False
dv.AllowDelete=False
'dv.AllowEdit=False
'設(shè)置數(shù)據(jù)源
bmData=Me.BindingContext(DataSet11,"班級信息")
lblCount.Text="記錄數(shù):"+dtData.Rows.Count.ToString()
EndSub
PublicOverridesSubSetTextBoxState(ByValbStateAsBoolean)
Me.GroupBox1.Enabled=NotbState
EndSub
PublicOverridesSubClear()
Me.txbClassId.Text=""
Me.txbGrade.Text=""
Me.txbNumber.Text=""
Me.txbTeacher.Text=""
Me.txbName.Text=""
Me.txbShortName.Text=""
EndSub
PublicOverridesSubSaveForAdd()
DimdrAsDataRow=DataSet11.Tables("班級信息").NewRow()
Try
dr("班級編號")=Me
dr("年級")=Me
dr("班級名稱")=Me
dr("班級簡稱")=Me
dr("人數(shù)")=Me
dr("班主任")=Me
CatchexAsException
MessageBox.Show("數(shù)據(jù)格式不正確!")
ExitSub
EndTry
Try
DataSet11.Tables("班級信息").Rows.Add(dr)
IfMe.DataSet11.HasChanges=TrueThen
SqlDataAdapter1.Update(DataSet11)
EndIf
CatchexAsException
MessageBox.Show("數(shù)據(jù)添加失敗!")
EndTry
LoadData()
EndSub
PublicOverridesSubDeleteData()
Try
'刪除當(dāng)前行的數(shù)據(jù)
DataSet11.Tables("班級信息")._
Rows(bmData.Position).Delete()
IfMe.DataSet11.HasChanges=TrueThen
'更新DataSet11
SqlDataAdapter1.Update(DataSet11)
EndIf
CatchexAsException
MessageBox.Show("數(shù)據(jù)刪除失敗!")
EndTry
EndSub
PublicOverridesSubSaveForUpdate()
Try
DimrowAsInteger
dgdList.CurrentCell=_
NewDataGridCell((row+1)ModbmData.Count,0)
'判斷是否有更新的數(shù)據(jù)
IfMe.DataSet11.HasChanges=TrueThen
SqlDataAdapter1.Update(DataSet11)
EndIf
CatchexAsException
MessageBox.Show("數(shù)據(jù)修改失敗!")
EndTry
EndSub
5.7實現(xiàn)學(xué)生信息維護(hù)功能
(1)選擇【文件】|【添加新項】命令,在【添加新項】對話框的【模板】列表框中選擇【繼承的窗體】選項,并命名為“”。單擊【打開】按鈕后會出現(xiàn)【繼承器】對話框,在其中選擇frmbase選項并單擊【確定】按鈕。為新建窗體添加如圖4.1所示。
圖4.1frmstuent窗體
各控件的屬性設(shè)置如表4.2所示。
表4.2frmstudent窗體控件屬性
控件類型
對象名
屬性
取值(說明)
From
Frmstudent
Text
Groupbox
Groupbox1
Dock
Bottom
Textbox
Txbclassid
Text
Textbox
Txbname
Text
Textbox
Txbgrade
Text
Textbox
Txbpid
Text
Combobox
Cbbsex
Items
男
女
Combobox
Cbbclassid
Items
Combobox
Cbbpolity
Items
Combobox
Cbbnation
Items
Combobox
Cbbbirthplace
Items
Combobox
Cbbstatus
Items
從工具箱中拖動一個sqldataadapter對象到窗體上,連接eisbook數(shù)據(jù)庫,添加學(xué)生信息,并選擇所有字段。單擊【確定】按鈕完成sqldataadapter對象的配置。
在sqldataadapter對象上右擊,在彈出的快捷菜單選擇【生成數(shù)據(jù)集】命令、在彈出的【生成數(shù)據(jù)集】對話框中單擊【確定】按鈕。
為每個textbox控件設(shè)置數(shù)據(jù)源。
重寫frmstudent基類frmbase的函數(shù)。
實現(xiàn)課程信息維護(hù)功能
選擇【文件】|【添加新項】命令,在【添加新項】對話框的【模板】列表框中選擇【繼承的窗體】選項,并命名為“frmsubject.vb”。單擊【打開】按鈕后會出現(xiàn)【繼承選擇器】對話框,在其中選擇frmbase選擇并單擊【確定】按鈕。為新建窗體添加如圖4.3所示控件。
圖4.3frmsubject窗體
各控件的屬性設(shè)置如表4.4所示。
表4.4frmcash窗體控件屬性設(shè)置
控件類型
對象名
屬性
取值(說明)
From
Frmsubject
Text
Groupbox
Groupbox1
Dock
Bottom,left,right
Textbox
Txbcourseid
Text
Textbox
Txbcoursename
Text
Textbox
Txbcoursename
Text
Textbox
Txbpy
Text
Textbox
Txbteacher
Text
Textbox
Txbdept
Text
Combobox
Cbbcredithour
Text
Groupbox
Groupbox1
Text
本學(xué)期課程
Textbox
Txbdept
Text
Combobox
Frmsubject
Items
實現(xiàn)學(xué)生選課功能
學(xué)生選課功能窗體不需要從父窗體繼承。
新建一個窗體,將其name屬性改為“frmselect”,并為其添加如圖4.5所示的控件。
圖4.5frmselect窗體控件屬性設(shè)置
部分控件的屬性設(shè)置如表4.6所示。
表4.6frmselect窗體控件屬性設(shè)置
控件類型
對象名
屬性
取值(說明)
From
Frmsubject
Text
學(xué)生選課
Groupbox
Grbtop
Dock
Top
Textbox
Txbid
Text
True
Textbox
Txbname
Readobly
True
Textbox
Txbgrade
Reagonly
Groupbox
Groupbox1
Anchor
Top,left,right
Datagrid
Dgdlist
Dock
Fill
Groupbox
Groupbox2
Anchor
Top,bottom,left,right
Textbox
Txbpy
Text
Groupbox
Groupbox1
Text
Textbox
Txbcname
Text
textbox
Txbid
Text
Textbox
Txbcid
Text
Textbox
Txbnumber
Text
Button
Btnsearch
Text
查詢
Button
Btnselect
Text
選課
Button
Btndel
Text
刪除
Button
Btndisplay
Text
顯示課表
實現(xiàn)課表查詢功能
選擇【文件】|【添加新項】命令,在【添加新項】對話框的【模板】列表框中選擇【繼承的窗體】選項,并命名為“”。單擊【打開】按鈕后會出現(xiàn)【繼承選擇器】對話框,在其中選擇frmbase選擇并單擊【確定】按鈕。為新建窗體添加如圖4.3所示控件。
圖4.7Frmcourse窗體
實現(xiàn)成績輸入功能
成績輸入功能窗體不需要從父窗體繼承。
新建一個窗體,將其name屬性改為“frmscore”,并為其添加如圖4.8所示的控件。
圖4.9frmscore窗體
部分控件的屬性設(shè)置如表5.0所示。
表5.0frmscore窗體控件屬性設(shè)置
控件類型
對象名
屬性
取值(說明)
From
Frmscore
Text
成績輸入
Groupbox
Groupbox1
Dock
Top
Button
Btnclear
Text
終止課,生成空成績單
Groupbox
Groupbox2
Dock
Top
Textbox
Txbpy
Text
Textbox
Txbname
Text
Textbox
Txbid
Text
Button
Btnsearch
Text
查詢
Button
Btnsubmit
Text
最終提交
Groupbox
Groupbox3
Dock
Fill
Datagird
Dgdlist
Anchor
Top,bottom,left
Textbox
Txbscore
Text
Button
Btnupdate
Text
修改成績
5.11實現(xiàn)打印成績單功能
打印成績單功能窗體不需要從父窗體繼承。
(1)新建一個窗體,將其name屬性改為“frmreport”并為其添加如圖5.1所示的控件。
圖5.1frmreport窗體
(2)部分控件的屬性設(shè)置如表5.2所示。
表5.2frmreport窗體控件屬性設(shè)置
控件類型
對象名
屬性
取值(說明)
From
Frmreport
Text
打印成績單
Groupbox
Grbsearch
Dock
Top
Textbox
Txbid
Text
Textbox
Txbname
Readonly
Textbox
Txbclass
Readonly
Button
Txbprint
Text
打印
為窗體frmreport添加私有變量。
PrivatedtDataAsDataTable
為文本框控件txbid的keydown事件添加事件響應(yīng)事件。
PrivateSubtxbId_KeyDown(ByValsenderAsObject,ByVal_
eAsSystem.Windows.Forms.KeyEventArgs)Handles
Ife.KeyCode=Keys.EnterAndtxbId.Text.Trim.Length<>0Then
DimdbAsDataBase=NewDataBase
DimdvAsDataView
DimstrSQLAsString="select姓名,班級名稱,學(xué)籍編號from"
strSQL+="學(xué)生信息asa,班級信息asbwherea.班級編號="
strSQL+="b.班級編號and學(xué)號='"+Me.txbId.Text.Trim+"'"
dv=db.RunSelectSQL(strSQL)
Ifdv.Count=0Then
MessageBox.Show("學(xué)號錯誤!")
ExitSub
EndIf
Me.txbName.Text=dv(0)("姓名").ToString()
Me.txbClass.Text=dv(0)("班級名稱").ToString()
strSQL="selectb.課程名稱,b.開課系別,b.教師,a.成績from"
strSQL+="成績表asa,課程信息asbwherea.課程編號="
strSQL+="b.課程編號and學(xué)號='"+Me
strSQL+="'orderbya.課程編號"
dv=db.RunSelectSQL(strSQL)
Me.dgdList.DataSource=dv
dv.AllowDelete=False
dv.AllowEdit=False
dv.AllowNew=False
Me.dgdList.AllowSorting=False
db.Dispose()
EndIf
EndSub
為按鈕控件btnprint的click事件響應(yīng)事件。
PrivateSubbtnPrint_Click(ByValsenderAsSystem.Object,_
ByValeAsSystem.EventArgs)Handles
DimchildFrmAsfrmPrint=NewfrmPrint(dtData)
childFrm.ShowDialog()
EndSub
其中frmprint為打印報表的窗體,接下來將介紹窗體frmprint。Frmprint功能窗體不需要從父窗體繼承。
新建一個窗體,將其name屬性改為“frmprint”并為添加如圖5.3所示的控件。
圖5.3frmprint窗體
部分控件的屬性設(shè)置如表5.4所示。
表5.4frmprint窗體控件屬性設(shè)置
控件類型
對象名
屬性
取值(說明)
Form
Frmprint
Text
Printpreview
Cystalreportviewer
Cystalreportviewer1
Dock
Fill
為窗體類frmprint添加私有變量。
PrivatedtPrintAsDataTable
為窗體frmprint添加構(gòu)造函數(shù)。
PrivateSubfrmPrint_Load(ByValsenderAsObject,_
ByValeAsSystem.EventArgs)HandlesMyBase.Load
Try
DimobjAsReportDocument=NewReportDocument
'obj加載CrystalReport的路徑要設(shè)置好
obj.Load("Report.rpt")
'設(shè)置報表的數(shù)據(jù)源
'DimdsAsDataSet=NewDataSet
'ds.Tables.Add(dtPrint)
obj.SetDataSource(dtPrint)
Me.CrystalReportViewer1.ReportSource=obj
CatchexAsException
MessageBox.Show(ex.ToString)
EndTry
EndSub
Report.rpt如圖5.5所示。
圖5.5report.rpt窗體
至此實例全部功能已經(jīng)完成。
系統(tǒng)發(fā)布
系統(tǒng)設(shè)計完成后需要打包發(fā)布,將應(yīng)用制作成安裝程序。制作安裝程序的工具很多,一般VisualBasic.NET開發(fā)的應(yīng)用系統(tǒng)可以使用VisualBasic.NET2003自帶的功能進(jìn)行打包,也可以用InstallShield來完成系統(tǒng)的安裝查詢。
小結(jié)
我們可以掌握以下知識和技巧。
教務(wù)管理系統(tǒng)的需求。
利用VisualBaisic.NET進(jìn)行數(shù)據(jù)庫編程的多種方法。
數(shù)據(jù)庫識圖的使用。
利用。
下面資料為贈送的地產(chǎn)廣告語不需要的下載后可以編輯刪除就可以,謝謝選擇,
祝您工作順利,生活愉快!
地產(chǎn)廣告語
1、讓世界向往的故鄉(xiāng)
2、某沿河樓盤:生活,在水岸停泊
3、一江春水一種人生
4、某錢塘江邊樓盤:面對潮流經(jīng)典依舊
5、海景房:站在家里,海是美景;站在海上,家是美景
6、以山水為賣點(diǎn)的樓盤:山水是真正的不動產(chǎn)
7、某城區(qū)的山腰上的樓盤:凌駕尊貴俯瞰繁華
8、某地勢較高的樓盤:高人,只住有高度的房子
9、某學(xué)區(qū)房:不要讓孩子輸在起跑線上
10、尾盤:最后,最珍貴
11、回家就是度假的生活
12、生命就該浪費(fèi)在美好的事情上
我們造城——
2、我的工作就是享受生活——
3、我家的客廳,就是我的生活名片——
4、在自己的陽臺看上海的未來——
5、公園不在我家里我家住在公園里——
6、這里的花園沒有四季——
7、***,裝飾城市的風(fēng)景——
8、***,我把天空搬回家——
9、房在林中,人在樹下——
10、生活,就是居住在別人的愛慕里——
11、到〖星河灣〗看看好房子的標(biāo)準(zhǔn)——
12、好生活在〖珠江〗——
13、愛家的男人住〖百合〗
城市岸泊:城市的岸泊,生活的小鎮(zhèn)
生活之美不缺少,在于發(fā)現(xiàn)
情趣不在于奢華,在于精彩
生活有了美感才值得思考……
玫瑰莊園:山地生態(tài),健康人生
卓越地段,超大社區(qū)
一種完整且完善的環(huán)境,像原生一樣和諧
原生景象自然天成
人本理念精品建筑
知名物業(yè)智能安防
誠信為本實力鑄造
比華利山莊:海岸生活——引領(lǐng)世界的生活方式
海岸生活——22公里的奢華
海岸生活——高尚人生的序曲
海岸生活——人與自然的融合
蘋果二十二院街:人文自然現(xiàn)代
鋪的蔓伸
榮和山水美地:讓世界向往的故鄉(xiāng)
香港時代:時代精英開拓未來
領(lǐng)銜建筑,彰顯尊貴
綠地崴廉公寓:金橋40萬平方米德國音樂藝術(shù)生活
匯都國際:昆明都心,城市引擎
財富之都風(fēng)情之都夢幻之都文化之都商貿(mào)之都
西部首座巨型商業(yè)之城
顛峰商圈的原動力,締造西部財富新領(lǐng)地
新江灣城:綠色生態(tài)港國際智慧城
新江灣城,一座承載上海新夢想的城區(qū)
上海城投,全心以赴
建設(shè)知識型,生態(tài)型花園城區(qū)
風(fēng)和日麗:入住準(zhǔn)現(xiàn)樓,升值在望
灣區(qū)大戶,空中花園
大格局下的西海岸
市中心:市中心少數(shù)人的專屬
顛峰珍貴市中心的稀世名宅
正中心城市顛峰領(lǐng)地
顛峰勾勒稀世名宅
繁華不落幕的居家風(fēng)景
地利皇者盡得先機(jī)
稀世經(jīng)典180席
陽光國際公寓:陽光金橋來自紐約的生活藍(lán)本
鐘宅灣:海峽西岸生態(tài)人居休閑商務(wù)區(qū)
匯聚國際財富與人居夢想的絕版寶地
二十一世紀(jì)是城市的世紀(jì),二十一世紀(jì)也是海洋的世紀(jì)
誰控制了海洋,誰就控制了一切
站在藍(lán)色海岸的前沿,開啟一個新的地產(chǎn)時代
東南門戶海灣之心
海峽西岸生態(tài)人居休閑商務(wù)區(qū)
讓所有財富的目光聚集鐘宅灣,這里每一天都在創(chuàng)造歷史
上海A座(科維大廈):創(chuàng)富人生的黃金眼
掘金上海!創(chuàng)富人生!
遠(yuǎn)東大廈:花小公司的錢,做大公司的事
未來城:無可挑戰(zhàn)的優(yōu)勢無可限量的空間
綠地集團(tuán):居住問題的答疑者,舒適生活的提案人
茶馬驛棧:精明置業(yè)時機(jī)享受附加值財富最大化
雪山下的世外桃源茶馬古道上千年清泉之鄉(xiāng)
金地格林春岸:城市精英的夢想家園
繁華與寧靜共存,闊綽身份不顯自露
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 無錫無窗簾清洗施工方案
- 基于血管細(xì)胞及炎癥機(jī)制的大動脈炎發(fā)病機(jī)制及治療學(xué)研究
- 企業(yè)生態(tài)化演進(jìn)過程中的文化整合特征研究
- 2025年度生態(tài)園林苗木賠償服務(wù)協(xié)議
- 基于多源信息融合的區(qū)域農(nóng)業(yè)旱災(zāi)災(zāi)情預(yù)估與防控決策方法
- 二零二五年度機(jī)場自動售貨機(jī)場地租賃與大數(shù)據(jù)分析合同
- 2025年度綠色建筑企業(yè)員工勞動合同終止書
- 二零二五年度腳手架施工安全風(fēng)險評估與預(yù)防協(xié)議
- 2025年度高新技術(shù)公司股權(quán)轉(zhuǎn)讓協(xié)議作廢及重簽意向書
- 2025年度廣西區(qū)運(yùn)動會贊助合作協(xié)議書
- 2024年國家工作人員學(xué)法用法考試題庫及參考答案
- 國家公務(wù)員考試(面試)試題及解答參考(2024年)
- 《阻燃材料與技術(shù)》課件 第6講 阻燃纖維及織物
- 同等學(xué)力英語申碩考試詞匯(第六版大綱)電子版
- 人教版五年級上冊遞等式計算100道及答案
- 2024年部編版初中語文各年級教師用書七年級(上冊)
- 2024年新課標(biāo)全國Ⅰ卷語文高考真題試卷(含答案)
- 湖南省退休人員節(jié)日慰問政策
- QB/T 5998-2024 寵物尿墊(褲)(正式版)
- 4P、4C、4R-營銷理論簡析
- 總則(養(yǎng)牛場環(huán)評報告)
評論
0/150
提交評論