




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、精品文檔下篇數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)實(shí)例第14章教學(xué)信息管理系統(tǒng)本章依據(jù)前面章節(jié)中用到的數(shù)據(jù)庫TuiMag.mdb,向讀者介紹一個教學(xué)信息管理系統(tǒng)的開發(fā)過程,其中主要應(yīng)用了ADO對象數(shù)據(jù)庫訪問技術(shù),以及對SQL語法的綜合運(yùn)用。14.1 系統(tǒng)分析與設(shè)計14.1.1 需求分析根據(jù)高校教學(xué)信息管理的實(shí)際要求,結(jié)合教學(xué)信息管理的實(shí)際流程,開發(fā)的教學(xué)信息管理系統(tǒng)需要滿足以下需求:( 1)對學(xué)生的基本信息進(jìn)行管理,其中包括學(xué)號、姓名、性別、出生日期、所在班級、聯(lián)系電話、備注等。( 2)對教師的基本信息進(jìn)行管理,其中包括工號、姓名、年齡、所在系(二級單位)聯(lián)系電話、備注等。( 3)對學(xué)生成績進(jìn)行管理,方便學(xué)生成績
2、的錄入和查詢。( 4)對教師的任課進(jìn)行管理,能輸出每位教師的課程表。( 5)對成績等信息提供靈活的瀏覽和綜合查詢等功能,可以方便地查看和瀏覽學(xué)生基本信息、教師基本信息、成績數(shù)據(jù)。( 6)教務(wù)員可以對學(xué)生、教師基本信息以及課程信息、成績等具有添加、刪除和編輯等操作。14.1.2 模塊設(shè)計根據(jù)系統(tǒng)需求分析,結(jié)合實(shí)際情況,經(jīng)過模塊分析,系統(tǒng)應(yīng)具有以下幾個功能模塊:1 用戶管理模塊本系統(tǒng)的用戶分為三類:學(xué)生用戶、教師用戶和教務(wù)員用戶。學(xué)生用戶是指系統(tǒng)學(xué)生基本信息表中的所有學(xué)生,其用戶名為學(xué)生的學(xué)號,初始密碼也為學(xué)號,學(xué)生用戶只能查看自己的信息和成績,不能瀏覽他人信息和成績,也不能改動自己的各項信息。教
3、師用戶是指教師基本表中的所有教師,其用戶名為教師的工號,初始密碼也為工號,教師用戶能查看所有學(xué)生的基本信息和成績,能改動自己所任課程的成績信息。教務(wù)員用戶是系統(tǒng)的特權(quán)用戶,能對所用戶信息和學(xué)生、教師基本信息以及課程信息、成績等具有添加、刪除和編輯的權(quán)限。2 學(xué)生基本信息管理模塊此部分功能只有教務(wù)員具有操作權(quán)限。由教務(wù)人員負(fù)責(zé)學(xué)生基本信息的維護(hù)管理工作,如果學(xué)生基本信息有所變動,教務(wù)員有權(quán)及時更新有關(guān)信息,實(shí)現(xiàn)對學(xué)生基本信息的添加、刪除和修改等操作。3 .課程基本信息管理模塊此部分功能只有教務(wù)員具有操作權(quán)限。由教務(wù)人員負(fù)責(zé)課程基本信息的維護(hù)管理,他包括課程代號、課程名稱、課程學(xué)分、是否核心課程,
4、由教務(wù)員實(shí)現(xiàn)對課程基本信息的添加、刪除和修改等操作。4 .教師基本信息管理模塊此部分功能只有教務(wù)員具有操作權(quán)限。由教務(wù)人員負(fù)責(zé)教師基本信息的維護(hù)管理工作,如果教師基本信息有所變動,教務(wù)員有權(quán)及時更新有關(guān)信息,實(shí)現(xiàn)對教師基本信息的添加、刪除和修改等操作。5 .程表查詢模塊由教師根據(jù)自己的工號,查詢生成相應(yīng)時間所授課程的時間和地點(diǎn),并生成課程表。14.2 創(chuàng)建數(shù)據(jù)庫及數(shù)據(jù)表14.2.1 設(shè)計數(shù)據(jù)表根據(jù)系統(tǒng)功能需求,數(shù)據(jù)庫采用Access,它完全可以滿足上述需求中提出的要求,并且它所支持的數(shù)據(jù)類型十分豐富,維護(hù)簡便,費(fèi)用低,人員素質(zhì)要求不是很高,容易升級。根據(jù)模塊的設(shè)計,以及根據(jù)規(guī)范化設(shè)計要求,該系
5、統(tǒng)的數(shù)據(jù)庫表設(shè)計如表14.1到表14.6所示:表14.1存放課程信息,表14.2存放學(xué)生信息,表14.3存放學(xué)生成績,表14.4表存放教師信息,表14.5存放教師任課信息,表14.6存放系統(tǒng)的用戶信息。表14.1課程信息表(CourInfo)字段名稱字段類型字段大小字段含義是否必填索引是否主鍵CourlD文本3課程代號是有(無重復(fù))是CourName文本20課程名稱是無CourCredit數(shù)字單精度型課程學(xué)分否無CourCore是/否是否核心課程否無表14.2學(xué)生信息表(StuInfo)字段名稱字段類型字段大小字段含義是否必填索引是否主鍵StuID文本6學(xué)生學(xué)號是有(無重復(fù))是StuName文
6、本10學(xué)生姓名是無StuSex文本2學(xué)生性別否無StuBirthDate日期/時間學(xué)生出生日期否無StuClass文本20學(xué)生所在班級否無StuFrom文本20學(xué)生來源否無StuTel文本20學(xué)生聯(lián)系電話否無StuMem文本學(xué)生備注否無StuPhotoOLE對象學(xué)生照片否無StuPhotoSize數(shù)字學(xué)生照片大小否無表14.3學(xué)生成績表(StuScore)字段名稱字段類型字段大小字段含義是否必填索引是否主鍵StuID文本6學(xué)生學(xué)號是無是CourID文本3課程代號是無是StuScore數(shù)字單精度型學(xué)生成績否無表14.4教師信息表TTechInfo)字段名稱字段類型字段大小字段含義是否必填索引是否
7、主鍵TechID文本6教師工號是有(尢重復(fù))是TechName文本20教師姓名否無TechAge數(shù)字整型教師年齡否無TechUnit文本20教師所在系(二級單位)否無TechTel文本20教師聯(lián)系電話否無TechMem備注教師備注否無表14.5教師任課表(TechAppoint)字段名稱字段類型.字段大小字段含義是否必填索引是否主鍵TechID文本6任課教師工號是無是CourID文本3任課課程代號是無是ClassTime文本8上課時間否無是ClassPlace文本51上課地點(diǎn)否無表14.6用戶信息表(UserInfo)字段名稱字段類型字段大小字段含義是否必填索引是否主鍵UserName文本6用
8、戶名是有(尢重復(fù))是UserRealName文本20用戶實(shí)名是無UserTel文本20用戶聯(lián)系電話否無UserPurview文本10用戶權(quán)限否r無UserPassword文本8用戶密碼否無14.2.2 創(chuàng)建數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫包括3方面的內(nèi)容:(1)首先在Access2002中創(chuàng)建名為TuiMag的數(shù)據(jù)庫;(2)然后按表14.1至表14.6的要求,在數(shù)據(jù)庫中創(chuàng)建課程信息表、學(xué)生信息表、學(xué)生成績表、教師信息表、教師任課表和用戶信息表;(3)最后建立課程信息表、學(xué)生信息表、學(xué)生成績表之間的關(guān)系:通過CourlD字段建立課程信息表與學(xué)生成績表間一對多的關(guān)系,通過StuID字段建立學(xué)生信息表與學(xué)生成績表間
9、一對多的關(guān)系,如圖14.1所示。精品文檔圖14.1課程信息表、學(xué)生信息表、學(xué)生成績表間的關(guān)系14.3 創(chuàng)建工程和系統(tǒng)主窗體14.3.1 創(chuàng)建工程在VB中創(chuàng)建一個工程,命名為TuiMag.vbp,將創(chuàng)建的TuiMag.mdb數(shù)據(jù)庫拷貝到代碼目錄中,以便建立數(shù)據(jù)庫連接。本系統(tǒng)將采取ADO作為數(shù)據(jù)連接的手段,所以需要在工程中添加對ADO的引用,具體方法如下:選擇菜單中的工程/引用,在出現(xiàn)的表單中選擇MicrosoftActiveXDataObjects2.5Library,單擊確定按鈕。如圖14.2所示。2d可用的引用電、IAS RADIUS Protocol 1.0 Tvoe LtrarvAoro
10、IEHelDer 1.0 Tvdb LibraryActive DS BS Extension DIActive DS IIS Mamsciace ProviderActive DS Ivoe Libraf*Active SetLE Control Library rnn+ml trnp ihrarr西 1而五再函”所記后式日沃麗iJAS Htoer com comoonent 1.0 Tvoe LibraryVisual B/匚 For AEdlctionsVi丸以 Basic runtime objects and orocedures 二jVisual Basic objects and
11、 prooediresOLE Automation幫助Of)-UicrosdftActifeKDataObjects:25Librwy定比CAProgrwFsystems4425t1b語言標(biāo)地圖14.2添加對ADO的引用14.3.2創(chuàng)建系統(tǒng)主窗體在VisualBasic中,既可以創(chuàng)建單文檔(SDI)應(yīng)用程序,也可以創(chuàng)建多文檔(MDI)應(yīng)用程序。在單文檔應(yīng)用程序中,每個窗體彼此獨(dú)立。而多文檔應(yīng)用程序,有一個窗體是主窗體,它可以包含若干個子窗體。本例擬建立一個多文檔應(yīng)用程序,將所建立的多個窗體作為主窗體的子窗體,便于管理。單擊工具欄中的“添加MDI窗體”按鈕,生成一個默認(rèn)名稱為MDIForml的窗
12、體,按表14.7設(shè)置它的屬性。表14.7系統(tǒng)主窗體屬性的設(shè)置屬性屬性值Caption教學(xué)信息管理系統(tǒng)StartUpPositionCenterScreenWindowStateMaximized1 .系統(tǒng)主窗體菜單的創(chuàng)建在設(shè)計視圖下,右單擊主窗體,選擇快捷菜單中的“菜單編輯器”,在“菜單編輯器”依據(jù)表14.8,建立系統(tǒng)菜單。菜單建立完成后,運(yùn)行主窗體的效果如圖14.3所示。表14.8主窗體菜單及其名稱標(biāo)題名稱標(biāo)題名稱基本信息(&B)mnuBaseInfo教師任課(&A)mnuEditTechAppoint課程信息(&C)mnuCourInfo教師課程表mnuQueryTechAppoint學(xué)生
13、信息(&S)mnuStuInfo學(xué)生成績(&S)mnuStuScore教師信息(&T)mnuTechInfo學(xué)生成績(&S)mnuEditStuScore用戶信息(&U)mnuUserInfo成績查詢(&Q)mnuQueryStuScore教師任課(&A)mnuTechAppoint退出(&X)mnuExit-1P|x|基本信息(外題師任課(公學(xué)生成倍退出(冷課程信息(口字主信i|別幣信息出用號信息圖14.3主窗體的運(yùn)行效果2 .系統(tǒng)主窗體代碼系統(tǒng)各功能模塊通過主窗體的菜單項來調(diào)用,因此系統(tǒng)主窗體各菜單項的代碼主要功能是顯示各窗體,當(dāng)然,也可以把一些簡單的代碼段寫在主窗體的菜單項的單擊事件中。
14、主窗體作為系統(tǒng)運(yùn)行時第一個裝載的窗體,在窗體裝載事件中,完成與數(shù)據(jù)庫的連接。代碼如下:PrivateSubMDIForm_Load()Setcn=NewADODB.Connectioncn.OpenProvider=Microsoft.Jet.OLEDB.4.0;DataSource_&=&App.Path&TuiMag.mdb;PersistSecurityInfo=FalseEndSubPrivateSubmnuCourInfo_Click()frmCourInfo.ShowEndSubPrivateSubmnuEditStuScore_Click()frmStuScore.ShowEnd
15、SubPrivateSubmnuEditTechAppoint_Click()frmTechAppoint.ShowEndSubPrivateSubmnuExit_Click()EndEndSubPrivateSubmnuQueryStuScore_Click()frmQueryStuScore.ShowEndSubPrivateSubmnuQueryTechAppoint_Click()frmQueryTechAppoint.ShowEndSubPrivateSubmnuStuInfo_Click()frmStuInfo.ShowEndSubPrivateSubmnuTechInfo_Cli
16、ck()frmTechInfo.ShowEndSubPrivateSubmnuUserInfo_Click()frmUserInfo.ShowEndSub另外,添加模塊,在模塊窗口定義模塊級變量,用戶數(shù)據(jù)庫的連接和記錄集的存儲。PubliccnAsNewADODB.ConnectionPublicrsAsNewADODB.Recordset14.4課程信息管理模塊14.4.1 模塊功能課程信息管理模塊主要完成課程管理的功能,內(nèi)容包括課程代號、課程名稱、學(xué)分、是否核心課程等,本模塊實(shí)現(xiàn)對課程的添加、刪除、修改等操作。14.4.2 界面設(shè)計根據(jù)上述模塊功能要求,按表14.9設(shè)計“課程信息管理”窗體
17、,并添加控件,控件的屬性設(shè)置參見表14.9,設(shè)計完成后的窗體界面如圖14.4所示。表14.9課程信息管理窗體主要控件的屬性設(shè)置及其功能說明表控件名稱屬性設(shè)置或功能說明LabelLabel1Caption屬性為“課程代號”LabelLabel2Caption屬性為“課程名稱”LabelLabel3Caption屬性為“學(xué)分”CheckBoxchkCourCoreCaption屬性為“是否核心課程”,用于錄入或編輯是否核心課程TextBoxtxtCourID用于錄入或編輯課程代號TextBoxtxtCourCredit用于錄入或編輯課程學(xué)分TextBoxtxtCourName用于錄入或編輯課程名稱
18、CommandButtoncmdAddPicture屬性為“add.bmp,Style屬性為“1-Graphical,Caption屬性為(空)CommandButtoncmdDelPicture屬性為“add.bmp,Style屬性為“1-Graphical,Caption屬性為(空)CommandButtoncmdEditPicture屬性為“Edit.bmp,Style屬性為“1-Graphical,Caption屬性為(空)CommandButtoncmdSavePicture屬性為Save.bmp,Style屬性為“1-Graphical”,Caption屬性為(空)CommandB
19、uttoncmdCancelPicture屬性為Cancel.bmp,Style屬性為“1-Graphical”,Caption屬性為(空)CommandButtoncmdFirstPicture屬性為First.bmp,Style屬性為“1-Graphical”,Caption屬性為(空)CommandButtoncmdPreviousPicture屬性為Previous.bmp,Style屬性為“1-Graphical”,Caption屬性為(空)CommandButtoncmdNextPicture屬性為“Next.bmp,Style屬性為“1-Graphical”,Caption屬性為
20、(空)CommandButtoncmdLastPicture屬性為“Last.bmp,Style屬性為“1-Graphical”,Caption屬性為(空)CommandButtoncmdExitPicture屬性為“Exit.bmp,Style屬性為“1-Graphical,Caption屬性為(空)圖14.4課程信息管理窗體14.4.3 編寫模塊代碼( 1窗體的屬性設(shè)置:名稱為frmCourInfo,BorderStyle為3-FixedDialog,Caption屬性為“課程信息管理”。并在窗體的通用聲明段添加如下代碼,用于指定當(dāng)前編輯模式。DimAddModeAsBoolean( 2在
21、模塊文件中添加SetCmdNotEnable過程和SetCmdEnable過程,用于設(shè)置當(dāng)前各命令按鈕是否可用,其中過程的參數(shù)類型為Form類型,可以被各窗體調(diào)用。SubSetCmdNotEnable(frmAsForm)frm.cmdAdd.Enabled=Falsefrm.cmdEdit.Enabled=Falsefrm.cmdDelete.Enabled=Falsefrm.cmdFirst.Enabled=Falsefrm.cmdPrevious.Enabled=Falsefrm.cmdNext.Enabled=Falsefrm.cmdLast.Enabled=Falsefrm.cmdS
22、ave.Enabled=Truefrm.cmdCancel.Enabled=TrueEndSubSubSetCmdEnable(frmAsForm)frm.cmdAdd.Enabled=Truefrm.cmdEdit.Enabled=Truefrm.cmdDelete.Enabled=Truefrm.cmdFirst.Enabled=Truefrm.cmdPrevious.Enabled=Truefrm.cmdNext.Enabled=Truefrm.cmdLast.Enabled=Truefrm.cmdSave.Enabled=Falsefrm.cmdCancel.Enabled=False
23、EndSub( 3定義過程clearcontrol,用于實(shí)現(xiàn)窗體控件內(nèi)容的清空。Subclearcontrol()txtCourID.Text=txtCourName.Text=txtCourCredit.Text=chkCourCore.Value=0EndSub( 4定義過程ControltoField,用于實(shí)現(xiàn)窗體控件內(nèi)容的保存,其中過程的參數(shù)類型為記錄集類型。SubControltoField(rssAsADODB.Recordset)rss!CourID=Trim(txtCourID.Text)rss!CourName=Trim(txtCourName.Text)rss!CourCr
24、edit=Val(Trim(txtCourCredit.Text)+)IfchkCourCore.Value=1Thenrss!CourCore=TrueElserss!CourCore=FalseEndIfEndSub5 定義過程FieldtoControl,用于實(shí)現(xiàn)在窗體控件中顯示記錄集各字段內(nèi)容,其中過程的參數(shù)類型為記錄集類型。SubFieldtoControl(rssAsADODB.Recordset)txtCourID.Text=Trim(rss!CourID)txtCourName.Text=Trim(rss!CourName)txtCourCredit.Text=Trim(rss
25、!CourCredit)Ifrss!CourCore=TrueThenchkCourCore.Value=1ElsechkCourCore.Value=0EndIfEndSub6 窗體激活事件過程,根據(jù)CourInfo表生成記錄集,并顯示在窗體各控件中,也可以看成對窗體的初始化。PrivateSubForm_Activate()strSql=select*fromCourInfoSetrs=NewADODB.Recordsetrs.ActiveConnection=cnrs.OpenstrSql,cn,adOpenKeyset,adLockPessimisticIfrs.RecordCount
26、0Thenrs.MoveFirst:CallFieldtoControl(rs)ElseDoEventsMsgBox無任何課程記錄可顯示!,48,提示CallclearControlEndIfcmdFirst_ClickEndSub7 為命令按鈕“添加”單擊事件過程,為記錄的添加作好準(zhǔn)備。SubcmdAdd_Click()CallSetCmdNotEnable(Me)CallclearcontrolIfNotrs.EOF()AndNotrs.BOF()Thenrs.MoveLastrs.AddNewtxtCourID.SetFocusAddMode=TruetxtCourID.Enabled=
27、TrueEndSub8 為命令按鈕“編輯”單擊事件過程,為記錄的編輯作好準(zhǔn)備。SubcmdEdit_Click()AddMode=FalseCallSetCmdNotEnable(Me)Ifrs.EOFOrrs.BOFOrTrim(txtCourID)=ThenMsgBox無記錄可修改?,48+vbOKCancel,警告ExitSubEndIftxtCourID.Enabled=FalseEndSub(9為命令按鈕“保存”單擊事件過程,將添加的記錄或?qū)τ涗浀男薷倪M(jìn)行保存。PrivateSubcmdSave_Click()IfTrim(txtCourID.Text)=ThenMsgBox課程代號
28、不能為空,vbCritical,不能保存ExitSubEndIfOnErrorResumeNextCallSetCmdEnable(Me)IfAddMode=TrueThenstrSql=select*fromCourInfowhereTrim(CourID)=&Trim(Me.txtCourID.Text)&Setrstmp=NewADODB.Recordsetrstmp.OpenstrSql,cn,adOpenKeyset,adLockPessimisticIfrstmp.RecordCount0ThenMsgBox您添加的課程代號已存在,不能有相同的代號!請為新課程選擇不重復(fù)的代號,48
29、,提示Me.txtCourID.SetFocus:Me.txtCourID.SelStart=0Me.txtCourID.SelLength=Len(Me.txtCourID.Text)CallSetCmdNotEnable(Me):ExitSubElseCallMe.ControltoField(rs)rs.Update:txtCourID.Enabled=TrueEndIfElseCallMe.ControltoField(rs)rs.Update:txtCourID.Enabled=TrueEndIfEndSub(10為命令按鈕“取消”單擊事件過程,取消當(dāng)前的添加操作或?qū)τ涗浀男薷摹u
30、bcmdCancel_Click()rs.CancelUpdateCallSetCmdEnable(Me)txtCourID.Enabled=TrueEndSub(11為命令按鈕“刪除”單擊事件過程,刪除當(dāng)前記錄。SubcmdDelete_Click()Ifrs.EOFOrrs.BOFOrTrim(txtCourID)=ThenMsgBox無記錄可刪?,48+vbOKCancel,警告ExitSubElseIfMsgBox(當(dāng)真要刪除該課程信息碼?,48+vbOKCancel,警告)=1Thenrs.Deleters.UpdateCallclearcontrolElseExitSubEndIf
31、EndIfIfrs.RecordCount=0ThenMsgBox記錄已全部刪除!,48,提示EndIfEndSub12 為命令按鈕“關(guān)閉”單擊事件過程,關(guān)閉窗口。PrivateSubcmdExit_Click()UnloadMeEndSub13 為命令按鈕“第一條”單擊事件過程,將記錄集記錄指針移到第一條記錄,并顯示在窗體的有關(guān)控件中。SubcmdFirst_Click()Ifrs.RecordCount0Thenrs.MoveFirstCallMe.FieldtoControl(rs)EndIfEndSub14 為命令按鈕“最后一條”單擊事件過程,將記錄集記錄指針移到最后一條記錄,并顯示在
32、窗體的有關(guān)控件中。SubcmdLast_Click()Ifrs.RecordCount0Thenrs.MoveLastCallMe.FieldtoControl(rs)EndIfEndSub15 為命令按鈕“下一條”單擊事件過程,將記錄集記錄指針移到下一條記錄,并顯示在窗體的有關(guān)控件中。SubcmdNext_Click()Ifrs.RecordCount0Thenrs.MoveNextIfrs.EOFThenrs.MoveLastCallMe.FieldtoControl(rs)EndIfEndSub(16)為命令按鈕“上一條”單擊事件過程,將記錄集記錄指針移到上一條記錄,并顯示在窗體的有關(guān)控
33、件中。SubcmdPrevious_Click()Ifrs.RecordCount0Thenrs.MovePreviousIfrs.BOFThenrs.MoveFirstCallMe.FieldtoControl(rs)EndIfEndSub14.5 成績管理模塊14.5.1 模塊功能成績管理模塊主要完成課程成績管理的功能,內(nèi)容包括學(xué)號、課程代號、成績等,本模塊實(shí)現(xiàn)對課程成績添加、刪除、修改等操作。14.5.2 界面設(shè)計根據(jù)上述模塊功能要求,按表14.10設(shè)計“學(xué)生成績管理”窗體,并添加控件,控件的屬性設(shè)置參見表14.10,設(shè)計完成后的窗體界面如圖14.5所示。表14.10成績管理窗體主要控件
34、的屬性設(shè)置及其功能說明表控件名稱屬性設(shè)置或功能說明LabelLabel1Caption屬性為“學(xué)號”LabelLabel2Caption屬性為“課程代號”LabelLabel3Caption屬性為“成績”TextBoxtxtStuID用于錄入或編輯學(xué)號TextBoxtxtCourID用于錄入或編輯課程代號TextBoxtxtStuScore用于錄入或編輯課程成績CommandButton的名稱和屬性設(shè)置同表14.9圖14.5學(xué)生成績管理窗體14.5.3 編寫模塊代碼( 1) 窗體的屬性設(shè)置:名稱為frmStuScore,BorderStyle為3-FixedDialog,Caption屬性為“
35、學(xué)生成績管理”。并在窗體的通用聲明段添加如下代碼,用于指定當(dāng)前編輯模式。DimAddModeAsBoolean( 2) 定義過程clearcontrol,用于實(shí)現(xiàn)窗體控件內(nèi)容的清空。Subclearcontrol()txtCourID.Text=txtStuID.Text=txtStuScore.Text=EndSub( 3) 定義過程ControltoField,用于實(shí)現(xiàn)窗體控件內(nèi)容的保存,其中過程的參數(shù)類型為記錄集類型。SubControltoField(rssAsADODB.Recordset)rss!CourID=Trim(txtCourID.Text)rss!StuID=Trim(t
36、xtStuID.Text)rss!StuScore=Val(Trim(txtStuScore.Text)+)EndSub( 4) 定義過程FieldtoControl,用于實(shí)現(xiàn)在窗體控件中顯示記錄集各字段內(nèi)容,其中過程的參數(shù)類型為記錄集類型。SubFieldtoControl(rssAsADODB.Recordset)txtCourID.Text=Trim(rss!CourID)txtStuID.Text=Trim(rss!StuID)txtStuScore.Text=Trim(rss!StuScore)EndSub( 5) 窗體激活事件過程,根據(jù)StuScore表生成記錄集,并顯示在窗體各控
37、件中,也可以看成對窗體的初始化。PrivateSubForm_Activate()strSql=select*fromStuScoreSetrs=NewADODB.Recordsetrs.ActiveConnection=cnrs.OpenstrSql,cn,adOpenKeyset,adLockPessimisticIfrs.RecordCount0Thenrs.MoveFirst:CallFieldtoControl(rs)ElseDoEventsMsgBox無任何課程記錄可顯示!,48,提示CallclearcontrolEndIfcmdFirst_ClickEndSub精品文檔( 6)
38、 各命令按鈕的單擊事件過程與14.5完全相同或稍加改動,這里從略。14.6 教師信息管理模塊14.6.1 本模塊功能教師信息管理模塊主要完成教師信息管理的功能,內(nèi)容包括工號、所在系、年齡、姓名、聯(lián)系電話、備注等,本模塊實(shí)現(xiàn)對教師信息的添加、刪除、修改等操作。14.6.2 界面設(shè)計根據(jù)上述模塊功能要求,按表14.11設(shè)計“教師信息管理”窗體,并添加控件,控件的屬性設(shè)置參見表14.11,設(shè)計完成后的窗體界面如圖14.6所示。表14.11教師信息管理窗體主要控件的屬性設(shè)置及其功能說明表控件名稱屬性設(shè)置或功能說明LabelLabel1Caption屬性為“工號”LabelLabel2Caption屬性
39、為“所在系”LabelLabel3Caption屬性為“年齡”LabelLabel4Caption屬性為“姓名”LabelLabel5Caption屬性為“聯(lián)系電話”LabelLabel6Caption屬性為“備注”TextBoxtxtTechID用于錄入或編輯教師工號TextBoxtxtTechUnit用于錄入或編輯教師所在系(二級單位)TextBoxtxtTechAge用于錄入或編輯教師年齡TextBoxtxtTechName用于錄入或編輯教師姓名TextBoxtxtTechTel用于錄入或編輯教師聯(lián)系電話TextBoxtxtTechMem用于錄入或編輯教師備注信息CommandButto
40、n的名稱和屬性設(shè)置同表14.9圖14.6教師信息管理窗體精品文檔精品文檔14.6.3 編寫模塊代碼( 1窗體的屬性設(shè)置:名稱為frmTechInfo,BorderStyle為3-FixedDialog,Caption屬性為“教師信息管理”。并在窗體的通用聲明段添加如下代碼,用于指定當(dāng)前編輯模式。DimAddModeAsBoolean( 2定義過程clearcontrol,用于實(shí)現(xiàn)窗體控件內(nèi)容的清空。Subclearcontrol()txtTechID.Text=txtTechName.Text=txtTechAge.Text=txtTechUnit.Text=txtTechTel.Text=t
41、xtTechMem.Text=EndSub( 3定義過程ControltoField,用于實(shí)現(xiàn)窗體控件內(nèi)容的保存,其中過程的參數(shù)類型為記錄集類型。SubControltoField(rssAsADODB.Recordset)rss!TechID=Trim(txtTechID.Text)rss!TechName=Trim(txtTechName.Text)rss!TechAge=Val(Trim(txtTechAge.Text)+)rss!TechUnit=txtTechUnit.Textrss!TechTel=txtTechTel.Textrss!TechMem=txtTechMem.Text
42、EndSub( 4定義過程FieldtoControl,用于實(shí)現(xiàn)在窗體控件中顯示記錄集各字段內(nèi)容,其中過程的參數(shù)類型為記錄集類型。SubFieldtoControl(rssAsADODB.Recordset)IfNotIsNull(rss!TechID)ThentxtTechID.Text=Trim(rss!TechID)IfNotIsNull(rss!TechName)ThentxtTechName.Text=Trim(rss!TechName)IfNotIsNull(rss!TechAge)ThentxtTechAge.Text=Trim(rss!TechAge)IfNotIsNull(r
43、ss!TechUnit)ThentxtTechUnit.Text=Trim(rss!TechUnit)IfNotIsNull(rss!TechTel)ThentxtTechTel.Text=Trim(rss!TechTel)IfNotIsNull(rss!TechMem)ThentxtTechMem.Text=Trim(rss!TechMem)EndSub( 5窗體激活事件過程,根據(jù)TechInfo表生成記錄集,并顯示在窗體各控件中,也可以看成對窗體的初始化。PrivateSubForm_Activate()strSql=select*fromTechInfoSetrs=NewADODB.Re
44、cordsetrs.ActiveConnection=cnrs.OpenstrSql,cn,adOpenKeyset,adLockPessimisticIfrs.RecordCount0Thenrs.MoveFirst:CallFieldtoControl(rs)ElseDoEventsMsgBox無任何教師記錄可顯示!,48,提示clearcontrolEndIfcmdFirst_ClickEndSub(6)各命令按鈕的單擊事件過程與14.5完全相同或稍加改動,這里從略。14.7 教師任課管理模塊14.7.1 模塊功能教師任課管理模塊主要完成教師任課管理的功能,內(nèi)容包括課程代號、教師工號、上
45、課時間、上課地點(diǎn)等,本模塊實(shí)現(xiàn)對教師任課信息的添加、刪除、修改等操作。14.7.2 界面設(shè)計根據(jù)上述模塊功能要求,按表14.12設(shè)計“教師任課管理”窗體,并添加控件,控件的屬性設(shè)置參見表14.12,設(shè)計完成后的窗體界面如圖14.7所示。表14.12教師任課管理窗體主要控件的屬性設(shè)置及其功能說明表控件名稱屬性設(shè)置或功能說明LabelLabel1Caption屬性為“課程代號”LabelLabel2Caption屬性為“教師工號”LabelLabel3Caption屬性為“上課時間”LabelLabel4Caption屬性為“上課地點(diǎn)”TextBoxtxtCourID用于錄入或編輯課程代號Text
46、BoxtxtTechID用于錄入或編輯教師工號TextBoxtxtClassTime用于錄入或編輯教師上課時間TextBoxtxtClassPlace用于錄入或編輯教師上課地點(diǎn)CommandButton的名稱和屬性設(shè)置同表14.914.7.3 編寫模塊代碼( 1) 窗體的屬性設(shè)置:名稱為frmTechAppoint,BorderStyle為3-FixedDialog,Caption屬性為“教師任課管理”。并在窗體的通用聲明段添加如下代碼,用于指定當(dāng)前編輯模式。DimAddModeAsBoolean( 2) 定義過程clearcontrol,用于實(shí)現(xiàn)窗體控件內(nèi)容的清空。Subclearcontr
47、ol()txtCourID.Text=txtTechID.Text=txtClassTime.Text=txtClassPlace.Text=EndSub( 3) 定義過程ControltoField,用于實(shí)現(xiàn)窗體控件內(nèi)容的保存,其中過程的參數(shù)類型為記錄集類型。SubControltoField(rssAsADODB.Recordset)rss!CourID=Trim(txtCourID.Text)rss!TechID=Trim(txtTechID.Text)rss!ClassTime=Trim(txtClassTime.Text)rss!ClassPlace=Trim(txtClassPla
48、ce.Text)EndSub( 4) 定義過程FieldtoControl,用于實(shí)現(xiàn)在窗體控件中顯示記錄集各字段內(nèi)容,其中過程的參數(shù)類型為記錄集類型。SubFieldtoControl(rssAsADODB.Recordset)txtCourID.Text=Trim(rss!CourID)txtTechID.Text=Trim(rss!TechID)txtClassTime.Text=Trim(rss!ClassTime)txtClassPlace.Text=Trim(rss!ClassPlace)EndSub( 5) 窗體激活事件過程,根據(jù)TechAppoint表生成記錄集,并顯示在窗體各控
49、件中,也可以看成對窗體的初始化。PrivateSubForm_Activate()strSql=select*fromTechAppointSetrs=NewADODB.Recordsetrs.ActiveConnection=cnrs.OpenstrSql,cn,adOpenKeyset,adLockPessimisticIfrs.RecordCount0Thenrs.MoveFirst:CallFieldtoControl(rs)ElseDoEventsMsgBox無任何課程記錄可顯示!,48,提示CallclearControlEndIfcmdFirst_Click精品文檔精品文檔End
50、Sub( 6) 各命令按鈕的單擊事件過程與14.5完全相同或稍加改動,這里從略。14.8 用戶信息管理模塊14.8.1 模塊功能用戶信息管理模塊主要完成用戶信息管理的功能,內(nèi)容包括用戶名、用戶密碼、用戶權(quán)限、姓名、聯(lián)系電話等,本模塊實(shí)現(xiàn)對用戶信息的添加、刪除、修改等操作。14.8.2 界面設(shè)計根據(jù)上述模塊功能要求,按表14.13設(shè)計“用戶信息管理”窗體,并添加控件,控件的屬性設(shè)置參見表14.13,設(shè)計完成后的窗體界面如圖14.8所示。表14.13用戶信息管理窗體主要控件的屬性設(shè)置及其功能說明表控件名稱屬性設(shè)置或功能說明LabelLabel1Caption屬性為“用戶名”LabelLabel2C
51、aption屬性為“用戶密碼”LabelLabel3Caption屬性為“權(quán)限”LabelLabel4Caption屬性為“姓名”LabelLabel5Caption屬性為“聯(lián)系電話”LabelLabel6Caption屬性為“備注”TextBoxtxtUserName用于錄入或編輯用戶名TextBoxtxtUserPassword用于錄入或編輯教師所在系(二級單位)ComboBoxcboUserPurview用于選擇用戶權(quán)限,List屬性為“學(xué)生教師教務(wù)員”TextBoxtxtUserRealName用于錄入或編輯用戶姓名TextBoxtxtUserTel用于錄入或編輯用戶聯(lián)系電話Comma
52、ndButton的名稱和屬性設(shè)置同表14.9圖14.8用戶信息管理窗體精品文檔精品文檔14.8.3 編寫模塊代碼( 1窗體的屬性設(shè)置:名稱為frmUserInfo,BorderStyle為3-FixedDialog,Caption屬性為“用戶信息管理”。并在窗體的通用聲明段添加如下代碼,用于指定當(dāng)前編輯模式。DimAddModeAsBoolean( 2定義過程clearcontrol,用于實(shí)現(xiàn)窗體控件內(nèi)容的清空。Subclearcontrol()txtUserName.Text=txtUserRealName.Text=txtUserPassword.Text=cboUserPurview.Text=txtUserTel.Text=EndSub( 3定義過程ControltoField,用于實(shí)現(xiàn)窗體控件內(nèi)容的保存,其中過程的參數(shù)類型為記錄集類型。SubControltoField(rssAsADODB.Recordset)rss!UserName=Trim(txtUserName.Text)rss!UserRealName=Trim(txtUserRealName.Text)rss!UserPassword=Trim(txtUserPasswor
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 主體水電合同范本
- 參數(shù)設(shè)計合同范本
- 租賃會議室合同范本
- 冬儲保價合同范本
- 轉(zhuǎn)讓精裝修房產(chǎn)合同范本
- 合同范本與格式合同區(qū)別
- 鋁合金分銷合同范本
- 吧臺轉(zhuǎn)讓合同范本
- 廠內(nèi)工程裝修合同范本
- 倉庫燈具回收合同范例
- 2025年三八婦女節(jié)校長致辭-以柔韌破萬鈞以丹心育桃李
- 2025年浙江省建筑安全員C證考試(專職安全員)題庫及答案
- 2025年常州工業(yè)職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫(培優(yōu))
- 中儲糧黑龍江分公司招聘考試試卷2023
- 化學(xué)實(shí)驗室安全職責(zé)分配
- 1.2 讀懂彼此的心 第二課時 課件 2024-2025學(xué)年五年級下冊道德與法治 統(tǒng)編版
- 2018-2022年北京市中考真題數(shù)學(xué)試題匯編:選擇壓軸(第8題)
- 2025年哈爾濱鐵道職業(yè)技術(shù)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點(diǎn)含答案解析
- 2025年貴州黔源電力股份有限公司招聘筆試參考題庫含答案解析
- 2024年湖南食品藥品職業(yè)學(xué)院高職單招語文歷年參考題庫含答案解析
- 《船舶油漆作業(yè)》課件
評論
0/150
提交評論