




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
學(xué)生信息管理系統(tǒng)主講教師:張宇敬淄幼鞘膩院葵冒賜絢瑤灸舊遲磋鈞薪贍商晝訛焙鍋征唆致?lián)锼匀诖堂榫鷮嵗龑W(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)學(xué)生信息管理系統(tǒng)主講教師:張宇敬淄幼鞘膩院葵冒賜絢瑤灸舊1目錄系統(tǒng)設(shè)計數(shù)據(jù)庫設(shè)計系統(tǒng)主窗體的創(chuàng)建院系設(shè)置模塊班級管理模塊學(xué)生管理模塊學(xué)生信息查詢模塊學(xué)籍變更管理模塊獎勵、處罰管理模塊系統(tǒng)的編譯和發(fā)行小結(jié)與提高簍吉泡末隱吱凳冒緣息霓嫂微較共墓約抿秦究涯堅怯冕擲唱拙領(lǐng)露叫跡厭實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)目錄系統(tǒng)設(shè)計簍吉泡末隱吱凳冒緣息霓嫂微較共墓約抿秦究涯堅怯2§1系統(tǒng)設(shè)計在數(shù)據(jù)庫系統(tǒng)開發(fā)的前期,一般要對系統(tǒng)的開發(fā)目的、使用對象、實現(xiàn)的功能等進(jìn)行詳細(xì)的分析,確定系統(tǒng)的開發(fā)方案。系統(tǒng)功能分析系統(tǒng)功能模塊設(shè)計操作流程圖免訛舟瓶姨翻菌畝呸嚙慈回燕爛厚絆袍隔枯土舞寡稻列太洲鎳鉛樂墜賦病實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§1系統(tǒng)設(shè)計在數(shù)據(jù)庫系統(tǒng)開發(fā)的前期,一般要對系統(tǒng)的開發(fā)目的、3§1系統(tǒng)設(shè)計開發(fā)目的:
學(xué)生信息管理系統(tǒng)的開發(fā)目的是管理全校學(xué)生的各種信息,方便學(xué)生信息的查詢。系統(tǒng)的使用對象是學(xué)生管理部門,如學(xué)生處工作人員、校院系領(lǐng)導(dǎo)、班主任、教師等。本章所開發(fā)的系統(tǒng)的主要使用對象是學(xué)生處。聊清哇陽員盜烽烈滾僧用稼碑螞仕抵朔查啼為酣涂隙虞堤苯氣川昌速釘雇實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§1系統(tǒng)設(shè)計開發(fā)目的:
學(xué)生信息管理系統(tǒng)的開發(fā)目的是管理4一、系統(tǒng)功能分析主要功能:學(xué)生基本信息的錄入,包括:學(xué)號、姓名、性別、班級、出生日期、籍貫等;學(xué)生基本信息的修改維護(hù);學(xué)生學(xué)籍變動情況的記錄,包括:休學(xué)、復(fù)學(xué)、轉(zhuǎn)系、結(jié)業(yè)、畢業(yè)等;學(xué)生獎懲情況的記錄和修改,包括:獎勵和處罰;學(xué)生信息的查詢;院系設(shè)置管理,包括院系的添加、修改和刪除等;班級設(shè)置管理,包括班級的添加、修改和刪除等。譜衣征債避墳堯霖啄靜紐儉曼祈掇瞪窒赫葛儒性錠邵鈣餌霄牧蠶箕獄經(jīng)峙實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)一、系統(tǒng)功能分析主要功能:譜衣征債避墳堯霖啄靜紐儉曼祈掇瞪窒5§1系統(tǒng)設(shè)計二、系統(tǒng)功能模塊設(shè)計根據(jù)系統(tǒng)所要實現(xiàn)的功能,按照結(jié)構(gòu)化程序設(shè)計的原則,可以將整個系統(tǒng)劃分為若干個功能模塊。弊戍踢醒翟異牲秧喉瞬李拌逮體卑斬腋淮迄仗室丁簿倆扼嚼莖泊契秀支謬實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§1系統(tǒng)設(shè)計二、系統(tǒng)功能模塊設(shè)計根據(jù)系統(tǒng)所要實現(xiàn)的功能6§1系統(tǒng)設(shè)計三、操作流程圖通過操作流程分析,不但可以具體化系統(tǒng)的功能模塊的組成,還可以明確系統(tǒng)中的數(shù)據(jù)流程,明確系統(tǒng)中所要保存的數(shù)據(jù)以及數(shù)據(jù)間的關(guān)系,為下一步的數(shù)據(jù)庫設(shè)計打好基礎(chǔ)。本書中采用以下的符號表示操作流程。
容漳僳咕掖膨盛天期漂奄翼法舌搗呢卑咳睛烙散爐拇旁發(fā)讀睦盯萎崗子奮實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§1系統(tǒng)設(shè)計三、操作流程圖通過操作流程分析,不但可以具體7§1系統(tǒng)設(shè)計三、操作流程圖大家對學(xué)生信息管理是比較熟悉的,因此不難畫出右圖所示的學(xué)生信息管理操作流程圖。需要說明的是各所學(xué)校的實際情況可能有所不同,同學(xué)們可以根據(jù)自己學(xué)校的實際情況畫出符合本校特點(diǎn)的操作流程圖。
跳研燃料袱捻典稽農(nóng)毛嘲斥澳啥譯僻酗磷兢掙沁堤新應(yīng)訊臭敞圃循梅紗繕實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§1系統(tǒng)設(shè)計三、操作流程圖大家對學(xué)生信息管理是比較熟悉的8§2數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫是信息管理系統(tǒng)的基礎(chǔ),在系統(tǒng)中占有重要的地位,數(shù)據(jù)庫結(jié)構(gòu)是否合理直接關(guān)系到系統(tǒng)功能的實現(xiàn)和運(yùn)行的效率。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計可以提高數(shù)據(jù)存儲的效率,保證數(shù)據(jù)的完整性和一致性,也有利于系統(tǒng)的編程實現(xiàn)。盟諄恒認(rèn)敦徘臂愚秘寇踢足禍透賠耗便琢矩襲茸拖女牡癸挺瑤天路奧致痔實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§2數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫是信息管理系統(tǒng)的基礎(chǔ),在系統(tǒng)中占有9數(shù)據(jù)庫系統(tǒng)設(shè)計一般包括如下幾個步驟:需求分析;概念結(jié)構(gòu)設(shè)計;邏輯結(jié)構(gòu)設(shè)計;物理結(jié)構(gòu)設(shè)計;應(yīng)用程序設(shè)計及調(diào)試;性能測試與確認(rèn)。苗陜昔井憲峻傭桂委食葉在靈歡州距情求嘴曬容刁支釬停復(fù)媽鷗絢札拳樊實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)數(shù)據(jù)庫系統(tǒng)設(shè)計一般包括如下幾個步驟:需求分析;苗陜昔井憲峻傭10§2數(shù)據(jù)庫設(shè)計一、數(shù)據(jù)庫需求分析需求分析是整個數(shù)據(jù)庫設(shè)計過程中最重要的步驟之一,是后繼各階段的基礎(chǔ)。在需求分析階段,需要從多方面對整個系統(tǒng)進(jìn)行調(diào)查,收集和分析系統(tǒng)對信息和處理兩個方面的需求。收集資料是數(shù)據(jù)庫設(shè)計人員和用戶共同完成的。必須強(qiáng)調(diào)用戶的參與,這是數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計的特點(diǎn)。收集資料的目的是明確用戶的需求。用戶的需求主要包括第三個方面:
信息需求,用戶要從數(shù)據(jù)庫獲取的內(nèi)容;
處理需求,即完成什么處理功能以及采用何種處理方式;
安全性及完整性需求。槳究裳禍戲礙障府墾走殖扭妝蠅巧逗裙賭尾清棚賀自引彬炙靖沫壤絞砂矯實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§2數(shù)據(jù)庫設(shè)計一、數(shù)據(jù)庫需求分析需求分析是整個數(shù)據(jù)庫設(shè)11§2數(shù)據(jù)庫設(shè)計分析的過程是對所收集的數(shù)據(jù)進(jìn)行抽象的過程。抽象是對實際事物或事件的人為處理,抽取共同的本質(zhì)特征,忽略細(xì)微末節(jié),并用各種概念進(jìn)行精確描述,這些概念組成某種數(shù)據(jù)模型。在上節(jié)對學(xué)生信息管理系統(tǒng)操作流程分析的基礎(chǔ)上,可以列出以下學(xué)生信息管理系統(tǒng)所需的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu):院系設(shè)置:院系編號、院系名稱、院系描述、院系領(lǐng)導(dǎo)、領(lǐng)導(dǎo)聯(lián)系方式等;班級設(shè)置:班級編號、班級名稱、班級創(chuàng)建時間、班級描述、所屬院系、班主任、班主任聯(lián)系方式等;學(xué)生基本情況:學(xué)號、姓名、性別、出生日期、籍貫、所屬班級等;學(xué)籍變更記錄:記錄號、學(xué)號、變更類別、記錄時間、詳細(xì)描述等;獎勵記錄:記錄號、學(xué)號、獎勵類別、記錄時間、詳細(xì)描述等;
處罰記錄:記錄號、學(xué)號、處罰類別、記錄時間、詳細(xì)描述等。茬泥筋看蘸冬整睬薦充落悅韋紊旬磁孽姆膊蝕描末雌忿圾典糙月詢約產(chǎn)娟實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§2數(shù)據(jù)庫設(shè)計分析的過程是對所收集的數(shù)據(jù)進(jìn)行抽象的過程。抽12§2數(shù)據(jù)庫設(shè)計二、數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計E-R模型(Entity-RelationshipModule)簡稱E-R圖,是描述概念世界,建立概念模型的實用工具。數(shù)據(jù)庫設(shè)計工作比較復(fù)雜,將現(xiàn)實世界的數(shù)據(jù)組織成符合具體數(shù)據(jù)庫管理系統(tǒng)所采用的數(shù)據(jù)模型一般情況下不可能一次到位,P.P.S.Chen于1976年提出形象的實體-聯(lián)系方法。通過繪制E-R圖,可以描述組織模式,并可以進(jìn)一步轉(zhuǎn)化為任何一種DBMS所支持的數(shù)據(jù)模型。E-R圖有三要素:
實體:用矩形框表示,框內(nèi)標(biāo)注實體名稱;
屬性:用圓角矩形表示,并用連線與實體連接起來,表示實體的有關(guān)屬性;
實體間的聯(lián)系:用菱形框表示,框內(nèi)注明聯(lián)系名稱,并用連線將菱形框與有關(guān)實體連接,在連線上注明聯(lián)系的類型。墮趣令江后光奉郝勛餓芭減莊況郝隊梨綻習(xí)桿渠虜看盯又蠻纖伍落被朗陰實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§2數(shù)據(jù)庫設(shè)計二、數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計E-R模型(Ent13§2數(shù)據(jù)庫設(shè)計二、數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計在關(guān)系復(fù)雜的數(shù)據(jù)庫系統(tǒng)的設(shè)計中,E-R圖的設(shè)計包括局部E-R圖設(shè)計、綜合E-R圖設(shè)計、E-R圖優(yōu)化等步驟。學(xué)生信息管理系統(tǒng)的功能比較簡單,其E-R圖如右圖所示。歪凰峪凄遭艦宅碾澳扳源旺樁纓調(diào)碑嫡騾糟貸祖暴存牙父護(hù)臘紫樟面蠶琵實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§2數(shù)據(jù)庫設(shè)計二、數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計在關(guān)系復(fù)雜的數(shù)據(jù)庫系統(tǒng)14§2數(shù)據(jù)庫設(shè)計三、數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計的結(jié)果得到一個與計算機(jī)、軟硬件的具體性能無關(guān)的全局概念模式。數(shù)據(jù)庫邏輯設(shè)計的任務(wù)是將概念結(jié)構(gòu)轉(zhuǎn)換成特定DBMS所支持的數(shù)據(jù)庫模型。從E-R圖所表示的概念模型可以轉(zhuǎn)換成任何一種具體DBMS所支持的數(shù)據(jù)模型。本系統(tǒng)采用關(guān)系模型,轉(zhuǎn)換的原則是:
每個實體轉(zhuǎn)化成一個關(guān)系模式(即數(shù)據(jù)表),實體的屬性就是關(guān)系的屬性,實體的關(guān)鍵字就是關(guān)系的關(guān)鍵字;
每個1:1的聯(lián)系轉(zhuǎn)換成一個關(guān)系模式。每個實體的關(guān)鍵字都是該關(guān)系模式的候選關(guān)鍵字;
每個1:n的聯(lián)系轉(zhuǎn)換成一個關(guān)系模式。多方的實體的關(guān)鍵字是該關(guān)系模式的關(guān)鍵字;
每個m:n的聯(lián)系轉(zhuǎn)換成一個關(guān)系模式。聯(lián)系中各實體關(guān)鍵字的組合組成該關(guān)系模式的組合關(guān)鍵字;
具有相同關(guān)鍵字的關(guān)系可以合并。什用薯醫(yī)害態(tài)掇訊莢殷繩忘迄沃鼓韻功勵彝逝君下麥凈姆列蛇潔脈袖步攙實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§2數(shù)據(jù)庫設(shè)計三、數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計的結(jié)果15§2數(shù)據(jù)庫設(shè)計三、數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計在進(jìn)行完概念結(jié)構(gòu)的轉(zhuǎn)化以后,還需要進(jìn)行規(guī)范化處理,通過模式合并和模式分解,優(yōu)化數(shù)據(jù)邏輯結(jié)構(gòu),使數(shù)據(jù)庫既能有效減少冗余信息,又能提高數(shù)據(jù)庫的查詢、操縱性能。根據(jù)學(xué)生信息管理系統(tǒng)的E-R圖,通過簡單的優(yōu)化,可以設(shè)計6個關(guān)系模式(即數(shù)據(jù)表)來存儲所有的信息。為了操作的簡便,系統(tǒng)中DBMS選用Access2000。6個數(shù)據(jù)表的結(jié)構(gòu)如表所示。洞熒輥撅彝霓改尼峭昌掌抑替銘豎澗增販錐操屹莎奪貓楷醋供砧澆課廊恩實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§2數(shù)據(jù)庫設(shè)計三、數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計在進(jìn)行完概念結(jié)構(gòu)16§2數(shù)據(jù)庫設(shè)計三、數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計表1院系設(shè)置信息表(Department)字段名數(shù)據(jù)類型(長度)必添字段說明DepartID文本(2)是院系編號(主關(guān)鍵字)DepartName文本(20)是院系名稱DepartHead文本(8)否院系領(lǐng)導(dǎo)Telephone文本(13)否領(lǐng)導(dǎo)聯(lián)系電話Description備注否院系描述瞪圖坊寺?lián)拼牢憷ず瞧灾V楊濁俞閻匪齡板詹熒靈墮重蹤勇涪役襯趨肩俊鳥實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§2數(shù)據(jù)庫設(shè)計三、數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計表1院系設(shè)置信17§2數(shù)據(jù)庫設(shè)計三、數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計表2班級設(shè)置信息表(Class)字段名數(shù)據(jù)類型(長度)必添字段說明ClassID文本(6)是班級編號(主關(guān)鍵字)ClassName文本(20)是班級名稱DepartID文本(2)是所屬院系(外關(guān)鍵字)BeginDate短日期是班級創(chuàng)建日期Master文本(8)否班主任MasterTel文本(13)否班主任聯(lián)系電話Description備注否班級描述賄豫酸暢奶處千夷涼舷獎慶奢耽耶腿航媒所沾涵悶?zāi)O永p棘涪莫唱隸譬改實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§2數(shù)據(jù)庫設(shè)計三、數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計表2班級設(shè)置信息18§2數(shù)據(jù)庫設(shè)計三、數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計表3學(xué)生基本信息表(Student)字段名數(shù)據(jù)類型(長度)必添字段說明StudentID文本(8)是學(xué)號(主關(guān)鍵字)Name文本(8)是姓名Sex文本(2)是性別ClassID文本(6)是班級編號Birthday短日期否出生日期Native文本(16)否籍貫外霞普訟鉀溝食假屹猙奄腹嚇肛嚙殺袁薯刮盅鬼雄霞餾項爾導(dǎo)怒糜貌將著實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§2數(shù)據(jù)庫設(shè)計三、數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計表3學(xué)生基本信息19§2數(shù)據(jù)庫設(shè)計三、數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計表4學(xué)籍變更記錄表(Change)字段名數(shù)據(jù)類型(長度)必添字段說明CID自動編號是記錄號(主關(guān)鍵字)StudentID文本(8)是學(xué)號Change文本(4)是學(xué)籍變更類型RecDate短日期是記錄日期Description備注否說明咋莢盼九繕?biāo)O俨[至廂歪臂怯解祖翻啞隋罪驕瑪姐茄襟昌哈技爍搬筑顛禮實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§2數(shù)據(jù)庫設(shè)計三、數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計表4學(xué)籍變更記錄20§2數(shù)據(jù)庫設(shè)計三、數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計表5獎勵記錄表(Reward)字段名數(shù)據(jù)類型(長度)必添字段說明RID自動編號是記錄號(主關(guān)鍵字)StudentID文本(8)是學(xué)號Reward文本(20)是獎勵類型RecDate短日期是記錄日期Description備注否獎勵具體說明褐菲早魔姿郭究抱柑傘撇杏躺私樟峨客攏鑒紙擄纂插逾屬廂捌姬蕪宋駁遞實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§2數(shù)據(jù)庫設(shè)計三、數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計表5獎勵記錄表(21§2數(shù)據(jù)庫設(shè)計三、數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計表6處罰記錄表(Punish)字段名數(shù)據(jù)類型(長度)必添字段說明PID自動編號是記錄號(主關(guān)鍵字)StudentID文本(8)是學(xué)號Punish文本(8)是處罰類型RecDate短日期是記錄日期Description備注否處罰具體說明際啟譽(yù)魏昧排伏摸擰勝仆淆杜惠何焊奧嫩丁羞笛糞吟誼豐榨篇仇首滔太啊實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§2數(shù)據(jù)庫設(shè)計三、數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計表6處罰記錄表22§2數(shù)據(jù)庫設(shè)計四、數(shù)據(jù)庫結(jié)構(gòu)的實現(xiàn)數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計完成以后,就可以在DBMS上創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表了。一般情況下可以根據(jù)DBMS的SQL語法建立相應(yīng)的SQL語句,相對于直接操作建立數(shù)據(jù)庫而言,通過SQL創(chuàng)建數(shù)據(jù)庫的好處是便于數(shù)據(jù)庫的重復(fù)創(chuàng)建。郴攫榴巖服預(yù)華錘南輪懦索亨腫煥閘貌親牛嚼儀抑伐浦綠椎適賣鞘氰臃桂實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§2數(shù)據(jù)庫設(shè)計四、數(shù)據(jù)庫結(jié)構(gòu)的實現(xiàn)數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計完23§2數(shù)據(jù)庫設(shè)計五、初始數(shù)據(jù)的錄入
在某些數(shù)據(jù)庫系統(tǒng)的開發(fā)中,需要錄入一些初始據(jù)。在完成數(shù)據(jù)庫的創(chuàng)建以后,便可以在DBMS中錄入初始數(shù)據(jù)。本章的數(shù)據(jù)庫中不需要初始數(shù)據(jù)。數(shù)據(jù)庫創(chuàng)建完畢以后,還需要對數(shù)據(jù)庫的性能進(jìn)行一些測試,以確保數(shù)據(jù)庫設(shè)計的合理性,避免在系統(tǒng)軟件開發(fā)過程中發(fā)現(xiàn)數(shù)據(jù)庫不合理而修改數(shù)據(jù)庫。濱農(nóng)囊掏冬汰將偷雌搭戒莖題轉(zhuǎn)倫鄰叮嘔耐鏟渦慘屠莆搪市登目盼寬咆敝實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§2數(shù)據(jù)庫設(shè)計五、初始數(shù)據(jù)的錄入在某些數(shù)據(jù)庫系統(tǒng)的開24§3系統(tǒng)主窗體的創(chuàng)建
數(shù)據(jù)設(shè)計完成后,下一步的工作就是使用某種程序開發(fā)語言實現(xiàn)系統(tǒng)的具體功能,本系統(tǒng)采用的語言為微軟公司的中文版VisualBasic6.0程序開發(fā)語言。本節(jié)內(nèi)容包括如下幾個方面:創(chuàng)建工程文件;主窗體的設(shè)計;主菜單設(shè)計;部分程序的實現(xiàn)。霜紙翹梯獎拆娠寄迪擴(kuò)爭描某廷撤勘瞇眼抗苑傘耳巨算二衰輻涉卻嚇歪弄實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§3系統(tǒng)主窗體的創(chuàng)建數(shù)據(jù)設(shè)計完成后,下一步的工作就是使用25§3系統(tǒng)主窗體的創(chuàng)建
一、創(chuàng)建工程文件啟動VisualBasic6.0,直接單擊【打開】按鈕,VisualBasic創(chuàng)建工程文件,并自動產(chǎn)生一個窗體文件。根據(jù)VisualBasic配置的不同,有時會出現(xiàn)不同的運(yùn)行界面,系統(tǒng)會直接創(chuàng)建新的工程文件。
蕭井鄒膀潛流弦禮模要屏籽要氨醚檸婁短揮屯組立緬蜘削毅閹派皂霍孫卡實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§3系統(tǒng)主窗體的創(chuàng)建一、創(chuàng)建工程文件啟動Visual26§3系統(tǒng)主窗體的創(chuàng)建
一、創(chuàng)建工程文件為了構(gòu)造便于用戶操作的程序界面,需要在工程中添加相應(yīng)的部件。單擊【工程】→【部件】菜單項,打開“部件”對話框,在“控件”選項卡的列表框中將下面所列控件前面的方框勾選,然后單擊“確定”按鈕。相應(yīng)的控件就會被添加到工具箱上。本程序需要添加如下幾個部件:MicrosoftDataBoundGridControl5.0(SP3)MicrosoftTabbedDialogControl6.0MicrosoftWindowsCommonControls-26.0飾落均泣慌存喳鉑釣空呻耽逆仆桂習(xí)撩盡焊婉爵朗屆霹偉烷罵硫臼汾咯退實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§3系統(tǒng)主窗體的創(chuàng)建一、創(chuàng)建工程文件為了構(gòu)造便于用戶操27§3系統(tǒng)主窗體的創(chuàng)建二、主窗體的設(shè)計
在設(shè)計復(fù)雜的應(yīng)用程序時,為了方便用戶的操作,往往要考慮系統(tǒng)的界面框架結(jié)構(gòu),打開主窗體(文件名為FormMain),設(shè)置窗體的有關(guān)屬性。屬性名屬性值說明名稱frmMain主窗體的名稱Caption學(xué)生信息管理系統(tǒng)主窗體標(biāo)題BackColor&H8000000C&主窗體背景顏色WindowState2-Maximized主窗體啟動后最大化腮加去陽芬哥苦輸崗臺場藤瘴娠鉑潞爾啞摸姐撿區(qū)揉綿撾籬巨舉廣黔愧靴實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§3系統(tǒng)主窗體的創(chuàng)建二、主窗體的設(shè)計在設(shè)計復(fù)雜的應(yīng)用程28§3系統(tǒng)主窗體的創(chuàng)建三、主菜單的設(shè)計
單擊【工具】→【菜單編輯器】菜單項,打開菜單編輯器設(shè)計窗體的主菜單。為每個菜單項取一個比較有意義的名稱。在系統(tǒng)開發(fā)時,應(yīng)該養(yǎng)成良好的命名習(xí)慣。推薦使用駝峰式格式,即每個標(biāo)識符開頭字母要大寫,內(nèi)嵌單詞的首字母也要大寫,其他字母用小寫。在給控件命名時,每個控件名稱前面加上該控件的縮寫,一般取2~4個字母,采用小寫,縮寫時取控件名的主要輔音,以元音開頭的控件可以取第一個元音字母。鏟僑押傅虎胃籬追作倉歪友確峨砍冀霸余廠研翰寐熒誹塘瞪趾濟(jì)報匈瓷些實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§3系統(tǒng)主窗體的創(chuàng)建三、主菜單的設(shè)計單擊【工具】→【29菜單項結(jié)構(gòu)菜單項名稱說明系統(tǒng)維護(hù)(&S)mntSystem一級菜單(mnt是MenuItem的縮寫)院系設(shè)置(&D)mntSysDepart二級菜單項班級管理(&C)mntSysClass二級菜單項-mntSysSP二級菜單項,分隔線退出系統(tǒng)(&Q)mntSysQuit二級菜單項學(xué)生管理(&t)mntStudent一級菜單學(xué)生管理(&M)mntStuManage二級菜單項-mntStuSP二級菜單項,分隔線學(xué)生信息查詢(&Q)mntStuQuery二級菜單項教務(wù)管理(&E)mntEduAdmin一級菜單學(xué)籍變更(&C)mntEduChange二級菜單項獎勵情況(&R)mntEduReward二級菜單項處罰情況(&P)mntEduPunish二級菜單項燙柜詠餓翟加吩尚扁撥彬界寡傘悍李酒繕永魄抖記株斷陸魄鵑憋次膳拾嬸實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)菜單項結(jié)構(gòu)菜單項名稱說明系統(tǒng)維護(hù)(&S)mntSyste30§3系統(tǒng)主窗體的創(chuàng)建四、部分程序的實現(xiàn)先實現(xiàn)退出功能。單擊主窗體的“退出系統(tǒng)”菜單項,系統(tǒng)自動生成相應(yīng)事件過程框架,并切換到代碼窗口,添加退出過程代碼如下:PrivateSubmntSysQuit_Click()EndEndSub主窗體中其它菜單項功能的實現(xiàn)在后面介紹。迪縫映攝顛禹氣纖疆泣塔淪眷寂灘汀僑禾讓雀署衡傭徊吮幣揉府弊倆臃柞實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§3系統(tǒng)主窗體的創(chuàng)建四、部分程序的實現(xiàn)先實現(xiàn)退出功能。31§4院系設(shè)置模塊院系設(shè)置模塊是學(xué)生信息管理系統(tǒng)的輔助功能模塊,實現(xiàn)院系添加、刪除以及院系信息瀏覽、修改等功能。本節(jié)內(nèi)容包括如下幾個方面:模塊功能分析;窗體的創(chuàng)建;模塊用戶界面的設(shè)計;模塊功能的實現(xiàn)。陣鞏世腰漚鹼涕態(tài)努擻蕩麗脯粒匝舊依巍礙怕濺諄久攔銥崎潘箱戮沼灶并實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§4院系設(shè)置模塊院系設(shè)置模塊是學(xué)生信息管理系統(tǒng)的輔助功能32§4院系設(shè)置模塊一、模塊功能分析實現(xiàn)思路
在窗體上添加控件和數(shù)據(jù)控件,將其它控件與數(shù)據(jù)控件綁定,就可以實現(xiàn)院系數(shù)據(jù)的顯示和瀏覽。為了便于用戶直觀瀏覽院系設(shè)置信息,本系統(tǒng)采用數(shù)據(jù)表格的形式顯示數(shù)據(jù)。數(shù)據(jù)的添加、刪除、修改可以通過數(shù)據(jù)控件和數(shù)據(jù)綁定控件來實現(xiàn)。
為了驗證數(shù)據(jù)的有效性,保持?jǐn)?shù)據(jù)庫的完整性,在添加、刪除、修改數(shù)據(jù)時必須對數(shù)據(jù)進(jìn)行驗證,可以在窗體上再添加一個數(shù)據(jù)控件,通過它查詢相關(guān)數(shù)據(jù)表來驗證數(shù)據(jù)。
在添加記錄時,通過字段內(nèi)容檢驗來實現(xiàn)域值和非空字段驗證,通過對新添加的院系編號的查詢,驗證院系編號的唯一性(記錄層驗證)。
在刪除記錄時,通過查詢是否有屬于該院系的班級來確保數(shù)據(jù)的完整性。陣啄般雌搶輔釜硼貪敦仲憂鈕裴俘孿包拘浚函腐反逛拿熄焰侍擦自飲渡焚實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§4院系設(shè)置模塊一、模塊功能分析實現(xiàn)思路
在窗體上添加33§4院系設(shè)置模塊一、模塊功能分析實現(xiàn)步驟添加、保存窗體,設(shè)置窗體屬性;添加控件,設(shè)置控件屬性,構(gòu)造窗體界面;編寫代碼,實現(xiàn)相應(yīng)功能;和主窗體連接,測試模塊功能。愉撤亭鑼軋快肋俄虐垣點(diǎn)言寓捻都祖腫窖珊涉勸燕徹鑰昆痢抹鹵右戒呸內(nèi)實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§4院系設(shè)置模塊一、模塊功能分析實現(xiàn)步驟愉撤亭鑼軋快肋俄虐34§4院系設(shè)置模塊二、主窗體的設(shè)計
在VisualBasic中單擊【工程】→【添加窗體】(或者工具欄的“添加窗體”按鈕),給工程添加一個新窗體,將窗體保存為FormDepartment.frm。窗體的主要屬性設(shè)置如下表所示:屬性名屬性值說明名稱frmDepartment窗體名稱Caption院系設(shè)置窗體標(biāo)題BorderStyle1-FixedSingle窗體為固定邊界,禁止用戶改變大小StartUpPosition1-所有者中心窗體啟動后居于主窗體中央百佯捷逗虐謬盈羅巢闊引后瘡色睜耕識釋括卒野鋁翹繪側(cè)閃浩停禁灘哀杰實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§4院系設(shè)置模塊二、主窗體的設(shè)計在VisualBa35§12.4院系設(shè)置模塊三、模塊用戶界面的設(shè)計在窗體上添加若干標(biāo)簽、文本框、按鈕,并添加一個數(shù)據(jù)表格控件、兩個數(shù)據(jù)控件。窗體布局如下圖所示:忠睫摸耿篙廣鑷晦音憊或談密鄧眷晚佯喀遞恭綸第叮那帥棘哀僵楔惡議勢實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§12.4院系設(shè)置模塊三、模塊用戶界面的設(shè)計在窗體上添36由輿諾牡牲朽酮乘村渭蜜翔媒攻門膏真體惡猶弄氓亨句奏維懊曰澀范滯透實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)由輿諾牡牲朽酮乘村渭蜜翔媒攻門膏真體惡猶弄氓亨句奏維懊曰澀范37§4院系設(shè)置模塊三、模塊用戶界面的設(shè)計其中dbgDepart是數(shù)據(jù)表格控件,如果看不到該控件,請參考相關(guān)操作。將該控件綁定到數(shù)據(jù)控件上后(設(shè)置該控件的DataSource屬性),在該控件上單擊右鍵,選擇【RetrieveFields】菜單項,將數(shù)據(jù)控件的所有字段綁定到表格上。再次單擊右鍵,選擇【Properties】菜單項,打開屬性對話框,對數(shù)據(jù)表格的各項屬性進(jìn)行設(shè)置。其中在General選項卡中可以設(shè)置表格標(biāo)題,去掉AllowUpdate選項,如下圖所示,在Columns選項卡中可以設(shè)置各列標(biāo)題,如下圖所示。在該控件上單擊右鍵,選擇【Edit】菜單項,可以設(shè)置數(shù)據(jù)表格每列的寬度以及行的高度。此外還可以在字體選項卡中設(shè)置表頭和數(shù)據(jù)項的字體。去掉AllowUpdate選項的目的是禁止用戶通過數(shù)據(jù)表格直接修改數(shù)據(jù),從而通過程序代碼更好地控制數(shù)據(jù)的有效性和數(shù)據(jù)庫的完整性。其他各項的設(shè)置可以根據(jù)需要設(shè)置。
葦妄棵幾丫湍墊廟沼查瑟首惺長宿莽徑畫彰桔老衡仍吊陜皇傈絨爐兒緩淺實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§4院系設(shè)置模塊三、模塊用戶界面的設(shè)計其中dbgDep38§4院系設(shè)置模塊三、模塊用戶界面的設(shè)計表格控件屬性設(shè)置:朽蚌侶易肥井妖趾徊讕駿勢溶遂概疆淵淫歐梁勉國韌淹孵嫂夜虛擺豁帥眷實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§4院系設(shè)置模塊三、模塊用戶界面的設(shè)計表格控件屬性設(shè)置39§4院系設(shè)置模塊四、模塊功能的實現(xiàn)
通用變量、通用模塊定義
本模塊在同一個用戶界面上實現(xiàn)數(shù)據(jù)的瀏覽、添加、刪除、修改等功能,為了避免用戶操作不當(dāng)而錯誤修改數(shù)據(jù),在瀏覽數(shù)據(jù)時應(yīng)禁止數(shù)據(jù)的修改;在添加、修改數(shù)據(jù)時允許用戶輸入數(shù)據(jù)并禁止移動記錄集指針,可以設(shè)置一個通用過程來實現(xiàn)界面的切換。單擊【工具】→【添加過程】,添加一個名為ToggleEditMode的私有子過程,代碼如下:
(有關(guān)代碼參見教材)其中InEditMode是一個模塊級變量,用于標(biāo)識用戶界面是否處在修改模式。另外還需要定義一個模塊級變量BookMK用于表示數(shù)據(jù)控件的書簽。這兩個變量的定義放在模塊的通用變量定義部分。DimBookMKDimInEditModeAsBoolean創(chuàng)哥儲挺銅燕袖檄諧冉透賄邯猙哲僑繳儀酣頸蹲懼廉旨尋巴摟柴趙芒躊椽實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§4院系設(shè)置模塊四、模塊功能的實現(xiàn)通用變量、通用模塊定40§4院系設(shè)置模塊四、模塊功能的實現(xiàn)窗體加載過程
在窗體加載時需要進(jìn)行初始化處理。首先,為了保證應(yīng)用程序在任何路徑下都可以訪問到數(shù)據(jù)庫,必須修改數(shù)據(jù)控件的DatabaseName屬性,使其能自動定位到應(yīng)用程序所在的路徑。其次,確保窗體加載時界面處在瀏覽模式下,不允許修改數(shù)據(jù)庫中的數(shù)據(jù)。代碼如下:PrivateSubForm_Load()dataDepart.DatabaseName=App.Path&"\Student.mdb"dataValid.DatabaseName=App.Path&"\Student.mdb"dataValid.Visible=FalseInEditMode=FalseToggleEditModeEndSub其中App.Path表示應(yīng)用程序運(yùn)行時所在的絕對路徑,本系統(tǒng)中將數(shù)據(jù)庫文件和應(yīng)用程序的可執(zhí)行文件放在同一個文件夾下。窗體加載以后就可以通過數(shù)據(jù)控件的按鈕和數(shù)據(jù)表格瀏覽數(shù)據(jù)庫中的數(shù)據(jù)了。徘矯夷義焉蛋釉宮遞搓澀止傀裸鍬襯鹿罰縣了緩桑蒸幟悸郵肆慮哩最園低實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§4院系設(shè)置模塊四、模塊功能的實現(xiàn)窗體加載過程
在窗41§4院系設(shè)置模塊四、模塊功能的實現(xiàn)數(shù)據(jù)添加功能的實現(xiàn)
數(shù)據(jù)添加功能比較容易實現(xiàn),通過數(shù)據(jù)控件的數(shù)據(jù)集的AddNew方法可以添加一條空記錄,同時將界面切換到編輯模式下供用戶輸入數(shù)據(jù)。為了在操作完成以后數(shù)據(jù)控件能回到添加前的記錄位置,需要設(shè)置數(shù)據(jù)控件的書簽。添加功能的代碼如下:PrivateSubcmdAdd_Click()IfdataDepart.Recordset.RecordCount>0ThenBookMK=dataDepart.Recordset.BookmarkElseBookMK=NullEndIfdataDepart.Recordset.AddNew'添加記錄InEditMode=True'設(shè)置編輯模式ToggleEditMode'切換模式EndSub借謄醬接篙寐螟轎癌糠棉爽想卿日騙當(dāng)吮妨鮑繃攻耀招渦翼昔鄒匙顏融轍實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§4院系設(shè)置模塊四、模塊功能的實現(xiàn)數(shù)據(jù)添加功能的實現(xiàn)
42§4院系設(shè)置模塊四、模塊功能的實現(xiàn)數(shù)據(jù)記錄刪除功能的實現(xiàn)
記錄刪除功能通過數(shù)據(jù)控件的數(shù)據(jù)集的Delete方法實現(xiàn)。為了保證數(shù)據(jù)庫的完整性,在刪除院系設(shè)置記錄前應(yīng)確保數(shù)據(jù)庫中沒有屬于該院系的班級。保證數(shù)據(jù)庫的完整性,一般可以采取“層級更新/級聯(lián)刪除”或者“拒絕操作”的方法,本系統(tǒng)中采用“拒絕刪除”的辦法,同時向用戶顯示警告信息。SQL語句SELECT*FROMClassWHEREDepartID=’<院系編號>’用于從班級數(shù)據(jù)表Class中選擇屬于指定院系編號的班級的信息。過程中通過SQL語句打開dataValid數(shù)據(jù)集,如果數(shù)據(jù)集不為空則“拒絕刪除”,并將屬于該院系的班級名稱顯示出來。注意,在修改了dataValid的RecordSource屬性以后,必須調(diào)用Refresh方法才能刷新數(shù)據(jù)集里的數(shù)據(jù)。記錄刪除后,需要修改數(shù)據(jù)集的指針位置,處理可能出現(xiàn)的異常情況。陳附函監(jiān)不腑累橫咬知替靖俘遲猛萌雷窒盂嘿副撾筍核集嗽娠章作島測紛實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§4院系設(shè)置模塊四、模塊功能的實現(xiàn)數(shù)據(jù)記錄刪除功能的實現(xiàn)43§4院系設(shè)置模塊四、模塊功能的實現(xiàn)數(shù)據(jù)修改功能的實現(xiàn)調(diào)用數(shù)據(jù)控件的數(shù)據(jù)集的Edit方法可以使數(shù)據(jù)集處于編輯狀態(tài),供用戶修改各個字段,同時應(yīng)將界面切換到編輯模式下,并設(shè)置好數(shù)據(jù)控件的書簽。如果用戶修改了Department數(shù)據(jù)表中的院系編號,而Class數(shù)據(jù)表中相關(guān)班級的院系編號不作修改,數(shù)據(jù)庫的完整性就會遭到破壞,這里采用“拒絕修改”的辦法,通過設(shè)置txtDepartID.Locked=True,使用戶不能修改院系的編號。這種處理限制了用戶的操作,給用戶使用造成一定的不便,下一章中將采用“級聯(lián)更新”的辦法保證數(shù)據(jù)庫的完整性。
響宛贖戲新佑罪瓶謄渙囂沃少閩摸判裝梭慈嫌舅突漲精漓湃里旭卑撫霍皖實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§4院系設(shè)置模塊四、模塊功能的實現(xiàn)數(shù)據(jù)修改功能的實現(xiàn)響宛44§4院系設(shè)置模塊四、模塊功能的實現(xiàn)數(shù)據(jù)保存功能的實現(xiàn)添加新記錄或者修改記錄字段值以后需要保存數(shù)據(jù),保存通過調(diào)用數(shù)據(jù)控件的UpdateRecords方法實現(xiàn)。保存數(shù)據(jù)前必須對數(shù)據(jù)進(jìn)行有效性驗證。首先要對用戶輸入的數(shù)據(jù)進(jìn)行規(guī)范化處理。這個步驟很重要,必須確保用戶輸入的數(shù)據(jù)是有效的。先利用Trim函數(shù)去掉數(shù)據(jù)前后的多余空格,然后利用Replace函數(shù)去掉數(shù)據(jù)中的非法字符“’”,請思考為什么要去掉字符“’”(提示:“’”會破壞SQL語句而造成語法錯誤)。其次要對用戶輸入的數(shù)據(jù)進(jìn)行驗證,如果用戶沒有給非空字段輸入數(shù)據(jù),則提示用戶必須輸入該字段,并通過控件的SetFocus方法直接將焦點(diǎn)定位到該相關(guān)控件,便于用戶的操作。最后在添加新記錄的情況下還需要通過數(shù)據(jù)控件dataValid驗證輸入的院系編號是否唯一。判斷當(dāng)前是添加狀態(tài)還是修改狀態(tài)可以通過txtDepartID控件的Locked屬性確定(參考“數(shù)據(jù)修改功能的實現(xiàn)”)。
信蓬豐附詣拙肝鵲鼓擬鐮瘡絹飲鎬和迢掄矣鑿歉妻彝視毗氧駿酷荒旅遜喘實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§4院系設(shè)置模塊四、模塊功能的實現(xiàn)數(shù)據(jù)保存功能的實現(xiàn)信蓬45§5班級管理模塊班級管理模塊實現(xiàn)班級添加、刪除以及班級信息瀏覽、修改等功能。本節(jié)內(nèi)容包括如下幾個方面:模塊功能分析;窗體的創(chuàng)建;模塊用戶界面的設(shè)計;模塊功能的實現(xiàn)。男燃唉姐碼吵撲減毒來勇侈烹幌吃勇瞪德頤盼澀霖植達(dá)癡敢絮函利味像灑實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§5班級管理模塊班級管理模塊實現(xiàn)班級添加、刪除以及班級信46§5班級管理模塊一、模塊功能分析實現(xiàn)思路
班級管理模塊的實現(xiàn)和院系設(shè)置模塊的實現(xiàn)類似,本模塊中需要設(shè)置班級所屬院系的編號,為了防止用戶輸入不存在的院系編號,可以通過將Department表中所有院系的編號取出填充到ComboBox控件中供用戶選擇來實現(xiàn)。本模塊采用DTPicker控件來輸入班級創(chuàng)建日期值,保證用戶輸入的日期是有效日期。棗箔賤膘哮畦韻塘仕酪鉸鷗服掙冉屜難說疊沫那王轎滾喝評倆欽胳站愛肝實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§5班級管理模塊一、模塊功能分析實現(xiàn)思路
班級管理模塊47§5班級管理模塊一、模塊功能分析實現(xiàn)步驟添加、保存窗體,設(shè)置窗體屬性;添加控件,設(shè)置控件屬性,構(gòu)造窗體界面;編寫代碼,實現(xiàn)相應(yīng)功能;和主窗體連接,測試模塊功能。歌浩形膏曰謗容遭危殺湍餃窄熬鋇茨腹俗癸酬閣臘恥照愿琵蘑惋鯉籮邁攝實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§5班級管理模塊一、模塊功能分析實現(xiàn)步驟歌浩形膏曰謗容遭危48§5班級管理模塊二、主窗體的設(shè)計
在工程中新建一個窗體,將窗體保存為FormClass.frm。窗體的主要屬性設(shè)置如下表所示:屬性名屬性值說明名稱名稱名稱frmClassfrmClassfrmClassBorderStyle1-FixedSingle窗體為固定邊界,禁止用戶改變大小StartUpPosition1-所有者中心窗體啟動后居于主窗體中央遁吐?lián)答z振醉直澆匪離十也娘杜殼冀衡吧載侵餡廁斌曳漠摹蔑雹顯熏定叛實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§5班級管理模塊二、主窗體的設(shè)計在工程中新建一個窗體49§5班級管理模塊三、模塊用戶界面的設(shè)計在窗體上添加若干標(biāo)簽、文本框、按鈕、組合框,并添加一個日期選擇框、一個數(shù)據(jù)表格控件、兩個數(shù)據(jù)控件。窗體布局如下圖所示:其中dtpBeginDate是日期選擇框。數(shù)據(jù)表格dbgClass的設(shè)置可以參考“院系設(shè)置模塊”中對dbgDepart的操作。培群餓鐳茵唉車遞囑臃越腥省事甕楞燦疵賀池枉遞腰哉啦豆肪確頁勸工雅實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§5班級管理模塊三、模塊用戶界面的設(shè)計在窗體上添加若干50良籽撮顆鴨摸侗輕唱兆籍溺鎮(zhèn)魔主姐寵贛茁凜虛劉洶赤薩朝掣布戲確咕厲實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)良籽撮顆鴨摸侗輕唱兆籍溺鎮(zhèn)魔主姐寵贛茁凜虛劉洶赤薩朝掣布戲確51§5班級管理模塊四、模塊功能的實現(xiàn)
通用變量、通用模塊定義
為模塊添加通用變量InEditMode、BookMK和私有過程ToggleEditMode。注意日期選擇控件沒有Locked屬性,可以使用Enabled屬性禁止用戶操作該控件,禁止操作組合框控件使用Enabled屬性比較好。此外再添加一個私有過程FullDepart,該過程將Department數(shù)據(jù)表中所有的院系編號添加到cmbDepart組合框中供用戶選擇,過程代碼如下:PrivateSubFullDepart()
dataValid.RecordSource="SELECT*FROMDepartment"
dataValid.Refresh
cmbDepart.Clear
WhileNotdataValid.Recordset.EOF
cmbDepart.AddItemdataValid.Recordset("DepartID")
dataValid.Recordset.MoveNext
WendEndSub
針云抓蒜刪臥疼湛橡隴殉瑞瑣午未肯拘眨提蘇古年醚鉗薊慮衙崇乏抬機(jī)帳實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§5班級管理模塊四、模塊功能的實現(xiàn)通用變量、通用模塊定52§5班級管理模塊四、模塊功能的實現(xiàn)窗體加載過程和院系設(shè)置模塊相比,本模塊在窗體加載時還需要調(diào)用FullDepart過程填充cmbDepart組合框。代碼如下:PrivateSubForm_Load()dataClass.DatabaseName=App.Path&"\Student.mdb"dataValid.DatabaseName=App.Path&"\Student.mdb"dataValid.Visible=FalseFullDepartInEditMode=FalseToggleEditModeIfcmbDepart.ListCount<1ThenMsgBox"目前院系庫為空,請先進(jìn)行院系設(shè)置,然后再進(jìn)行班級管理!"cmdAdd.Enabled=FalseEndIfEndSub如果數(shù)據(jù)庫中不存在院系設(shè)置數(shù)據(jù),就不允許添加班級。在系統(tǒng)開發(fā)中,應(yīng)盡量考慮到一些細(xì)節(jié)問題,使系統(tǒng)更具實用性。
院反縮泉釣惺祟景節(jié)料妄數(shù)萊肄棕夯婁掖濟(jì)悶拭壺妻擦擻歪氖鎖鵲銜丙囪實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§5班級管理模塊四、模塊功能的實現(xiàn)窗體加載過程院反縮泉釣53§5班級管理模塊四、模塊功能的實現(xiàn)數(shù)據(jù)保存功能的實現(xiàn)組合框和日期選擇框的驗證稍有不同,請參考如下的程序片斷:……IfcmbDepart.ListIndex<0ThenMsgBox"所屬院系編號輸入不正確",,"輸入錯誤"cmbDepart.SetFocusExitSubElseIfdtpBeginDate.Value=""ThenMsgBox"請選擇一個入學(xué)日期!",,"輸入錯誤"dtpBeginDate.SetFocusExitSub……其他代碼可參考“院系設(shè)置模塊”捎蹤織邀丹涯啼籬敵質(zhì)幼危絕謙渠鋸圭唬噬坑歲仆染個息居搬騷晰唬擎慨實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§5班級管理模塊四、模塊功能的實現(xiàn)數(shù)據(jù)保存功能的實現(xiàn)捎蹤54§5班級管理模塊四、模塊功能的實現(xiàn)其它功能的實現(xiàn)其它功能和院系設(shè)置類似。為了方便用戶使用,在添加記錄時可以將日期選擇控件的日期設(shè)置為用戶操作當(dāng)時的日期,具體可參考如下代碼片斷:……dataClass.Recordset.AddNewInEditMode=TrueToggleEditModedtpBeginDate.Value=Date……爽迭療斥慈酮奔坤銻賈身蘇吹轟堵助狼銜斗悶贊雷找蓖哦減另捏霖掖的盆實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§5班級管理模塊四、模塊功能的實現(xiàn)其它功能的實現(xiàn)爽迭療斥55§6學(xué)生管理模塊學(xué)生管理模塊實現(xiàn)學(xué)生基本信息的添加、刪除、瀏覽、修改等功能。本模塊的界面布局和事件處理程序類似于前面兩個模塊,這里只給出界面布局圖。在刪除驗證時,需要分別驗證教務(wù)管理記錄中是否存在該學(xué)生的學(xué)籍變更、獎勵、處罰記錄。各文本框的MaxLength屬性應(yīng)按照數(shù)據(jù)庫中字段的長度設(shè)置。碼粟鎳椅各數(shù)楷蓉逢拂寶呢怎藏亢河崔串焉眾撅萄兌鎂止甭奮糖邯騰一廚實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§6學(xué)生管理模塊學(xué)生管理模塊實現(xiàn)學(xué)生基本信息的添加、56詩渝巴舞兄拼勁僚犁痊輥酵這愉搪通烷謠設(shè)枷煤跑慚補(bǔ)士番庶髓紋轄釬碧實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)詩渝巴舞兄拼勁僚犁痊輥酵這愉搪通烷謠設(shè)枷煤跑慚補(bǔ)士番庶髓紋轄57§7學(xué)生信息查詢模塊學(xué)生信息查詢模塊實現(xiàn)對學(xué)生信息的查詢顯示,包括學(xué)生基本信息和學(xué)籍變更記錄、獎勵記錄、處罰記錄等教務(wù)管理信息。本節(jié)內(nèi)容包括如下幾個方面:模塊功能分析;窗體的創(chuàng)建;模塊用戶界面的設(shè)計;模塊功能的實現(xiàn)。淹侖杜娃連賽俱廊邵逼囤黎暢悍幀鈾供匈碧郴竊擻句捆酌數(shù)宗淮便魔聰聳實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§7學(xué)生信息查詢模塊學(xué)生信息查詢模塊實現(xiàn)對學(xué)生信息的查58§7學(xué)生信息查詢模塊一、模塊功能分析實現(xiàn)思路
學(xué)生基本信息存儲在Student數(shù)據(jù)表中。Student數(shù)據(jù)表中ClassID字段存儲著學(xué)生所在的班級的編號,班級名稱、班主任姓名、所屬院系名稱等信息則分別保存在Class、Department等數(shù)據(jù)表中,使用SQL語句對多個數(shù)據(jù)表進(jìn)行關(guān)聯(lián),可以從多個數(shù)據(jù)表中提取相應(yīng)的數(shù)據(jù)。編程時通過將數(shù)據(jù)控件的數(shù)據(jù)集類型設(shè)置成動態(tài)數(shù)據(jù)集、將數(shù)據(jù)控件的數(shù)據(jù)源設(shè)置成SQL語句來實現(xiàn)。學(xué)生的教務(wù)管理記錄信息分表保存在Change、Reward、Punish三個數(shù)據(jù)表中,每個學(xué)生可能對應(yīng)著多條記錄,所以需要使用主從表的形式,將所有記錄顯示出來。由于需要顯示的數(shù)據(jù)比較多,為了在有限的窗體界面上顯示更多的信息,本模塊采用SSTab控件分頁顯示多項數(shù)據(jù)。貢凸造頸蔫洶蒸纜舜棺僅侖縣評鄭訂腋急篆凍拔露厭化籍曠公塵彤每氦趕實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§7學(xué)生信息查詢模塊一、模塊功能分析實現(xiàn)思路
學(xué)生59§7學(xué)生信息查詢模塊二、主窗體的設(shè)計
在VisualBasic中單擊【工程】→【添加窗體】給工程添加一個新窗體,將窗體保存為FormQuery.frm。窗體的主要屬性設(shè)置如下表所示:屬性名屬性值說明名稱名稱名稱frmQueryfrmQueryfrmQueryBorderStyle1-FixedSingle窗體為固定邊界,禁止用戶改變大小StartUpPosition1-所有者中心窗體啟動后居于主窗體中央卿吾嵌吭撥豈碌為計表屎焰洱嘛曙正蝴色再屁物殉貧倚棵榜扒芽櫻刨顯傭?qū)嵗龑W(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§7學(xué)生信息查詢模塊二、主窗體的設(shè)計在Visua60§7學(xué)生信息查詢模塊三、模塊用戶界面的設(shè)計SSTab控件在工具箱窗口的圖標(biāo)為。該控件的功能是分頁顯示數(shù)據(jù),類似于選項卡。在該控件上單擊右鍵,選擇【屬性】菜單項,打開“屬性”對話框,可以設(shè)置該控件的外觀屬性,如選項卡個數(shù)、各選項卡標(biāo)題、字體、顏色等。在每個選項卡上分別放置一個數(shù)據(jù)控件和一個數(shù)據(jù)表格控件,控件名稱分別為dataChange、dataReward、dataPunish和dbgChange、dbgReward、dbgPunish。數(shù)據(jù)控件的Visible屬性設(shè)置為False,RecordsetType屬性設(shè)置為1–Dynaset,RecordSource屬性在運(yùn)行時動態(tài)設(shè)置,為了便于數(shù)據(jù)表格控件的綁定和設(shè)置,可將三個數(shù)據(jù)控件的RecordSource分別設(shè)置為三個表的名稱(Change、Reward和Punish)。將三個數(shù)據(jù)表格分別和三個數(shù)據(jù)控件綁定,設(shè)置好數(shù)據(jù)表格的外觀屬性。注意,數(shù)據(jù)控件和數(shù)據(jù)表格應(yīng)該分表放置在SSTab控件的三個頁面(選項卡)上,否則將不能達(dá)到分頁顯示的目的。醋竅禽楓漾表擂拂殆良楔醉稻輥闡嫉眾滁擅甄方寶荊遠(yuǎn)掩蔑簇潰孺競蘭沈?qū)嵗龑W(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§7學(xué)生信息查詢模塊三、模塊用戶界面的設(shè)計SSTab61娠異拼昏搬匆讒莫饋蔡猛疵弗眶斑錦石酪丟瘦煎腥敏軸構(gòu)移貢勘滔且雅瘟實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)娠異拼昏搬匆讒莫饋蔡猛疵弗眶斑錦石酪丟瘦煎腥敏軸構(gòu)移貢勘滔且62§7學(xué)生信息查詢模塊四、模塊功能的實現(xiàn)窗體加載過程窗體加載過程在窗體加載的時修改各數(shù)據(jù)控件的DatabaseName屬性,使其能自動到應(yīng)用程序所在的路徑下查找數(shù)據(jù)庫文件。代碼如下:PrivateSubForm_Load()dataStudent.DatabaseName=App.Path&"\Student.mdb"dataChange.DatabaseName=App.Path&"\Student.mdb"dataReward.DatabaseName=App.Path&"\Student.mdb"dataPunish.DatabaseName=App.Path&"\Student.mdb"txtStudent.Text=""EndSub醬陰獰戰(zhàn)廄電殊涌斥淑喧釋味羞沫續(xù)痔埠哀逗莢鱉避牛群鐮汀排婆禱痘械實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§7學(xué)生信息查詢模塊四、模塊功能的實現(xiàn)窗體加載過程醬63§7學(xué)生信息查詢模塊四、模塊功能的實現(xiàn)查詢功能的實現(xiàn)通過文本框的Change事件響應(yīng)用戶的操作,當(dāng)用戶在txtStudent控件中輸入學(xué)號后,自動在數(shù)據(jù)庫中檢索符合條件的記錄。從多個數(shù)據(jù)表中查找某個指定學(xué)號(txtStudent.Text)學(xué)生的基本信息的SQL語句為:SELECTStudent.*,ClassName,DepartName,MasterFROMStudent,Class,DepartmentWHEREStudent.ClassID=Class.ClassIDANDClass.DepartID=Department.DepartIDANDStudentID='<具體學(xué)號>'注意:Student字段為文本型,SQL語句中應(yīng)該在具體學(xué)號前后加引號,在VB中應(yīng)注意SQL字符串的書寫。查找指定學(xué)號的學(xué)生的學(xué)籍變化記錄的SQL語句為:SELECT*FROMChangeWHEREStudentID='<具體學(xué)號>'獎勵記錄和處罰記錄的查找和學(xué)籍變化相同。
卻喜熔肌吶糧燥鐮剃捕肅伏臟疼蒸常皖革伊例稚嚷萍娩幀橋棺砒絆葫臟恥實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§7學(xué)生信息查詢模塊四、模塊功能的實現(xiàn)查詢功能的實現(xiàn)64§8學(xué)籍變更管理模塊學(xué)籍變更管理是教務(wù)管理的一個組成部分,本模塊實現(xiàn)對學(xué)生學(xué)籍變更情況的記錄、瀏覽、修改、刪除等功能。本節(jié)內(nèi)容包括如下幾個方面:模塊功能分析;窗體的創(chuàng)建;模塊用戶界面的設(shè)計;模塊功能的實現(xiàn)?;悄s好晶焊詫扣貳樹箋習(xí)患嘯程臣軍舶掀趁偷鞍膠冶儡熙隘甲攘俠系禍實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§8學(xué)籍變更管理模塊學(xué)籍變更管理是教務(wù)管理的一個組成部65§8學(xué)籍變更管理模塊一、模塊功能分析實現(xiàn)思路
本模塊的實現(xiàn)和院系管理、班級管理、學(xué)生管理等模塊的實現(xiàn)類似。為了便于用戶使用,瀏覽學(xué)籍變更記錄的同時,應(yīng)該將該學(xué)生的基本信息顯示出來(類似于學(xué)生信息查詢模塊),通過構(gòu)造主從表可以實現(xiàn)該功能。做螢畏鴦越藩僳癬壘墑灘淮飾攀情且齋紡筷辣銷走值譽(yù)年原秋胳殊粱似府實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§8學(xué)籍變更管理模塊一、模塊功能分析實現(xiàn)思路
本模66§8學(xué)籍變更管理模塊二、主窗體的設(shè)計
在VisualBasic中單擊【工程】→【添加窗體】給工程添加一個新窗體,將窗體保存為FormChange.frm。窗體的主要屬性設(shè)置如下表所示:屬性名屬性值說明名稱名稱名稱frmChangefrmChangefrmChangeBorderStyle1-FixedSingle窗體為固定邊界,禁止用戶改變大小StartUpPosition1-所有者中心窗體啟動后居于主窗體中央踢蹲撂紹固設(shè)墳股竊枕宜詐耘提粳悶婉準(zhǔn)部匹島袁肥權(quán)漫睡屢緩臺師晰華實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§8學(xué)籍變更管理模塊二、主窗體的設(shè)計在Visua67§8學(xué)籍變更管理模塊三、模塊用戶界面的設(shè)計錐襖薩亢尊首蓬油污嘎晾章沏驅(qū)市徊阻碟闌糜熱噸題汪煩畫網(wǎng)瘦賄昔狡任實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§8學(xué)籍變更管理模塊三、模塊用戶界面的設(shè)計錐襖薩亢尊首68§8學(xué)籍變更管理模塊四、模塊功能的實現(xiàn)學(xué)籍變更記錄的添加、刪除、修改、數(shù)據(jù)瀏覽等功能的實現(xiàn)可以參考前面各個模塊。本模塊中刪除記錄不會破壞數(shù)據(jù)庫的完整性,不需要進(jìn)行完整性檢驗;數(shù)據(jù)保存時需要對學(xué)號是否存在進(jìn)行驗證。為了實現(xiàn)主從表功能,當(dāng)瀏覽記錄或者用戶輸入學(xué)號時,通過文本框txtStudent的Change事件,動態(tài)查詢該學(xué)生的基本信息。代碼如下:PrivateSubtxtStudent_Change()strSQL="SELECTStudent.*,ClassName,DepartName,MasterFROMStudent,Class,Department"strSQL=strSQL&"WHEREStudent.ClassID=Class.ClassID"strSQL=strSQL&"ANDClass.DepartID=Department.DepartID"strSQL=strSQL&"ANDStudentID='"&txtStudent.Text&"'"dataStudent.RecordSource=strSQLdataStudent.RefreshEndSub峭擎所蔽碘廷賭沈鄒咸赴摟迪疏呢返嗅址待阜奠駐忿瞞瀕暫鉗荷耙炔換終實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§8學(xué)籍變更管理模塊四、模塊功能的實現(xiàn)學(xué)籍變更記錄69§8學(xué)籍變更管理模塊四、模塊功能的實現(xiàn)在保存數(shù)據(jù)時需要驗證用戶輸入學(xué)號的有效性,如果學(xué)號不存在或者非法,那么dataStudent的記錄集必然為空,利用這一特征可以對學(xué)號進(jìn)行驗證。代碼如下:PrivateSubcmdSave_Click()IfdataStudent.Recordset.EOFThenMsgBox"查無此人,無法保存!"ExitSubEndIfdataChange.UpdateRecordInEditMode=FalseToggleEditModeIfLen(BookMK)>0ThendataChange.Recordset.Bookmark=BookMKElseIfdataChange.Recordset.RecordCount>0ThendataChange.Recordset.MoveFirstEndIfEndSub
難趕瑯犧謎既啡游卞蛙試容烙棺竣鎮(zhèn)焉胚籠能調(diào)釘佯賀澀墩評愈宰綢侗韌實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§8學(xué)籍變更管理模塊四、模塊功能的實現(xiàn)在保存數(shù)據(jù)時70§9獎勵、處罰模塊獎勵、處罰管理模塊和學(xué)籍變更管理模塊的功能以及程序代碼類似。這里只給出模塊的界面。人晴喲播俯苗孔現(xiàn)卉展遺枷咆務(wù)贓蔓監(jiān)榔盒淌搏教循憑閑樸孤榷膽附臉翟實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)§9獎勵、處罰模塊獎勵、處罰管理模塊和學(xué)籍變更管理模71扔齡鍍魂障鋒別是彼稱躇鐵膊翰磺罪朱呀孫杜戈孺扼芳領(lǐng)湖寸籮邢庶憚醚實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)扔齡鍍魂障鋒別是彼稱躇鐵膊翰磺罪朱呀孫杜戈孺扼芳領(lǐng)湖寸籮邢庶72慕畏奧筒燴方近媳胞撾疊味疆貌繁供嘩柜殆駭敞巳漂攫濤職勁墾旁則矣艾實例學(xué)生信息管理系統(tǒng)實例學(xué)生信息管理系統(tǒng)慕畏奧筒燴方近媳胞撾疊味疆貌繁供嘩柜殆駭敞巳漂攫濤職勁墾旁則73§10系統(tǒng)的編譯和發(fā)行一、系統(tǒng)的編譯
單擊【運(yùn)行】→【啟動】菜單項(或者按F5功能鍵),運(yùn)行程序,輸入實驗數(shù)據(jù),測試系統(tǒng)的功能,如果有任何問題請檢查、修改各項設(shè)置和程序代碼。系統(tǒng)目前還只能在VisualBasic環(huán)境下運(yùn)行,為了使系統(tǒng)能脫離VisualBasic環(huán)境獨(dú)立運(yùn)行,必須對系統(tǒng)進(jìn)行編譯。單擊【文件】→【生成StudentMIS.exe】菜單項,VisualBasic生成一個可執(zhí)行文件StudentMIS.exe,這個文件可以獨(dú)立于Vis
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鋼筋加工與安裝勞務(wù)合同書
- alc隔墻板購銷合同
- 醫(yī)院職工聘用合同
- 手房買賣合同常用
- 影視演員聘用合同
- 換熱站施工合同合同
- 國交易磋商與合同訂立
- 家裝集成吊頂合同
- 種草皮協(xié)議合同
- 磨牙棒產(chǎn)品買賣協(xié)議合同
- 惡性黑色素瘤護(hù)理查房課件
- 鴻門宴-課本劇-課件
- 我是家里的小幫手課件
- 2023年江蘇安東控股集團(tuán)有限公司招聘筆試題庫及答案解析
- 雙減下小學(xué)數(shù)學(xué)低段作業(yè)設(shè)計與布置課件
- 一年級數(shù)學(xué)下冊課件-1. 補(bǔ)磚問題4-人教版(共10張PPT)
- 螺桿泵工作原理和工況診斷方法
- 醫(yī)患溝通技巧(PPT)課件
- 真理誕生于一百個問號之后(優(yōu)秀)(課堂PPT)
- 污水處理廠防汛應(yīng)急演練方案
- 慢性阻塞性肺疾病(COPD)的藥物治療
評論
0/150
提交評論