VB面向?qū)ο蟪绦蛟O(shè)計學(xué)生信息管理系統(tǒng)教學(xué)內(nèi)容_第1頁
VB面向?qū)ο蟪绦蛟O(shè)計學(xué)生信息管理系統(tǒng)教學(xué)內(nèi)容_第2頁
VB面向?qū)ο蟪绦蛟O(shè)計學(xué)生信息管理系統(tǒng)教學(xué)內(nèi)容_第3頁
VB面向?qū)ο蟪绦蛟O(shè)計學(xué)生信息管理系統(tǒng)教學(xué)內(nèi)容_第4頁
VB面向?qū)ο蟪绦蛟O(shè)計學(xué)生信息管理系統(tǒng)教學(xué)內(nèi)容_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Good is good, but better carries it.精益求精,善益求善。VB面向?qū)ο蟪绦蛟O(shè)計學(xué)生信息管理系統(tǒng)-華北科技學(xué)院課程設(shè)計說明書(VB面向?qū)ο蟪绦蛟O(shè)計)班級:*姓名:*設(shè)計題目:學(xué)生信息管理系統(tǒng)設(shè)計時間:2009.2.23至2009.3.5指導(dǎo)教師:楊月江評語:_評閱成績:評閱教師:面相對象程序設(shè)計(VB)課程設(shè)計報告實驗題目:學(xué)生信息管理系統(tǒng)實驗?zāi)康模寒?dāng)今教育正在普及,學(xué)校要對每位同學(xué)的基本信息情況進(jìn)行統(tǒng)計整理,如何對信息進(jìn)行保存、查詢無疑很重要,同時滿足信息管理者和查詢者的使用。而系統(tǒng)的安全也相當(dāng)重要,防止惡意者的竄改給使用者帶來極大不便。在本系統(tǒng)中將實現(xiàn)數(shù)據(jù)庫

2、應(yīng)用系統(tǒng)最基本的幾種功能,即對信息的保存、增加、瀏覽、修改、刪除以及查詢,同時還提供一定的安全功能。實驗設(shè)備及環(huán)境:PC兼容機(jī)、Windows操作系統(tǒng)、VB軟件等。功能模塊簡介和系統(tǒng)結(jié)構(gòu)圖學(xué)生信息管理系統(tǒng)學(xué)生成績查詢安全機(jī)制基本情況管理查看報表各專業(yè)人數(shù)統(tǒng)計學(xué)生信息編輯、瀏覽成績統(tǒng)計情況登錄時間控制鎖定密碼修改密碼登錄基本情況管理模塊學(xué)生信息編輯模塊是管理員可以對學(xué)生基本信息及成績進(jìn)行添加、修改、刪除等操作,而學(xué)生則不可以;成績統(tǒng)計情況模塊可以以表格和圖表的形式顯示前三名同學(xué)的平均成績和最低成績;各專業(yè)人數(shù)統(tǒng)計模塊以直方圖圖表形式顯示各專業(yè)的總?cè)藬?shù)。學(xué)生成績查詢管理員可以添加、修改、刪除學(xué)生的

3、專業(yè)、學(xué)號、姓名,并以網(wǎng)格顯示對應(yīng)學(xué)號學(xué)生的成績,而學(xué)生只能瀏覽信息。查看報表可以查看學(xué)生的基本情況,包括學(xué)號、姓名、系別、專業(yè)、出生年月等信息。安全機(jī)制密碼登錄用戶登錄時要輸入用戶名、用戶身份和密碼,這三項一一對應(yīng)才能登錄此系統(tǒng),并根據(jù)用戶身份限制相應(yīng)操作。密碼修改用戶登錄時有初始密碼,為保護(hù)個人隱私,防止他人盜用竄改,成功登錄系統(tǒng)后可以進(jìn)行密碼修改。登錄時間控制鎖定如果用戶三次登錄出現(xiàn)錯誤,系統(tǒng)就會鎖定,要求用戶一分鐘后再嘗試重新登錄(為方便操作,此系統(tǒng)鎖定時間設(shè)置較短,可以更改延長)。在鎖定未解除時登錄,系統(tǒng)會提示您還有多長時間才可以登錄。這有效防止惡意者頻繁嘗試登錄,竄改信息。系統(tǒng)的主

4、要界面設(shè)計及運行說明:1.登錄界面當(dāng)用戶輸入的信息有錯誤時,系統(tǒng)會提示你是用戶名錯誤還是密碼錯誤。登錄窗體的Borderstyle屬性設(shè)置為0-None,畫面美觀。如圖1、圖2所示。圖1錯誤登錄提示圖圖2登錄鎖定圖當(dāng)用戶三次登錄都錯誤時,系統(tǒng)會提示您“登錄錯誤已達(dá)3次,請1分鐘后重新登錄”;若在1分鐘內(nèi)登錄,系統(tǒng)會提示還要多長時間才可以登錄。這提高了系統(tǒng)的安全系數(shù),防止惡意者頻繁嘗試登錄。2.系統(tǒng)主界面主界面為MDI窗體,通過菜單編輯器建立系統(tǒng)菜單,并使用工具欄,設(shè)置了“密碼修改”和“信息瀏覽”兩個命令按鈕,當(dāng)鼠標(biāo)指向命令按鈕時,有相應(yīng)文本提示出現(xiàn)。單擊各個命令按鈕進(jìn)行相關(guān)操作。如果登錄者身份

5、為“管理員”,則“學(xué)籍管理”下的“學(xué)生信息編輯”命令可用;若登錄者身份為“學(xué)生”,則該命令不可用。在主窗體中還使用了狀態(tài)欄,在第一個窗格中填寫文本,顯示設(shè)計者名稱;在第二個窗格中通過代碼顯示當(dāng)前使用者姓名。并在后面的窗格中添加鐘表圖片,顯示當(dāng)前時間;還可以顯示當(dāng)前日期。窗體界面美觀大方,并盡量為使用者提供方便。如圖3所示。圖3主窗體運行界面圖3.學(xué)生信息編輯界面此模塊可以使管理者添加、刪除、修改以及查詢學(xué)生基本信息,當(dāng)單擊“新增”命令時,該命令按鈕的Caption變?yōu)椤按_定”,同時,“刪除”和“修改”命令變灰,不能使用。填寫完信息后,單擊“確定”,則新信息成功錄入;若單擊“放棄”,則跳回當(dāng)前記

6、錄。“修改”命令類似。如圖4所示。圖4學(xué)生信息編輯模塊運行效果圖4.成績統(tǒng)計界面此界面顯示平均成績在前三名的成績情況。如圖5所示。通過select語句實現(xiàn),添加ADO控件,分別與兩個表建立連接,adodc1的visibel屬性設(shè)為false。通過相對路徑設(shè)置adodc1的屬性,這樣在使用時,不會出現(xiàn)每次使用不同的電腦,因裝在不同的硬盤分區(qū)而重新連接,為使用者提供了便利。具體代碼如下:PrivateSubForm_Load()Adodc1.ConnectionString=Provider=Microsoft.Jet.OLEDB.3.51;PersistSecurityInfo=False;Da

7、taSource=&App.Path&stu.mdbAdodc1.CommandType=adCmdUnknownAdodc1.RecordSource=Selecttop3基本情況.姓名,Avg(成績)As平均成績,Min(成績)As最低成績From基本情況,成績情況Where基本情況.學(xué)號=成績情況.學(xué)號GroupBy基本情況.姓名,成績情況.學(xué)號OrderbyAvg(成績)desc;Adodc1.RefreshEndSub圖5成績統(tǒng)計模塊運行效果圖專業(yè)人數(shù)統(tǒng)計界面類似成績統(tǒng)計界面,就不再贅述。學(xué)生成績查詢界面運行此界面時單擊“查詢”命令,會彈出對話框讓你輸入要查詢的學(xué)號。運行后會在表格中

8、顯示學(xué)號、課程和成績。單擊“關(guān)閉”,退出此界面。如圖6所示。主要代碼如下:PrivateSubCommand1_Click()DimcAsStringc=InputBox$(請輸入學(xué)號,查找窗)Data1.RecordSource=select*from成績情況where學(xué)號like&c&Data1.RefreshIfData1.Recordset.EOFThenMsgBox無此學(xué)號!,提示Data1.RecordSource=成績情況Data1.RefreshEndIfEndSub圖6學(xué)生成績查詢運行效果圖密碼修改界面此窗體添加了一個隱藏的data1控件,使“密碼”與數(shù)據(jù)庫“用戶表”綁定,同

9、樣,使用的是相對路徑:PrivateSubForm_Load()Data1.DatabaseName=App.Path&用戶表.mdbData1.RecordSource=用戶表EndSub圖7密碼修改當(dāng)密碼不正確,或新密碼為空,或“修改密碼”與“確認(rèn)密碼”不同時,系統(tǒng)都會有相應(yīng)提示;成功修改密碼后,也會有提示。此過程主要通過if語句判斷實現(xiàn)。如圖7所示。信息查詢界面在此窗口,管理員可以進(jìn)行添加、編輯、刪除等操作,而學(xué)生只能查看。它是將兩個數(shù)據(jù)庫中的內(nèi)容組合在一起顯示的。如圖8所示。圖8信息查詢運行效果圖報表顯示數(shù)據(jù)庫“基本情況”中的信息,可以使使用者對基本信息一覽無余,直觀方便。如圖9所示。

10、圖9報表五、程序的主要代碼:1、登錄模塊代碼:Publicyhm$,mm1$Dimnum%PrivateSubCommand1_Click()Dimyh$,mm$,a%yh=Trim(Text1.Text)OnErrorResumeNextDimmAsStringm=select*from用戶表where用戶名=&Trim(Text1.Text)&and用戶身份=&Trim(Combo1.Text)&Me.Data1.RecordSource=mMe.Data1.Refreshyh=Text1.Textmm=Text2.TextIfMe.Data1.Recordset.RecordCount=

11、0ThenMsgBox用戶名不存在或用戶身份錯誤,請重新輸入!,vbExclamation,提示num=num+1Elsemm=Text2.TextIfmm=Data1.Recordset.Fields(密碼)Thenyhm=yhmm1=Text2.Textsys_lock=Falsenum=0登錄.HideMDIForm1.ShowElseMsgBox密碼錯誤,請重新輸入!,輸入錯誤num=num+1Text2.Text=Text2.SetFocusEndIfEndIfIfnum=3ThenMsgBox登錄錯誤已達(dá)3次,請1分鐘后重新登錄,vbInformation,錯誤a=Minute(T

12、ime)*60+Second(Time)Setfso=CreateObject(scripting.filesystemobject)Settxtfile=fso.createtextfile(App.Path&time.txt,True)txtfile.write(a)txtfile.CloseEndEndIfEndSubPrivateSubCommand2_Click()EndEndSubPrivateSubForm_Load()Data1.DatabaseName=App.Path&用戶表.mdbData1.RecordSource=用戶表Combo1.Text=學(xué)生OnErrorGoT

13、oaOpenApp.Path&time.txtForInputAs#1Input#1,aClose#1b=Minute(Time)*60+Second(Time)c=b-CSng(a)Ifc60ThenMsgBox登錄錯誤已經(jīng)鎖定系統(tǒng),&60-c&秒鐘后登錄,vbInformation,提示EndElseKillApp.Path&time.txtEndIfa:EndSub2.主窗體代碼:PrivateSubcjcx_Click()成績查詢.ShowEndSubPrivateSubcjtj_Click()成績統(tǒng)計.ShowEndSubPrivateSubckbb_Click()DataRepor

14、t1.ShowEndSubPrivateSubMDIForm_Load()StatusBar1.Panels(2).Text=系統(tǒng)當(dāng)前用戶:&登錄.yhmIfTrim(登錄.Combo1.Text)=管理員ThenMDIForm1.xsxxbj.Enabled=Truefrm基本情況.cmdAdd.Enabled=Truefrm基本情況.cmdCancel.Enabled=Truefrm基本情況.cmdDelete.Enabled=Truefrm基本情況.cmdEdit.Enabled=Truefrm基本情況.cmdUpdate.Enabled=Truefrm基本情況.cmdRefresh.E

15、nabled=TrueElseMDIForm1.xsxxbj.Enabled=Falsefrm基本情況.cmdAdd.Enabled=Falsefrm基本情況.cmdCancel.Enabled=Falsefrm基本情況.cmdDelete.Enabled=Falsefrm基本情況.cmdEdit.Enabled=Falsefrm基本情況.cmdUpdate.Enabled=Falsefrm基本情況.cmdRefresh.Enabled=FalseEndIfEndSubPrivateSubrstj_Click()人數(shù)統(tǒng)計.ShowEndSubPrivateSubtc_Click()EndEnd

16、SubPrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)SelectCaseButton.KeyCaseTmm修改密碼.ShowCaseTckfrm基本情況.ShowEndSelectEndSubPrivateSubxhcx_Click()X=MsgBox(請輸入要查詢的學(xué)號,查詢)EndSubPrivateSubxsxxbj_Click()信息管理.ShowEndSub3.成績查詢模塊代碼:PrivateSubCommand1_Click()DimcAsStringc=InputBox$(請輸入學(xué)號,查找窗)Data

17、1.RecordSource=select*from成績情況where學(xué)號like&c&Data1.RefreshIfData1.Recordset.EOFThenMsgBox無此學(xué)號!,提示Data1.RecordSource=成績情況Data1.RefreshEndIfEndSubPrivateSubCommand2_Click()UnloadMeEndSubPrivateSubForm_Load()Data1.DatabaseName=App.Path&stu.mdbEndSub4.人數(shù)統(tǒng)計模塊代碼:PrivateSubCommand1_Click()UnloadMeEndSubPriv

18、ateSubForm_Load()Adodc1.ConnectionString=Provider=Microsoft.Jet.OLEDB.3.51;PersistSecurityInfo=False;DataSource=&App.Path&stu.mdbAdodc1.CommandType=adCmdUnknownAdodc1.RecordSource=Select專業(yè),count(*)As人數(shù)From基本情況GroupBy專業(yè)Adodc1.RefreshEndSub5.學(xué)生信息編輯模塊代碼:PrivateSubCommand1_Click()Command2.Enabled=NotCom

19、mand2.EnabledCommand3.Enabled=NotCommand3.EnabledCommand4.Enabled=TrueIfCommand1.Caption=新增ThenCommand1.Caption=確認(rèn)mbookmark=Data1.Recordset.BookmarkData1.Recordset.AddNewText1.SetFocusElseCommand1.Caption=新增Data1.Recordset.UpdateData1.Recordset.MoveLastEndIfEndSubPrivateSubCommand2_Click()i=MsgBox(確

20、定刪除當(dāng)前信息嗎?,4+vbQuestion,提示)Ifi=6ThenOnErrorResumeNextData1.Recordset.DeleteData1.Recordset.MoveNextIfData1.Recordset.EOFThenData1.Recordset.MoveLastEndIfEndSubPrivateSubCommand3_Click()Command2.Enabled=NotCommand2.EnabledCommand1.Enabled=NotCommand1.EnabledCommand4.Enabled=TrueIfCommand3.Caption=修改Th

21、enCommand3.Caption=確認(rèn)mbookmark=Data1.Recordset.BookmarkData1.Recordset.EditText1.SetFocusElseCommand3.Caption=修改Data1.Recordset.UpdateEndIfEndSubPrivateSubCommand4_Click()Command1.Caption=新增:Command3.Caption=修改Command1.Enabled=True:Command2.Enabled=TrueCommand3.Enabled=True:Command4.Enabled=Falsembo

22、okmark=Data1.Recordset.BookmarkData1.UpdateControlsData1.Recordset.Bookmark=mbookmarkEndSubPrivateSubCommand5_Click()DimmAsStringm=InputBox$(請輸入要查找的學(xué)生學(xué)號,查找窗)Data1.Recordset.FindFirst學(xué)號=&m&IfData1.Recordset.NoMatchThenMsgBox無此學(xué)號!,提示EndSubPrivateSubCommand6_Click()UnloadMeEndSubPrivateSubData1_Reposit

23、ion()Data1.Caption=基本情況:&(Data1.Recordset.AbsolutePosition+1)EndSubPrivateSubForm_Load()Adodc1.ConnectionString=Provider=Microsoft.Jet.OLEDB.3.51;PersistSecurityInfo=False;DataSource=&App.Path&stu.mdbData1.DatabaseName=App.Path&stu.mdbData1.RecordSource=基本情況Adodc1.CommandType=adCmdUnknownAdodc1.RecordSource=select*from成績情況Adodc1.RefreshAdodc1.Recordset.Find(學(xué)號=&Text1.Text&)EndSub6.修改密碼模塊代碼:Dimold$,nw$,rnew$PrivateSubCommand1_Click()old=

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論