教務(wù)管理系統(tǒng)(vb)_第1頁
教務(wù)管理系統(tǒng)(vb)_第2頁
教務(wù)管理系統(tǒng)(vb)_第3頁
教務(wù)管理系統(tǒng)(vb)_第4頁
教務(wù)管理系統(tǒng)(vb)_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

教務(wù)管理系統(tǒng)的設(shè)計與實現(xiàn)摘要

教務(wù)管理是學生管理信息的統(tǒng)計、上報、查詢工作費時費力,并且數(shù)據(jù)保密性、準確性難以保證。因此,開發(fā)出一套高效、實用的教務(wù)管理系統(tǒng),提高學生管理工作的自動化水平成為當務(wù)之急。本設(shè)計在分析了教務(wù)管理現(xiàn)狀和工作特點的根底上,以實際應(yīng)用為核心,以微軟公司的MicrosoftOfficeAccess2003作為數(shù)據(jù)開發(fā)平臺,根據(jù)數(shù)據(jù)庫原理和數(shù)據(jù)庫,并且運用面向?qū)ο蟮木幊陶ZMicrosoftVisualBasic6.0及其它計算機應(yīng)用技術(shù),集成開發(fā)了一套符合學生管理工作實際的教務(wù)管理系統(tǒng)。該系統(tǒng)實現(xiàn)的主要功能模塊包括用戶登錄模塊,用戶注冊模塊,文件管理模塊,系統(tǒng)管理管理員模塊,課程管理模塊,及教師查詢模塊等。本文詳細介紹了該系統(tǒng)分析、概要設(shè)計、系統(tǒng)的數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計、模塊界面和功能設(shè)計、系統(tǒng)測試和分析等設(shè)計與實現(xiàn)過程,最后表述了一下個人的心得體會。關(guān)鍵詞:教務(wù)管理;數(shù)據(jù)庫;MicrosoftOfficeAccess2003,MicrosoftVisualBasic6.0一系統(tǒng)分析1.1開發(fā)背景

現(xiàn)如今高等院校的招生人數(shù)越來越多,必然就會有大量的學生信息、教師信息及課程信息需要處理。如果只靠人力來完成,這將會變成一項非常繁瑣、復雜的工作,而且還有可能出現(xiàn)很多意想不到的錯誤,給管理這些數(shù)據(jù)帶來了極大的不便,越來越不適合高校的開展需要。因此,為了提高教務(wù)管理工作的效率,減少錯誤的出現(xiàn),節(jié)約大量的人力資源,教務(wù)管理也已經(jīng)從手工操作轉(zhuǎn)到計算機自動化信息處理階段,所有高校都迫切需要計算機技術(shù)來進行教務(wù)信息的輔助管理。在使用了教務(wù)管理系統(tǒng)后,可以提高各類信息的準確性和及時性,將信息準確無誤地輸入計算機并在數(shù)據(jù)庫中存儲起來。按照標準設(shè)定標準代碼,大大保證了統(tǒng)計原始數(shù)據(jù)的準確性,在進行課程的分析設(shè)計時可以最大限度地減少人為影響,大大提高工作效率。

教務(wù)管理系統(tǒng)是一個龐大而復雜的系統(tǒng),它包括對教師信息的管理,對課程資料的管理,對學生信息的管理和對學生成績的管理等主要功能。教務(wù)管理系統(tǒng)是每所高校的一項必不可少的內(nèi)容,它的好壞直接影響到學校的主要工作,此系統(tǒng)一旦癱瘓,不僅會影響到學校的每一位學生,學校也會因此受到非常嚴重的損失。隨著我校近幾年來的快速開展,辦學模式多元化,在校學生規(guī)模不斷擴大,為了加速對教務(wù)管理的計算機化,我校需要開發(fā)出符合我校實際的教務(wù)管理系統(tǒng),為學校教學管理提供一個快速、簡單標準的管理平臺,同時也方便教員查詢相關(guān)信息,提高信息傳播速度,擴大信息共享范圍。所以,現(xiàn)在設(shè)計一個功能完整、操作簡單以及界面友好的教務(wù)管理系統(tǒng)變得非常重要。

通過這個系統(tǒng),管理員能夠?qū)處熜畔?、課程信息、學生信息和學生成績進行查詢、添加、修改和刪除等操作,用戶也可以對自己的根本信息進行修改,學生還可以用該系統(tǒng)進行網(wǎng)上選課和成績查詢,非常的方便。

因此,本系統(tǒng)開發(fā)的總體目標就是在教務(wù)管理中實現(xiàn)信息管理的系統(tǒng)化、自動化,減少工作繁瑣度,增加效率、方便性。1.2需求分析這次開發(fā)的教務(wù)管理系統(tǒng)大大提高了學校管理工作的效率,使用戶能夠方便的對院系信息、課程信息、學生信息以及成績信息進行管理。本系統(tǒng)對具有不同權(quán)限的用戶所開放的功能是不同的,最高級用戶的權(quán)限是“管理員”,它能使用系統(tǒng)的所有功能,另一種用戶的權(quán)限是“用戶”,它只能使用系統(tǒng)的局部功能。1.3系統(tǒng)的實現(xiàn)目標〔1〕登錄管理模塊:為了保證系統(tǒng)的平安性,可以根據(jù)不同的用戶權(quán)限來提供不同的效勞。分為用戶登錄和注冊兩個子模塊?!?〕教務(wù)管理模塊:分為文件管理、系統(tǒng)管理、課程管理、成績管理和教師查詢五個子模塊。其中:文件管理包括個人信息和信息修改。系統(tǒng)管理包括返回登錄界面、關(guān)于、管理員和推出系統(tǒng)。課程管理包括課程查詢和課程管理。二概要設(shè)計2.1系統(tǒng)功能分析不同權(quán)限的用戶能使用的功能如下:用戶管理:此項功能只能由管理員使用個人信息修改:用戶使用管理員使用,用戶不能使用,只能是管理員使用。課程查詢:管理員和用戶都能使用成績查詢:管理員和用戶都能使用教師查詢:管理員和用戶都能使用2.2系統(tǒng)模塊設(shè)計本系統(tǒng)并不復雜,模塊劃分也比擬清楚。通過對不同的功能進行分析,就可以得到系統(tǒng)的模塊劃分?!?〕登錄管理模塊:為了保證系統(tǒng)的平安性,可以根據(jù)不同的用戶權(quán)限來提供不同的效勞。分為用戶登錄和注冊兩個子模塊。〔2〕教務(wù)管理模塊:分為文件管理、系統(tǒng)管理、課程管理、成績管理和教師查詢五個子模塊。其中文件管理包括個人信息和信息修改。系統(tǒng)管理包括返回登錄界面、關(guān)于、管理員和推出系統(tǒng)。課程管理包括課程查詢和課程管理。2.3系統(tǒng)結(jié)構(gòu)圖〔1〕登陸界面模塊結(jié)構(gòu)圖登陸界面模塊登陸界面模塊登陸用戶注冊〔2〕.系統(tǒng)總體功能模塊結(jié)構(gòu)圖系統(tǒng)總體功能模塊:教務(wù)管理系統(tǒng)教務(wù)管理系統(tǒng)文件系統(tǒng)管理課程管理成績管理教師查詢圖2-1系統(tǒng)總體功能結(jié)構(gòu)圖1〕.文件管理文件模塊文件模塊個人信息信息修改復制黏貼圖2-2文件模塊2〕系統(tǒng)管理系統(tǒng)管理返回登錄界面系統(tǒng)管理返回登錄界面關(guān)于管理員退出系統(tǒng)圖2-3系統(tǒng)管理模塊3〕課程管理課程管理課程查詢課程管理圖2-4課程管理模塊三系統(tǒng)的數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計由用戶的需求分析和概念結(jié)構(gòu)設(shè)計,最終設(shè)計了名為教務(wù)管理數(shù)據(jù)庫的數(shù)據(jù)庫,數(shù)據(jù)庫中的表如下所示:表1:登錄信息表記錄號字段名稱數(shù)據(jù)類型字段大小屬性〔是否可為空〕1UserID文本10否2Password文本10否3UserName文本16否4Description備注表2:系別信息表記錄號字段名稱數(shù)據(jù)類型字段大小屬性〔是否可為空〕1DepartID文本4主鍵2Telephone文本20否3Description文本13否4DepartName文本20否5Telephone文本8否表3:學生信息表記錄號字段名稱數(shù)據(jù)類型字段大小屬性〔是否可為空〕1StudentID文本10主鍵2Name文本50否3Sex文本10否4ClassID文本4否5Birthday日期/時間50否6Native文本50否表4:課程信息表記錄號字段名稱數(shù)據(jù)類型字段大小屬性〔是否可為空〕1CourseID文本10主鍵2CourseName文本20否3Credit數(shù)字長整型否4Period數(shù)字長整型否5Teacher文本10否6Description文本16否表5:成績信息表記錄號字段名稱數(shù)據(jù)類型字段大小屬性〔是否可為空〕1ID自動編號10主鍵2CourseID文本4否3StudentID文本8否4Score數(shù)字8否表6:班級信息表記錄號字段名稱數(shù)據(jù)類型字段大小屬性〔是否可為空〕1ClassID文本10主鍵2ClassName文本4否3DepartID文本8否4BeginDate日期/時間中日期否5Master文本8否6MasterTel文本13否7Description文本否表7:教師表記錄號字段名稱數(shù)據(jù)類型字段大小屬性〔是否可為空〕1教師編號文本5主鍵2姓名文本8否3性別文本2否4出年日期日期/時間中日期否5職稱文本8否6單位文本20否7工資數(shù)字單精度型否四模塊界面和功能設(shè)計4.1登錄界面的設(shè)計本系統(tǒng)的登錄界面上主要有用戶名、密碼兩局部內(nèi)容。如果用戶輸入的用戶名不存在或者密碼與用戶名不一致或者與用戶權(quán)限不一致,都會給出相應(yīng)的提示信息,告訴用戶出現(xiàn)的錯誤輸入。其界面設(shè)計如下列圖所示:4.2用戶注冊局部設(shè)計用與給新的用戶注冊,其中包括用戶所需要注冊的詳細信息。如果用戶輸入的用戶信息不符合相關(guān)規(guī)定,會給出相應(yīng)的提示信息,告訴用戶如何注冊信息。其界面設(shè)計如下列圖所示:4.3教務(wù)管理模塊的設(shè)計:教務(wù)管理模塊的以下操作,主要是文件、系統(tǒng)管理,課程管理、成績管理、教師查詢五大功能。其中主要界面設(shè)計如下列圖:1〕文件操作包括個人信息和修改信息。個人信息操作用于查看個人的信息情況,其界面設(shè)計如下列圖所示:修改信息操作用于對自己的信息進行修改,其界面設(shè)計如下列圖所示:2〕系統(tǒng)管理操作包括返回登入界面、管理員和推出系統(tǒng)。返回登入界面操作用于如果用戶需要進行其他操作時,可以用這個操作,其界面設(shè)計和登入界面一樣。管理員操作用于管理員對全部用戶的管理,其中設(shè)有密碼為:01,其界面設(shè)計如下列圖所示:推出系統(tǒng)操作用于推出整個系統(tǒng)。3〕課程管理包括課程查詢和課程管理課程查詢用于用戶可以對自己的課程進行查詢操作,其界面設(shè)計如下列圖所示:課程管理用于對所有課程的操作,其界面設(shè)計如下列圖所示:4〕成績管理主要是學生可以查詢自己的成績,其界面設(shè)計如下列圖所示:教師查詢主要的功能是學生對教師的查詢操作,其界面設(shè)計如下列圖所示:五系統(tǒng)測試和分析5.1系統(tǒng)環(huán)境此系統(tǒng)是在系統(tǒng)平臺:Windows7,數(shù)據(jù)庫效勞器:Microsoftaccess2003,開發(fā)工具:MicrosoftVisualBasic6.0中文版的環(huán)境下開發(fā)的,實現(xiàn)了教務(wù)管理系統(tǒng)的根本操作。5.2數(shù)據(jù)庫的平安性、完整性、并發(fā)控制和恢復信息數(shù)據(jù)是企業(yè)中非常重要的資源,因此保證數(shù)據(jù)庫的平安可靠、正確有效是非常重要的問題。一般的數(shù)據(jù)庫管理系統(tǒng)〔DBMS〕都有提供了一定的數(shù)據(jù)保護功能。數(shù)據(jù)庫保護也稱為數(shù)據(jù)控制,主要包括數(shù)據(jù)的平安性、完整性、并發(fā)控制和數(shù)據(jù)庫的恢復等。1〕數(shù)據(jù)庫的平安性數(shù)據(jù)庫的平安性是指保護數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄露、更改或破壞。由于數(shù)據(jù)庫系統(tǒng)中存放著大量的數(shù)據(jù),且為許多用戶所共享,因此平安性問題是必須首先要解決的。一般計算機系統(tǒng)中的平安措施是按照“用戶標識和鑒別”、“DBMS存取控制”、“OS級平安控制”、“DB密碼存儲”來一級一級設(shè)置的。在現(xiàn)在流行的數(shù)據(jù)庫系統(tǒng)中一般都提供以下兩種控制:用戶標識和鑒別、數(shù)據(jù)存取控制。2〕數(shù)據(jù)完整性為了保證數(shù)據(jù)庫數(shù)據(jù)的正確性和相容性,數(shù)據(jù)庫管理系統(tǒng)〔DBMS〕都提供了一種機制來檢查數(shù)據(jù)庫中的數(shù)據(jù),看它是否滿足語義的規(guī)定條件,DBMS稱這種機制為“數(shù)據(jù)完整性檢查”。一般的DBMS中是通過完整性約束和數(shù)據(jù)庫觸發(fā)器來實現(xiàn)這一機制的。3〕并發(fā)控制在多用戶數(shù)據(jù)庫環(huán)境中,多個用戶程序可并行存取數(shù)據(jù)庫中的數(shù)據(jù),為了以正確的方式調(diào)度該并發(fā)操作,防止造成“喪失修改”、“不能重讀”、“讀臟數(shù)據(jù)”等不一致的情況,DBMS引入了“并發(fā)控制”這一機制。并發(fā)控制的主要方法是采用封鎖機制,一般采用兩種封鎖機制:共享機制和排它機制來實現(xiàn)。4〕數(shù)據(jù)庫后備與恢復主要使用轉(zhuǎn)儲、日志等方法進行數(shù)據(jù)庫的恢復。5.3程序調(diào)試過程中出現(xiàn)的問題及解決方案問題一:再添加或修改記錄時,當把原來的記錄修改時,即使取消了添加與修改操作,雖然數(shù)據(jù)庫中的數(shù)據(jù)沒有改變,但是當前數(shù)據(jù)集中顯示的記錄會發(fā)生改變。解決方案:添加一個刷新的功能,使數(shù)據(jù)集中的數(shù)據(jù)重新被填充,可以防止類似錯誤的產(chǎn)生。問題二:在編寫登錄窗體的時候,當代碼沒有任何錯誤時,運行時,輸入用戶名跟密碼后,仍然顯示“用戶名與密碼不匹配,請重新輸入”。解決方案:經(jīng)過查閱資料后發(fā)現(xiàn),用早Windows登錄窗體中的數(shù)據(jù)類型必須是文本類型才可以,其余的類型都不會顯示正確的輸入。問題三:再添加Timer控件時,編寫的代碼正確時,仍然不顯示時間,也不控制一行字的滾動,沒有起到作用解決方案:原來時Timer的一個屬性,我們必須把它設(shè)為TRUE,上面的問題就解決了。5.2系統(tǒng)在開發(fā)環(huán)境下實現(xiàn)的功能以及結(jié)果5.4各個程序設(shè)計模塊代碼見附錄。六心得體會通過這兩周的課程設(shè)計,我學到了很多從書本上學不到的知識。在此次課程設(shè)計中,我對這門課有了更加深刻的認識,把所學的理論知識和實踐聯(lián)系起來。在做這次課程設(shè)計之前,我對它了解的很少,也從來沒想到我能完成這么一個程序。但是經(jīng)過兩周的時間,我終于弄出了一個完整的程序。在這次課程設(shè)計中,我覺得我最大的收獲就是學會了為了做出這個程序,我該如何去尋找有用的資料,在短時期內(nèi)學到盡量多而且有用的知識和本領(lǐng)。這兩周的時間里,我從原來的模糊認識,到現(xiàn)在編出這個程序,中間也遇到了很多困難和挫折。在程序的編寫過程中,也出現(xiàn)了很多錯誤,經(jīng)過我認真修改,查閱資料,向老師和同學們請教,終于把那些錯誤都改正過來,最終使程序能夠正確的運行。程序中還有蠻多可以改良的地方如在用戶登錄的時候如果連續(xù)三次用戶名或密碼錯誤,系統(tǒng)就會自動退出,但是并沒有把此用戶鎖定,這點會帶來一定得平安隱患,所以為了增強系統(tǒng)的平安性,如果連續(xù)三次輸入錯誤,就應(yīng)該把此用戶給鎖定住,只有它與管理員聯(lián)系后,完成解鎖前方可繼續(xù)使用;在網(wǎng)絡(luò)功能上沒有提供很好的接口和支持,根本上術(shù)語單機版狀態(tài);本系統(tǒng)的數(shù)據(jù)庫一旦被更改,就是永久性的,所以為了防止一些問題的發(fā)生,應(yīng)該適時的進行數(shù)據(jù)庫備份。所以可以在系統(tǒng)中添加備份數(shù)據(jù)庫的功能,這樣就可以及時備份數(shù)據(jù)庫,當數(shù)據(jù)庫遭到破壞的時候,可以復原數(shù)據(jù)庫。當然還有蠻多可以擴充的功能及設(shè)計實現(xiàn)設(shè)想如可以在學生資料中添加照片這一屬性,為每一位學生設(shè)置一張圖片,當瀏覽每一位學生的記錄時,都能看到這位學生的照片;可以在學生資料中增加出生年月這一屬性,利用相關(guān)控件,當輸入、修改日期數(shù)據(jù)時,都會彈出一個框供選擇;還可以在系統(tǒng)中添加備份數(shù)據(jù)庫的功能,這樣就可以及時備份數(shù)據(jù)庫,當數(shù)據(jù)庫遭到破壞的時候,可以復原數(shù)據(jù)庫。所以說,這次課程設(shè)計不僅是讓我學到了一門面向?qū)ο蟮木幊谭椒ǎ匾氖撬岣吡宋医邮苄率挛锏哪芰?,讓我以后遇到新事物時,不再感到茫然,感到無從下手。當下次我接觸到新知識時,我會知道我該做些什么,該去看那些書籍資料,心中就會有一個明確的目的。 參考文獻[1]劉智斌,劉玉萍,數(shù)據(jù)庫原理.重慶:重慶大學出版社,2006.7。[2]張智毅.VisualBasic數(shù)據(jù)庫編程技術(shù)與實例,北京:人民郵電出版社,2004.6。[3]李勇帆,VisualBasic6.0程序設(shè)計與應(yīng)用,北京:人民郵電出版社,2006.2。附錄附件1:登錄界面的設(shè)計PrivatecnnAsNewADODB.ConnectionPrivateRsAsNewADODB.RecordsetPrivateSubCommand1_Click(IndexAsInteger)Dima$Dimb$'Data1.Recordset.FindFirst"UserName="&"'"&Text4.Text&"'"SelectCaseIndexCase0Text2.Text=""Text1.Text=""Text1.SetFocusCase1Setcnn=NewADODB.Connectioncnn.Open"DRIVER=MicrosoftAccessDriver(*.mdb);DBQ="&App.Path&"\db2.mdb"SetRs=NewADODB.RecordsetRs.Open"select*fromUserswhereUserName='"&Text1.Text&"'andPassword='"&Text2.Text&"'",cnn,3,3IfText1.Text=""OrText2.Text=""ThenMsgBox"用戶名或者密碼不能為空",vbOKOnlyText1.SetFocusExitSubEndIfIfRs.RecordCount=0ThenMsgBox"用戶名或者密碼錯誤,請重新輸入",vbOKOnlyText1.SetFocusExitSubEndIfIfRs.RecordCount<>0ThenRs.Closecnn.CloseForm1.HideForm2.ShowEndIfCase2Form1.HideForm3.ShowEndSelectEndSubPrivateSubCommand2_Click(IndexAsInteger)SelectCaseIndexCase0Form1.WindowState=1Case1Form1.WindowState=0Case2Form1.WindowState=2EndSelectEndSubPrivateSubLabel3_Click()IfLabel1.Font.Size<40ThenLabel1.Font.Size=Label1.Font.Size+1ElseLabel1.Font.Size=Label1.Font.Size-1EndIfEndSubPrivateSubText2_Change()Text2.PasswordChar="*"EndSubPrivateSubForm_Load()'rs.Open"select*fromUsers",cnn,3,3Text2.Text=""Text1.Text=""'Label4.Left=Form1.Width-Label4.Width'Label4.Top=Form1.Height-Label4.HeightEndSubPrivateSubTimer1_Timer()IfLabel3.Left>=Form1.WidthThenLabel3.Left=0EndIfIfLabel3.Left=0ThenLabel3.Left=Label3.Left+20IfLabel3.Left<>0AndLabel3.Left<Form1.WidthThenLabel3.Left=Label3.Left+20EndSubPrivateSubTimer2_Timer()Label4.Caption=NowEndSub附件2:用戶注冊PrivatecnnAsNewADODB.ConnectionPrivateRsAsNewADODB.RecordsetPrivateSubCommand1_Click(IndexAsInteger)Dima%a=1SelectCaseIndexCase0IfText5.Text=""OrText1.Text=""OrText2.Text=""OrText3.Text=""OrText4.Text=""ThenMsgBox"UserIDPasswordUserName不能為空,請輸入",vbOKOnlya=0Text1.SetFocusExitSubEndIfIfText2.Text<>Text5.TextThenMsgBox"Password和Passwordagain不一致,請正確輸入",vbOKOnlya=0Text2.SetFocusExitSubEndIfIfa=1Thencnn.Execute"insertintoUsersvalues('"&Text1.Text&"','"&Text2.Text&"','"&Text3.Text&"','"&Text4.Text&"')"MsgBox"注冊成功",vbOKOnlyEndIfCase1Text1.Text=""Text2.Text=""Text3.Text=""Text4.Text=""Text5.Text=""Case2Rs.Closecnn.CloseForm3.HideForm1.ShowEndSelectEndSubPrivateSubForm_Load()Text1.Text=""Text2.Text=""Text3.Text=""Text4.Text=""Text5.Text=""Setcnn=NewADODB.ConnectionSetRs=NewADODB.Recordsetcnn.Open"DRIVER=MicrosoftAccessDriver(*.mdb);DBQ="&App.Path&"\db2.mdb"'cnn.OpencnnRs.Open"select*fromUsers",cnn,3,3EndSub附錄3:教務(wù)管理模塊〔1〕文件操作1〕個人信息OptionExplicitPrivatecnnAsNewADODB.ConnectionPrivateRsAsNewADODB.RecordsetPrivateSubCommand1_Click()Text1.Enabled=TrueText2.Enabled=TrueText3.Enabled=TrueText4.Enabled=TrueForm5.HideForm2.ShowEndSubPrivateSubForm_Load()Setcnn=NewADODB.ConnectionSetRs=NewADODB.Recordset'cnn.Opencnncnn.Open"DRIVER=MicrosoftAccessDriver(*.mdb);DBQ="&App.Path&"\db2.mdb"Rs.Open"select*fromUserswhereUserName='"&Form1.Text1.Text&"'andPassword='"&Form1.Text2.Text&"'",cnn,3,3CallShowDataRs.Closecnn.CloseEndSubPrivateSubShowData()Text1.Text=Rs.Fields(0).ValueText2.Text=Rs.Fields(1).ValueText3.Text=Rs.Fields(2).ValueText4.Text=Rs.Fields(3).ValueEndSub信息修改OptionExplicitPrivatecnnAsNewADODB.ConnectionPrivateRsAsNewADODB.RecordsetPrivateSubCommand1_Click(IndexAsInteger)SelectCaseIndexCase0IfText1.Text=""OrText2.Text=""OrText3.Text=""ThenMsgBox"UserIDPasswordUserName不能為空,請輸入",vbOKOnlyEndIfRs.UpdateMsgBox"修改成功!"Case1Rs.CancelCase2Rs.Closecnn.CloseForm6.HideForm2.ShowEndSelectEndSubPrivateSubForm_Load()Setcnn=NewADODB.ConnectionSetRs=NewADODB.Recordsetcnn.Open"DRIVER=MicrosoftAccessDriver(*.mdb);DBQ="&App.Path&"\db2.mdb"'cnn.OpencnnRs.Open"select*fromUserswhereUserName='"&Form1.Text1.Text&"'andPassword='"&Form1.Text2.Text&"'",cnn,3,3CallShowDataEndSubPrivateSubShowData()Text1.Text=Rs.Fields(0).ValueText2.Text=Rs.Fields(1).ValueText3.Text=Rs.Fields(2).ValueText4.Text=Rs.Fields(3).ValueEndSub系統(tǒng)管理操作1〕主界面:PrivateSuba1_Click()Form2.HideForm5.ShowEndSubPrivateSuba2_Click()Form2.HideForm6.ShowEndSubPrivateSubb1_Click()Form2.HideForm1.ShowEndSubPrivateSubb3_Click()Dima$a=InputBox("請輸入管理員的密碼","密碼")Ifa<>"01"ThenMsgBox"密碼錯誤,請重新輸入",vbDefaultButton1a=InputBox("請輸入管理員的密碼","密碼")ElseForm2.HideForm4.ShowEndIfEndSubPrivateSubb4_Click()EndEndSubPrivateSubc1_Click()Form2.Hideform8.ShowEndSubPrivateSubc2_Click()Form2.Hideform7.ShowEndSubPrivateSubCommand1_Click(IndexAsInteger)SelectCaseIndexCase0Form2.WindowState=1Case1Form2.WindowState=0Case2Form2.WindowState=2EndSelectEndSubPrivateSubd1_Click()Form2.Hideform9.ShowEndSubPrivateSubf1_Click()Form2.Hidejiaoshi.ShowEndSubPrivateSubForm_Load()'Label1.Left=Form2.Width-Label1.Width'label1.Top=Form2.Height-Label1.HeightEndSubPrivateSubTimer1_Timer()Label1.Caption=NowEndSub管理員PrivatecnnAsNewADODB.ConnectionPrivateRsAsNewADODB.RecordsetPrivateSubCommand2_Click()Rs.Closecnn.CloseForm4.HideForm2.ShowEndSubPrivateSubForm_Load()Setcnn=NewADODB.ConnectionSetRs=NewADODB.Recordset'cnn.Opencnncnn.Open"DRIVER=MicrosoftAccessDriver(*.mdb);DBQ="&App.Path&"\db2.mdb"Rs.Open"select*fromUsers",cnn,3,3calldatashow1(rs,msflexgrid)EndSub課程管理1〕課程查詢OptionExplicitPrivatecnnAsNewADODB.ConnectionPrivateRsAsNewADODB.RecordsetPrivateRs1AsNewADODB.RecordsetPrivateSubCommand1_Click(IndexAsInteger)SelectCaseIndexCase0Rs.Open"select*fromCoursewhereCourseIDlike"&"'"&Text1.Text&"'",cnn,3,3IfRs.RecordCount=0ThenMsgBox"不存在這個編號!,請重新輸入"Text1.Text=""Text1.SetFocusElseCallShowDatacalldatashow1(rs,msflexgrid)EndIfRs.Close'Data1.Recordset.FindFirst"CourseIDlike"&"'"&Text1.Text&"'"Case1Rs1.Closecnn.Closeform8.HideForm2.ShowEndSelectEndSubPrivateSubForm_Load()Setcnn=NewADODB.ConnectionSetRs=NewADODB.Recordsetcnn.Open"DRIVER=MicrosoftAccessDriver(*.mdb);DBQ="&App.Path&"\db2.mdb"'cnn.OpencnnRs.Open"select*fromCourse",cnn,3,3Rs1.Open"select*fromCourse",cnn,3,3calldatashow1(rs,msflexgrid1)CallShowDataRs.CloseEndSubPrivateSubShowData()lblCourseID.Caption=Rs.Fields(0).ValuelblCourseName.Caption=Rs.Fields(1).ValuelblCredit.Caption=Rs.Fields(2).ValuelblPeriod.Caption=Rs.Fields(3).ValuelblTeacher.Caption=Rs.Fields(4).ValueEndSub課程管理PrivateSubForm_Load()Setcnn=NewADODB.ConnectionSetRs=NewADODB.Recordsetcnn.Open"DRIVER=MicrosoftAccessDriver(*.mdb);DBQ="&App.Path&"\db2.mdb"'cnn.OpencnnRs.Open"select*fromCourse",cnn,3,3IfRs.AbsolutePosition=Rs.BOFThenCommand2(0).Enabled=FalseIfRs.AbsolutePosition=Rs.EOFThenCommand2(2).Enabled=FalseCallShowDatacalldatashow1(rs,msflexgrid)EndSubPrivateSubShowData()Text1.Text=Rs.Fields(0).ValueText2.Text=Rs.Fields(1).ValueText3.Text=Rs.Fields(2).ValueText4.Text=Rs.Fields(3).ValueText5.Text=Rs.Fields(4).ValueText6.Text=Rs.Fields(5).ValueEndSubPrivateSubupdata()Rs.Fields(0).Value=Text1.TextRs.Fields(1).Value=Text2.TextRs.Fields(2).Value=Text3.TextRs.Fields(3).Value=Text4.TextRs.Fields(4).Value=Text5.TextRs.Fields(5).Value=Text6.TextEndSub成績管理OptionExplicitPrivatecnnAsNewADODB.ConnectionPrivateRsAsNewADODB.RecordsetPrivateRs1AsNewADODB.RecordsetPrivateSubCommand1_Click(IndexAsInteger)SelectCaseIndexCase0Rs.Open"selectStudent.StudentID,Student.Name,Student.Sex,Student.Birthday,Department.DepartName,Class.ClassName,Class.MasterfromStudent,Class,DepartmentwhereStudent.ClassID=Class.ClassIDandClass.DepartID=Department.DepartIDandStudent.StudentID='"&Text1.Text&"'",cnn,3,3IfRs.RecordCount=0ThenMsgBox"不存在這個學號,請重新輸入!"Text1.SetFocusExitSubRs.CloseElseCallShowDatacalldatashow1(rs,msflexgrid)Rs.CloseRs.Open"selectcount(*)fromScorewhereScore.Score<60andScore.StudentID='"&Text1.Text&"'groupbyStudentID",cnn,3,3'Label12(0).Caption=Rs.Fields(0).ValueRs.CloseRs.Open"selectmax(Score),avg(Score),min(Score)fromScorewhereScore.StudentID='"&Text1.Text&"'",cnn,3,3IfRs.RecordCount=0ThenMsgBox"不存在這個學號,請重新輸入!"Text1.Text=""Text1.SetFocusExitSubRs.CloseElseLabel12(1).Caption=Rs.Fields(0).ValueLabel12(2).Caption=Rs.Fields(1).ValueLabel12(3).Caption=Rs.Fields(2).ValueRs.CloseEndIfEndIf'Data1.Recordset.FindFirst"StudentIDlike"&"'"&Text1.Text&"'"'Data2.Recordset.FindFirst"ClassIDlike"&"'"&Text2.Text&"'"'Data3.Recordset.FindFirst"DepartIDlike"&"'"&Text3.Text&"'"Case1Rs1.Closecnn.Closeform9.HideForm2.ShowEndSelectEndSubPrivateSubForm_Load()Setcnn=NewADODB.ConnectionSetRs=NewADODB.Recordsetcnn.Open"DRIVER=MicrosoftAccessDriver(*.mdb);DBQ="&App.Path&"\db2.mdb"'cnn.OpencnnRs.Open"selectStudent.StudentID,Student.Name,Student.Sex,Student.Birthday,Department.DepartName,Class.ClassName,Class.MasterfromStudent,Class,DepartmentwhereStudent.ClassID=Class.ClassIDandClass.DepartID=Department.DepartID",cnn,3,3Rs1.Open"selectStudent.StudentID,Student.Name,Student.Sex,Student.Birthday,Department.DepartName,Class.ClassName,Class.MasterfromStudent,Class,DepartmentwhereStudent.ClassID=Class.ClassIDandClass.DepartID=Department.DepartID",cnn,3,3calldatashow1(rs,msflexgrid1)CallShowDataRs.CloseRs.Open"selectcount(*)fromScorewhereScore.Score<60andScore.StudentID='"&lblStudentID.Caption&"'groupbyStudentID",cnn,3,3Label12(0).Caption=Rs.Fields(0).ValueRs.CloseRs.Open"selectmax(Score),avg(Score),min(Score)fromScorewhereScore.StudentID='"&lblStudentID.Caption&"'",cnn,3,3Label12(1).Caption=Rs.Fields(0).ValueLabel12(2).Caption=Rs.Fields(1).ValueLabel12(3).Caption=Rs.Fields(2).ValueRs.CloseEndSubPrivateSubShowData()lblStudentID.Caption=Rs.Fields(0).ValuelblName.Caption=Rs.Fields(1).ValuelblSex.Caption=Rs.Fields(2).ValuelblBirthday.Caption=Rs.Fields(3).ValuelblDepart.Caption=Rs.Fields(4).ValuelblClass.Caption=Rs.Fields(5).ValuelblMaster.Caption=Rs.Fields(6).ValueEndSub教師查詢OptionExplicitPrivatecnnAsNewADODB.ConnectionPrivateRsAsNewADODB.RecordsetPrivateSubCommand1_Click(IndexAsInteger)Rs.Open"select*from教師表","DSN=db1;UserID=;pwd=",3,3Dimn%n=Val(Text8.Text)SelectCaseIndexCase0Rs.MoveFirstCallShowDataCommand1(1).Enabled=FalseCommand1(2).Enabled=TrueCommand1(3).Enabled=TrueCase1Rs.MovePreviousCallShowDataCommand1(0).Enabled=TrueCommand1(1).Enabled=TrueCommand1(2).Enabled=TrueCommand1(3).Enabled=TrueCase2Rs.MoveNextCallShowDataCommand1(0).Enabled=TrueCommand1(1).Enabled=TrueCommand1(2).Enabled=TrueCommand1(3).Enabled=TrueCase3Rs.MoveLastCallShowDataCommand1(0).Enabled=TrueCommand1(1).Enabled=TrueCommand1(2).Enabled=FalseCommand1(3).Enabled=TrueCase4Ifn>Rs.RecordCountThenMsgBox"此表沒有那么多記錄!"ElseRs.Move(n)CallShowDataEndIfEndSelectRs.CloseEndSubPrivateSubCommand2_Click(IndexAsInteger)Rs.Open"select*from教師表where姓名like"&"'"&Text9.Text&"'","DSN=db1;UserID=;pwd=",3,3IfRs.RecordCount=0ThenMsgBox"此表不存在這個姓名!"Rs.CloseElseSelectCaseIndexCase0Rs.MoveFirstCallShowDataCase1Rs.MovePreviousCallShowDataCase2Rs.MoveNextCallShowDataCase3Rs.MoveLastCallShowDataEndSelectRs.CloseEndIfEndSubPrivateSubCommand3_Click(IndexAsInteger)Rs.Open"select*from教師表where教師編號like"&"'"&Text10.Text&"'","DSN=db1;UserID=;pwd=",3,3IfRs.RecordCount=0ThenMsgBox"此表不存在這個姓名!"Rs.CloseElseSelectCaseIndexCase0Rs.MoveFirstCallShowDataCase1Rs.MovePreviousCallShowDataCase2Rs.MoveNextCallShowDataCase3Rs.MoveLastCallShowDataEndSelectRs.CloseEndIfEndSubPrivateSubCommand4_Click(IndexAsInteger)Rs.Open"select*from

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論