版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、課程設(shè)計報告課程名稱 數(shù)據(jù)庫系統(tǒng)原理 設(shè)計題目 學生學籍管理系統(tǒng) 學生姓名 學 號 專業(yè)班級 指導教師 2012 年 12 月 22 日 目錄1.系統(tǒng)概述31.1開發(fā)目的和背景31.2開發(fā)環(huán)境和技術(shù)32.系統(tǒng)分析.5 2.1系統(tǒng)需求分析.5 2.2功能需求分析52.3.劃分功能模塊73.數(shù)據(jù)流程分析83.1數(shù)據(jù)流程圖83.2數(shù)據(jù)流程字典94.數(shù)據(jù)庫設(shè)計 12 4.1概念結(jié)構(gòu)設(shè)計.12 4.2邏輯結(jié)構(gòu)設(shè)計13 4.3物理結(jié)構(gòu)設(shè)計145.應(yīng)用程序設(shè)計16 5.1用戶界面設(shè)計及相關(guān)程序代碼16 5.2運行結(jié)果286.心得體會327.參考文獻331. 系統(tǒng)概述 1.1開發(fā)目的和背景這次實驗的主要目標是
2、能利用課程中學習到的數(shù)據(jù)庫知識與技術(shù)較好地開發(fā)設(shè)計出數(shù)據(jù)庫應(yīng)用系統(tǒng),去解決各行各業(yè)信息化處理的要求。本實驗主要在于實現(xiàn)一個通用學籍管理系統(tǒng),完成對學生學籍信息的增加、刪除、修改、查詢、顯示全部學生學籍信息等功能。數(shù)據(jù)庫應(yīng)用設(shè)計是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),有效存儲數(shù)據(jù),滿足用戶信息要求和處理要求。為了使數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)設(shè)計合理、規(guī)范、有序、正確、高效進行,現(xiàn)在廣泛采用的是工程化6個階段開發(fā)設(shè)計過程與方法,它們是需求分析階段、概念結(jié)構(gòu)設(shè)計階段、邏輯結(jié)構(gòu)設(shè)計階段、物理結(jié)構(gòu)設(shè)計階段、數(shù)據(jù)庫的實施、數(shù)據(jù)庫系統(tǒng)運行與維護階段。 1.2開發(fā)環(huán)境和技術(shù) 系統(tǒng)開發(fā)
3、環(huán)境為局域網(wǎng)或校園網(wǎng)網(wǎng)絡(luò)環(huán)境,網(wǎng)絡(luò)中有一臺安裝Windows 2000 Server 的服務(wù)器,服務(wù)器上安裝 SQL Server 2000。該軟件是在Windows 2000 Advanced Server + Visual Basic 6.0 + SQL Server 2000的環(huán)境下完成的。下面就對這些開發(fā)工具進行介紹121 Visual Basic 6.0微軟公司的Visual Basic 6.0是Windows應(yīng)用程序開發(fā)工具,是目前最為廣泛的、易學易用的面向?qū)ο蟮拈_發(fā)工具。Visual Basic提供了大量的控件,這些控件可用于設(shè)計界面和實現(xiàn)各種功能,減少了編程人員的工作量,也簡化
4、了界面設(shè)計過程,從而有效的提高了應(yīng)用程序的運行效率和可靠性。利用VISUAL BASIC 程序設(shè)計語言,可以很方便地設(shè)計出在WINDOWS環(huán)境下運行的應(yīng)用程序。故而,實現(xiàn)本系統(tǒng)VB是一個相對較好的選擇。1211 Visual Basic的編程特點Visual Basic語言的出現(xiàn)為Windows下的編程提出了一個新概念,利用Visual Basic的動態(tài)數(shù)據(jù)交換、對象的鏈接和嵌入、動態(tài)鏈接庫、ActiveX技術(shù)可以很方便地設(shè)計出功能強大的應(yīng)用程序。利用Visual Basic語言編程有以下幾個特點:1.可視化程序設(shè)計在Visual Basic中開發(fā)的應(yīng)用程序,不但有豐富的圖形界面,同時由用戶為
5、開發(fā)圖形界面添加的代碼真是少而又少,因為在設(shè)計圖形界面的過程中只需設(shè)置 ActiveX控件的屬性即可。2.強大的數(shù)據(jù)庫和網(wǎng)絡(luò)功能隨著Visual Basic 語言的向前發(fā)展,它在數(shù)據(jù)庫和網(wǎng)絡(luò)方面的功能優(yōu)勢就愈加明顯,利用Visual Basic 中的ODBC開放式的數(shù)據(jù)庫訪問技術(shù)可以很方便地開發(fā)出自己的數(shù)據(jù)庫應(yīng)用程序;利用 Visual Basic自帶的可視化數(shù)據(jù)管理器和報表生成器,完全可以在Visual Basic就完成數(shù)據(jù)庫的開發(fā)工作。3其它特性在Visual Basic以前的版本中,由于仍然擺脫不了解釋執(zhí)行的代碼運行機制,所以在相當?shù)某潭壬现萍s了 Visual Basic 的發(fā)展。從Vi
6、sual Basic5.0版本開始,在Visual Basic 中制作的應(yīng)用程序都改變?yōu)榫幾g執(zhí)行,使得Visual Basic的代碼效率有了很大的提高,同時執(zhí)行的速度 也加快了解30%(同Visual Basic4.0相比)。當然在 Visual Basic中還有其它特性,例如:l 面向?qū)ο蟮木幊陶Z言;l 結(jié)構(gòu)化程序設(shè)計;l 事件驅(qū)動的程序設(shè)計:在傳統(tǒng)的或“過程化”的應(yīng)用程序中,應(yīng)用程序自身控制了執(zhí)行哪一部分代碼和按何種順序執(zhí)行代碼。從第一行代碼執(zhí)行程序并按應(yīng)用程序中預(yù)定的路徑執(zhí)行,必要時才會調(diào)用過程。在事件驅(qū)動的應(yīng)用程序中,代碼不是按預(yù)定的路徑執(zhí)行,而是在響不同的事件時執(zhí)行不同的代碼片段。事
7、件可以由用戶操作觸發(fā)、也可以由來自操作系統(tǒng)或其它應(yīng)用程序的消息觸發(fā)、甚至由應(yīng)用程序本身的消息觸發(fā)。這些事件的順序,決定了代碼執(zhí)行的順序,因此應(yīng)用程序每次運行時所經(jīng)過的路徑都是不同的。l 支持動態(tài)鏈接庫;l 應(yīng)用程序之間的資源共享。 1212數(shù)據(jù)庫開發(fā)中的三大工具Visual Basic在數(shù)據(jù)庫應(yīng)用程序的開發(fā)領(lǐng)域中,提供包含數(shù)據(jù)管理(DataManager),數(shù)據(jù)控件(Data Control)以及數(shù)據(jù)編程對象(數(shù)據(jù)訪問對象(DAO)、遠程數(shù)據(jù)對象(RDO)和ActiveX數(shù)據(jù)對象(ADO)等功能強大的工具,協(xié)助設(shè)計人員輕松的連接數(shù)據(jù)庫文件,并訪問其中的數(shù)據(jù),在功能方面與其他一些專業(yè)數(shù)據(jù)庫軟件(
8、如FoxPro,Micosoft Access等)不相上下。2. 系統(tǒng)分析2.1系統(tǒng)需求分析 本系統(tǒng)的設(shè)計模擬一般學生學籍管理內(nèi)容,經(jīng)過充分地系統(tǒng)調(diào)研,發(fā)現(xiàn)本系統(tǒng)應(yīng)包括學生信息、課程信息、學生專業(yè)信息等需管理信息。進一步發(fā)現(xiàn)信息實體間管理信息有:專業(yè)分期課程計劃、學生選課及各科成績統(tǒng)計等內(nèi)容。實現(xiàn)一個通用學籍管理系統(tǒng),完成對學生學籍信息的增加、刪除、修改、查詢、顯示全部學生學籍信息等功能。(1)本系統(tǒng)需要管理的實體信息班級信息:班號、班級名稱、班主任工號等;學生基本信息:學號、類別、姓名、性別、出生日期、電話、入校日期、家庭地址、備注等;專業(yè)信息:專業(yè)編號、專業(yè)名稱、創(chuàng)辦年份、學生規(guī)模等;學期
9、信息:編號、學期名等;課程基本信息:課程號、課程名、類型、學分等畢業(yè)信息:畢業(yè)證號、性別、學號、姓名、畢業(yè)時間、已修學分、需修學分等。(2)本系統(tǒng)要管理的實體聯(lián)系信息學生入學時需錄入登記,并選定一專業(yè),每學期注冊后即可選課(分必修課和選修課),每位學生選多門課,一門課應(yīng)有多名學生修讀。學生考試后,要登記考試成績。專業(yè)分學期課程計劃情況(即專業(yè)教學計劃),要反映是否必修課、是否學位課、是否考試課及備注信息。學生各科成績需要登記,統(tǒng)計排名。學生畢業(yè)需計算學分,審核資格(學分、學習期數(shù)是否達到要求),順利畢業(yè)的頒發(fā)畢業(yè)證。學生在校表現(xiàn)根據(jù)實際情況,進行獎懲記錄。2.2 功能需求分析本系統(tǒng)開發(fā)的目的,
10、就是通過系統(tǒng)開發(fā),實現(xiàn)課程管理有關(guān)工作的計算機化,提高關(guān)鍵環(huán)節(jié)的處理速度和規(guī)范化,并對有關(guān)的工作進行集成和重組,通過網(wǎng)絡(luò)系統(tǒng)實現(xiàn)集中管理、分散操作,提高選課管理工作的質(zhì)量和效率。通過對學校的選課及成績管理工作進行實際調(diào)查,學生可以自由選擇課程、選老師,學生注冊的行政班和教學班是游離的,開發(fā)工作需要涉及任課教師、學生、管理員(教務(wù)工作人員)三種用戶。學生需求在學校規(guī)定的選課期間,學生通過任何一臺連接因特網(wǎng)計算機的瀏覽器就能進行網(wǎng)上選課。學生以用戶名和密碼進入選課系統(tǒng)。選課系統(tǒng)會根據(jù)用戶名和密碼自動識別所在的系,然后顯示出與學生有關(guān)的課程列表。系統(tǒng)必須控制某一門課程在學期間只能選一次。在學生選課時
11、能自動進行有關(guān)邏輯判斷,如:是否選課超過了規(guī)定的門數(shù),是否選擇了不符合預(yù)修條件的課程,是否選擇的課程超過此課程最大選擇人數(shù),只有符合要求的選擇才能選課成功。學生可以更改部分個人信息如密碼,電話號碼等;學生可以查詢已修課程成績和已選課程信息。教師需求任課教師登錄后,可以查看自己所教課程的課程表;對于同一學期內(nèi)有多門課程的教師,需要選擇具體課程后,才能查看已選這門課程的學生信息:期末,教師可以上傳這些學生的成績。管理員需求系統(tǒng)管理員登錄后,可以對學生,教師,課程,教學班級的基本信息進行添加,修改,刪除等工作。課程安排是選課的核心,只有按照實際的教學情況安排出每個學期必修和選修的課程,才能保證選課的
12、順利進行。在每學期,學生選課前,各院系管理員必須在該院系培養(yǎng)方案中錄入本學期可以開設(shè)的課程和排課安排,對于需要預(yù)修條件的課程,需要設(shè)置好預(yù)修條件?;A(chǔ)部管理員負責公共課的課程開設(shè)和排課安排。其中排課及教學班級的安排上要保證同一個教師在同一時間只能上一門課程;同一個教室同一時間也只能開一門課程。功能描述:添加修改刪除學生信息:用戶進入到主界面后,選擇學生信息修改,會彈出一對話框,若想添加新的學生信息,可點擊插入記錄按鈕,用戶可在各對應(yīng)的框內(nèi)填寫所要填寫的信息。當然這些不能胡亂的填寫,要根據(jù)日常情況來填寫。若想把那些已不在的學生刪除掉,可點擊刪除記錄按鈕。用戶填寫所要刪除學生的學號,點擊確定。若該
13、學生的學籍信息不在數(shù)據(jù)庫中,則會出現(xiàn)提示信息“無此學生”。若在數(shù)據(jù)庫中有該學生的學籍信息,則會顯示另一提示信息“確定刪除嗎?”,點擊確定,又會出現(xiàn)一提示信息“刪除成功”。雖然有些繁瑣,但能確保不誤刪學生的學籍信息。倘若想修改那些由于各種情況所造成的錯誤信息時,可點擊界面上的修改記錄按鈕,用戶可以根據(jù)有錯誤信息的學生的學號,先進行查詢,查詢后會顯示該學生的全部學籍信息,用于可將錯誤的信息糾正過來,然后點擊修改。返回主界面可點擊退出按鈕。查詢記錄:用戶進入到主界面后,如果想要查看某個學生的學籍信息,可點擊學生信息查詢記錄按鈕。則會跳出一查詢記錄的對話框,學生信息查詢窗口,可按學號,姓名,專業(yè)進行查
14、詢。雙擊學生信息查詢窗口中表格左邊,可彈出此窗口顯示該學生選課信息。如果想看教師信息,點擊教師信息查詢,教師信息查詢窗口,可按教師編號,姓名,職稱部門進行查詢,雙擊表格左部可顯示教師授課信息。退出: 用戶進入到主界面后,進行了各種操作后,想要退出該學生學籍管理系統(tǒng),可點擊主界面上的退出按鈕。點擊后,用戶就可以退出本系統(tǒng)。 2.3劃分功能模塊 根據(jù)系統(tǒng)功能的需求分析和高等院校學籍管理的特點,經(jīng)過模塊化的分析得到如下圖1-1所示的系統(tǒng)功能模塊結(jié)構(gòu)圖。 學生學籍管理系統(tǒng)學生信息查詢學生選課修改學生信息學生成績錄入教師信息查詢學生選課信息刪除選課信息取消選課信息插入學生信息修改學生信息刪除學生信息取消
15、學生信息修改學生成績刪除學生成績?nèi)∠麑W生成績 圖1-1 系統(tǒng)功能模塊3. 數(shù)據(jù)流程分析3.1數(shù)據(jù)流程圖數(shù)據(jù)流圖表達了數(shù)據(jù)和處理的關(guān)系,根據(jù)用戶的需求分析和高校學籍管理系統(tǒng)的需求,得出如下圖1-2所示的學籍管理數(shù)據(jù)流圖。頂層圖: 圖1-2 學籍管理數(shù)據(jù)流圖3.2數(shù)據(jù)流程字典數(shù)據(jù)字典:數(shù)據(jù)流項目:學生信息=姓名+學號+性別+年齡+專業(yè)+總學分成績單=姓名+課目+成績數(shù)據(jù)項條目:數(shù)據(jù)項名:成績類型:int長度:4范圍:100-0加工條目:處理過程:過程名:學籍管理系統(tǒng)輸入:學生信息,考試成績,學生記錄輸出:統(tǒng)計表,成績單數(shù)據(jù)字典:數(shù)據(jù)存儲:數(shù)據(jù)存儲名:學生記錄組成:姓名+學號+性別+年齡+專業(yè)+總學
16、分處理過程:處理過程名:錄入存儲處理輸入:學生信息處理要求:如果沒有所輸入的學生記錄,則建立新的學生記錄,存儲基本情況和課目成績處理過程名:查詢處理輸入:學生信息,課程號輸出:成績處理要求:根據(jù)學生的學號查詢相應(yīng)的成績處理過程名:統(tǒng)計處理輸入:學生考試成績輸出:平均成績,排名成績數(shù)據(jù)字典:數(shù)據(jù)流:新生信息=入學時間+姓名+年齡+專業(yè)+性別合格單=姓名+專業(yè)處理過程:處理過程名:審查輸入:學生信息輸出:合格單處理要求:根據(jù)學生信息判斷是否是新生處理過程名:是否是新生輸入:合格單輸出:新生信息處理要求:根據(jù)合格單建立新生信息處理過程名:錄入存儲學生信息,各科成績輸入:新生信息,考試成績輸出:本次考
17、試成績數(shù)據(jù)字典:數(shù)據(jù)存儲:數(shù)據(jù)存儲名:考試成績組成:姓名+專業(yè)+成績+學號組織方式:一學號為關(guān)鍵字處理過程:處理過程名:有效性檢查輸入:學號,課程號輸出:有效查詢處理要求:根據(jù)所輸入的信息查詢有效性處理過程名:成績查詢輸入:考試成績輸出:成績處理要求:根據(jù)考試成績查詢成績處理過程:處理過程名:統(tǒng)計選擇輸入:學生記錄輸出:按規(guī)定統(tǒng)計成績處理要求:根據(jù)所輸入學生記錄查詢成績4. 數(shù)據(jù)庫設(shè)計4.1概念結(jié)構(gòu)設(shè)計數(shù)據(jù)庫在一個信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的好壞將直接對應(yīng)用系統(tǒng)的效率以及實現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計可以提高數(shù)據(jù)存儲的效率,保證數(shù)據(jù)的完整和一致。同時,合理的數(shù)據(jù)
18、庫結(jié)構(gòu)也將有利于應(yīng)用系統(tǒng)程序的實現(xiàn)。在充分需求分析的基礎(chǔ)上,經(jīng)過逐步抽象、概括、分析、充分研討,可畫出如下反映教學管理系統(tǒng)數(shù)據(jù)的整體E-R圖 圖4-1學生實體E-R圖圖4-2課程實體E-R圖圖4-3各實體之間的E-R圖 4.2邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計就是把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的基本E-R圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。設(shè)計邏輯結(jié)構(gòu)一般分為3步進行:(1)將概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系、網(wǎng)狀、層次模型;(2)將轉(zhuǎn)換來的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換;(3)對數(shù)據(jù)模型進行優(yōu)化。4.2.1 關(guān)系模型將E-R圖轉(zhuǎn)換為關(guān)系模型實際上就是要獎實體型、實體的
19、屬性和實體型之間的聯(lián)系轉(zhuǎn)換為關(guān)系模式,這種轉(zhuǎn)換一般遵循如下原則:一個實體型轉(zhuǎn)換為一個關(guān)系模式。實體的屬性就是關(guān)系的屬性,實體的碼就是關(guān)系的碼。對于實體型間的聯(lián)系則有不同的情況。將概念結(jié)構(gòu)設(shè)計階段設(shè)計好的基本E-R圖轉(zhuǎn)換為關(guān)系模型,如下所示:1)學生(XS)(學號(sno),姓名(sname),專業(yè)(sdept),性別(ssex),出生日期(sbirth),總學分(all_credit))學生表:主碼:學號(sno)函數(shù)依賴:sno U.此表中,不存在非主屬性對碼的部分依賴,傳遞依賴,以及主屬性對碼的部分依賴和傳遞依賴,故滿足3NF2)課程(KC)(課程號(cno),課程名(cname),開課學
20、期(term),學時(class_hour),學分(credit))課程表:主碼:課程號(cno)函數(shù)依賴:cno U此表中不存在非主屬性對碼的部分依賴,傳遞依賴,以及主屬性對碼的部分依賴和傳遞依賴,故滿足3NF3)選課(XS-KC)(學號(sno),課程號(cno),成績(grade))選課表:主碼:(學號,課程號)外碼:學號,課程號函數(shù)依賴:(sno,cno) U此表中不存在非主屬性對碼的部分依賴,傳遞依賴,以及主屬性對碼的部分依賴和傳遞依賴,故滿足3NF4)教師(TCH)(編號(tno),姓名(tname),性別(tsex),出生日期(tbirth),職稱(professional),專
21、業(yè)(department))教師表:主碼:編號(tno)函數(shù)依賴:tno U此表中不存在非主屬性對碼的部分依賴,傳遞依賴,以及主屬性對碼的部分依賴和傳遞依賴,故滿足3NF5)授課(TCH-KC)(教師編號(tno),課程號(cno),上課地點(place))授課表:主碼:(教師編號,課程號)外碼:教師編號,課程號函數(shù)依賴:(tno,cno)U此表中不存在非主屬性對碼的部分依賴,傳遞依賴,以及主屬性對碼的部分依賴和傳遞依賴,故滿足3NF4.3物理結(jié)構(gòu)設(shè)計數(shù)據(jù)庫的物理設(shè)計就是為一個給定的邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用要求的物理結(jié)構(gòu)的過程。物理結(jié)構(gòu)設(shè)計階段實現(xiàn)的是數(shù)據(jù)庫系統(tǒng)的內(nèi)模式,它的質(zhì)量直接決定
22、了整個系統(tǒng)的性能。因此在確定數(shù)據(jù)庫的存儲結(jié)構(gòu)和存取方法之前,對數(shù)據(jù)庫系統(tǒng)所支持的事務(wù)要進行仔細分析,獲得優(yōu)化數(shù)據(jù)庫物理設(shè)計的參數(shù)數(shù)據(jù)庫的物理設(shè)計通常分為兩步:(1)確定數(shù)據(jù)庫的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫中主要指存取方法和存取結(jié)構(gòu);(2)對物理結(jié)構(gòu)進行評價,評價的重點是時間和空間效率。設(shè)計的部分表結(jié)構(gòu)如下截圖所示;1)教師信息數(shù)據(jù)表(teacher)教師信息數(shù)據(jù)包含的數(shù)據(jù)項有編號、姓名、系編號、電話和Email,數(shù)據(jù)表中各字段的屬性如圖4-6所示。圖4-6 “teacher”表的各字段屬性(5)學生信息數(shù)據(jù)表(student)學生信息數(shù)據(jù)包含的數(shù)據(jù)項有編號、系編號、班編號、姓名、性別、生日、住址、電
23、話、Email和簡歷,數(shù)據(jù)表中各字段的屬性如圖4-7所示。圖4-7 “student”表的各個字段屬性(6)課程信息數(shù)據(jù)表(course)課程信息數(shù)據(jù)表包含的數(shù)據(jù)項有編號、名稱、教師和學分 ,數(shù)據(jù)表中各字段的屬性如圖4-8所示。圖4-8 “course”表的各字段屬性(7)選課記錄數(shù)據(jù)表(selectclass)選課記錄數(shù)據(jù)包含的數(shù)據(jù)項有編號、學生、課編號和成績,數(shù)據(jù)表中各字段的屬性如圖4-9所示。圖4-9 “selectclass”表的各字段屬性5.應(yīng)用程序設(shè)計5.1用戶界面設(shè)計及相關(guān)程序代碼 部分界面截圖及代碼如下:此為主界面,有五個按鈕,可進行查詢,修改等操作。程序代碼如下:Privat
24、e Sub Command1_Click()StuSearch.ShowEnd SubPrivate Sub Command2_Click()AddStu.ShowEnd SubPrivate Sub Command3_Click()AddStuCourse.ShowEnd SubPrivate Sub Command4_Click()AddStuGrade.ShowEnd SubPrivate Sub Command5_Click()TchSearch.ShowEnd Sub相關(guān)程序代碼如下:Private Sub Command3_Click() 取消Stusno.Text = Stusn
25、ame.Text = Stusbirth.Text = Stusdept.Text = Stuall_credit.Text = Stusexm = FalseStusexf = FalseEnd Sub修改元組Private Sub Stuchange_Click()If Trim(Stusno.Text) = Or Trim(Stusname.Text) = Or (Stusexm = False And Stusexf = False) ThenMsgBox 加*數(shù)據(jù)項不能為空,請重新設(shè)置, vbOKOnly, 信息提示Stusno.SetFocusExit SubEnd IfIf Tr
26、im(Stusbirth.Text) ThenIf Not IsDate(Trim(Stusbirth.Text) ThenMsgBox 出生日期輸入不正確,請重新輸入, vbOKOnly, 信息提示Stusbirth.SetFocusExit SubEnd IfEnd IfStuADO.Recordset.Fields(學號) = Trim(Stusno.Text)StuADO.Recordset.Fields(姓名) = Trim(Stusname.Text)StuADO.Recordset.Fields(出生日期) = Trim(Stusbirth.Text)StuADO.Records
27、et.Fields(專業(yè)) = Trim(Stusdept.Text)StuADO.Recordset.Fields(總學分) = Trim(Stuall_credit.Text)If Stusexm = True ThenStuADO.Recordset.Fields(性別) = 男Else: Stusexf = TrueStuADO.Recordset.Fields(性別) = 女End IfStuADO.Recordset.UpdateEnd Sub刪除元組Private Sub StuDel_Click()ret = MsgBox(是否要刪除 + StuADO.Recordset(學號
28、) + 號學生的記錄?, vbYesNo, 提示)If ret = vbYes ThenStuADO.Recordset.DeleteEnd IfStuADO.RecordSource = select sno 學號,sname 姓名,sdept 專業(yè),ssex 性別,sbirth 出生日期,all_credit 總學分 from XSCommand3_ClickStuADO.RefreshEnd Sub選中一行顯示元組Private Sub StuDG_Click()Stusno.Text = StuADO.Recordset(學號)Stusname.Text = StuADO.Record
29、set(姓名)Stusbirth.Text = StuADO.Recordset(出生日期)Stusdept.Text = StuADO.Recordset(專業(yè))Stuall_credit = StuADO.Recordset(總學分)If Trim(StuADO.Recordset(性別) = 男 ThenStusexm = TrueElseStusexf = TrueEnd IfEnd Sub插入元組Private Sub Studinsert_Click()If Trim(Stusno.Text) = Or Trim(Stusname.Text) = Or (Stusexm = Fal
30、se And Stusexf = False) ThenMsgBox 加*數(shù)據(jù)項不能為空,請重新設(shè)置, vbOKOnly, 信息提示Stusno.SetFocusExit SubEnd IfIf Trim(Stusbirth.Text) ThenIf Not IsDate(Trim(Stusbirth.Text) ThenMsgBox 出生日期輸入不正確,請重新輸入, vbOKOnly, 信息提示Stusbirth.SetFocusExit SubEnd IfEnd IfStuADO.Recordset.AddNewStuADO.Recordset.Fields(學號) = Trim(Stus
31、no.Text)StuADO.Recordset.Fields(姓名) = Trim(Stusname.Text)StuADO.Recordset.Fields(出生日期) = Trim(Stusbirth.Text)StuADO.Recordset.Fields(專業(yè)) = Trim(Stusdept.Text)StuADO.Recordset.Fields(總學分) = Trim(Stuall_credit.Text)If Stusexm = True ThenStuADO.Recordset.Fields(性別) = 男Else: Stusexf = TrueStuADO.Records
32、et.Fields(性別) = 女End IfStuADO.Recordset.UpdateEnd Sub相關(guān)代碼如下:Dim SqlStr As StringPublic Sub MakeSqlStr()SqlStr = If Trim(Stusno) ThenSqlStr = SqlStr + and sno like% + Trim(Stusno.Text) + % End IfIf Trim(Stusname) ThenSqlStr = SqlStr + and sname like % + Trim(Stusname.Text) + %End IfIf Trim(Stusdept)
33、ThenSqlStr = SqlStr + and sdept= + Trim(Stusdept.Text) + End IfEnd SubPrivate Sub Command1_Click()MakeSqlStrStuADO.RecordSource = select sno 學號,sname 姓名,sdept 專業(yè),ssex 性別,sbirth 出生日期,all_credit 總學分 from XS where (ssex =男 or ssex=女) _& SqlStrStuADO.RefreshEnd SubPrivate Sub StuDG_DblClick()ShowStuKC.S
34、tuKCADO.RecordSource = select sname 姓名,cname 課程名,grade 成績,credit 學分,term 開課學期,class_hour 課時 from XS,KC,XS_KC _& where XS.sno=XS_KC.sno and KC.cno=XS_KC.cno _& and XS.sno= + StuADO.Recordset(學號) + ShowStuKC.StuKCADO.RefreshShowStuKC.ShowStuSearch.Enabled = FalseEnd Sub代碼如下:Dim SqlStr As StringPublic
35、Sub MakeSqlStr()SqlStr = If Trim(Tchtno) ThenSqlStr = SqlStr + and tno like % + Trim(Tchtno.Text) + % End IfIf Trim(Tchtname) ThenSqlStr = SqlStr + and tname like % + Trim(Tchtname.Text) + %End IfIf Trim(Tchprofessional) ThenSqlStr = SqlStr + and professional like % + Trim(Tchprofessional.Text) + %E
36、nd IfIf Trim(Tchdepartment.Text) ThenSqlStr = SqlStr + and department like % + Trim(Tchdepartment.Text) + %End IfEnd SubPrivate Sub TchDG_DblClick()ShowTchKC.TchKCADO.RecordSource = select tname 姓名,cname 課程,credit 學分,place 上課地點 from KC,TCH,TCH_KC where TCH.tno=TCH_KC.tno and KC.cno=TCH_KC.cno _& and
37、 Tch.tno= + TchADO.Recordset(教師編號) + ShowTchKC.TchKCADO.RefreshShowTchKC.ShowEnd SubPrivate Sub Tchseek_Click()MakeSqlStrTchADO.RecordSource = select tno 教師編號,tname 姓名,tsex 性別,tbirth 出生日期,professional 職稱,department 部門 from TCH where (tsex =男 or tsex=女) _& SqlStrTchADO.RefreshEnd Sub代碼如下:Private Sub
38、form_unload(cancel As Integer)StuSearch.Enabled = TrueEnd Sub學生選課相關(guān)操作代碼如下:取消Private Sub Stucancel_Click()Stusno.Text = Stusname.Text = Stucname.Text = End Sub選課Private Sub Stuchoose_Click()StuADOXS.RecordSource = select * from XS where sno= + Trim(Stusno.Text) + StuADOXS.RefreshIf Trim(Stusno.Text)
39、= Or Trim(Stusname.Text) = Or Trim(Stucname.Text) = Thenret = MsgBox(輸入不正確,請重新輸入!, vbYes, 錯誤!)ElseIf Trim(Stusname.Text) Trim(StuADOXS.Recordset(sname) Thenret = MsgBox(輸入學號與姓名不匹配,請重新輸入!)ElseStuADOXS_KC.RecordSource = select * from XS_KCStuADOXS_KC.RefreshStuADOXS_KC.Recordset.AddNewStuADOXS_KC.Reco
40、rdset.Fields(sno) = Trim(Stusno.Text)StuADOKC.RecordSource = select * from KC where cname= + Trim(Stucname.Text) + StuADOKC.RefreshStuADOXS_KC.Recordset.Fields(cno) = StuADOKC.Recordset(cno)StuADOXS_KC.Recordset.UpdateStuADO.RefreshEnd IfEnd Sub刪除元組Private Sub Studelete_Click()ret = MsgBox(是否要刪除 + S
41、tuADO.Recordset(學號) + 號學生的選課記錄?, vbYesNo, 提示)If ret = vbYes ThenStuADOXS_KC.RecordSource = select * from XS_KC where sno= + StuADO.Recordset(學號) + StuADOXS_KC.RefreshStuADOXS_KC.Recordset.DeleteEnd IfStuADO.RefreshStucancel_ClickEnd Sub單擊顯示元組Private Sub StuDG_Click()Stusno.Text = StuADO.Recordset(學號
42、)Stusname.Text = StuADO.Recordset(姓名)Stucname.Text = StuADO.Recordset(課程名)End Sub代碼如下:Private Sub Stuadd_Click()If Stugrade.Text = Thenret = MsgBox(輸入為空,請重新輸入, vbYes, 錯誤提示)ElseStuADOKC.RecordSource = select * from KC where cname= + Trim(Stucname.Text) + StuADOKC.RefreshStuADOXS_KC.RecordSource = sel
43、ect * from XS_KC where cno= + StuADOKC.Recordset(cno) + StuADOXS_KC.RefreshStuADOXS_KC.Recordset.Fields(sno) = Stusno.TextStuADOXS_KC.Recordset.Fields(cno) = StuADOKC.Recordset(cno)StuADOXS_KC.Recordset.Fields(grade) = Stugrade.TextStuADOXS_KC.Recordset.UpdateStuADO.RecordSource = select sno 學號,XS_K
44、C.cno 課程號,cname 課程名,grade 成績 from KC,XS_KC where KC.cno=XS_KC.cnoStuADO.RefreshEnd IfEnd Sub取消Private Sub Stucancel_Click()Stusno.Text = Stucname.Text = Stugrade.Text = End Sub刪除學生成績Private Sub Studelete_Click()ret = MsgBox(是否要刪除 + Trim(StuADO.Recordset(學號) + 號學生成績?, vbYesNo, 提示)If ret = vbYes ThenStuADO.Recordset(成績) = NullEnd IfEnd Sub單擊顯示元組Private Sub StuDG_Click()Stusno.Text = StuADO.Recordset(學號)Stucname.Text = StuADO.Recordset(課程名)End Sub修改學生成績Private Sub Stusure_Click()If Stug
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專題01 熱愛生活 熱愛寫作+作文選材技巧-【同步作文課】六年級語文上冊單元寫作深度指導(統(tǒng)編版2024·五四學制)
- 幼兒園小班音樂《紅眼睛》課件
- 西京學院《影像設(shè)備創(chuàng)新設(shè)計》2023-2024學年第一學期期末試卷
- 西京學院《數(shù)控技術(shù)與編程》2021-2022學年期末試卷
- 冰淇淋素描課件
- 核心制度課件
- 管理會計實務(wù) 課件情境3、4 謀而后定:企業(yè)戰(zhàn)略執(zhí)行的有效工具、做好企業(yè)的戰(zhàn)略參謀官
- 西華師范大學《體育科學研究方法》2023-2024學年第一學期期末試卷
- 西華師范大學《科學教育學》2022-2023學年第一學期期末試卷
- 移動機器人原理與技術(shù) 課件 第7、8章 移動機器人語音識別與控制、移動機器人的通信系統(tǒng)
- 體育教學彎道跑教案
- 建筑施工高處作業(yè)安全技術(shù)規(guī)范JGJ80-201620200805
- 細菌分類表按“界門綱目科屬種”分類
- 2024中能建數(shù)字科技集團有限公司社會招聘筆試參考題庫含答案解析
- EB病毒感染的護理查房
- 網(wǎng)球活動策劃推廣方案
- 全國食品安全風險監(jiān)測參考值 2024年版
- 2023年福建省考評員考試題
- 開源軟件供應(yīng)鏈安全研究
- 三年級上冊數(shù)學教案-第7單元 分數(shù)的初步認識(一) 單元概述和課時安排 蘇教版
- 中國釔-90行業(yè)市場現(xiàn)狀分析及競爭格局與投資發(fā)展研究報告2024-2029版
評論
0/150
提交評論