![學(xué)生信息管理系統(tǒng)論文44_第1頁](http://file.renrendoc.com/FileRoot1/2019-7/12/47d60588-0180-41dd-a0e6-dde5d5d08045/47d60588-0180-41dd-a0e6-dde5d5d080451.gif)
![學(xué)生信息管理系統(tǒng)論文44_第2頁](http://file.renrendoc.com/FileRoot1/2019-7/12/47d60588-0180-41dd-a0e6-dde5d5d08045/47d60588-0180-41dd-a0e6-dde5d5d080452.gif)
![學(xué)生信息管理系統(tǒng)論文44_第3頁](http://file.renrendoc.com/FileRoot1/2019-7/12/47d60588-0180-41dd-a0e6-dde5d5d08045/47d60588-0180-41dd-a0e6-dde5d5d080453.gif)
![學(xué)生信息管理系統(tǒng)論文44_第4頁](http://file.renrendoc.com/FileRoot1/2019-7/12/47d60588-0180-41dd-a0e6-dde5d5d08045/47d60588-0180-41dd-a0e6-dde5d5d080454.gif)
![學(xué)生信息管理系統(tǒng)論文44_第5頁](http://file.renrendoc.com/FileRoot1/2019-7/12/47d60588-0180-41dd-a0e6-dde5d5d08045/47d60588-0180-41dd-a0e6-dde5d5d080455.gif)
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
畢 業(yè) 論 文題 目 學(xué) 生 信 息 管 理 系 統(tǒng) 院系名稱: 信 息 工 程 系 專業(yè)班級: 計 算 機(jī) 網(wǎng) 絡(luò) 技 術(shù) 學(xué)生姓名: 學(xué) 號: 指導(dǎo)教師: 20 年 月 日摘 要使用本系統(tǒng)進(jìn)行學(xué)生信息的管理,其中包括有系統(tǒng)用戶的管理,院系管理,專業(yè)管理,學(xué)生信息管理,教學(xué)計劃管理,以及學(xué)生成績的管理。系統(tǒng)用戶管理是管理用戶信息的添加、修改、刪除和查詢功能;院系管理是管理院系信息的添加、修改、刪除和查詢功能;專業(yè)管理是管理專業(yè)信息的添加、修改、刪除和查詢功能;學(xué)生信息管理是管理學(xué)生信息的添加、修改、刪除和查詢功能;教學(xué)計劃管理是管理教學(xué)計劃的添加、修改、刪除和查詢功能;學(xué)生成績管理是管理學(xué)生成績信息的添加、修改、刪除和查詢功能。關(guān)鍵字 學(xué)生信息 管理 窗體目 錄1 引言11.1 項目開發(fā)計劃階段11.2 開發(fā)階段12 學(xué)生信息管理系統(tǒng)簡介33 系統(tǒng)功能分析54 系統(tǒng)數(shù)據(jù)庫設(shè)計64.1 定義數(shù)據(jù)字典64.2 定義數(shù)據(jù)庫結(jié)構(gòu)65 系統(tǒng)應(yīng)用程序設(shè)計95.1 新建工程95.2 窗體設(shè)計9結(jié)束語49致謝50參考文獻(xiàn)51附錄521 引言目前,隨著高等院校辦學(xué)規(guī)模的不斷擴(kuò)大,學(xué)生人數(shù)的逐年增長,學(xué)校對學(xué)生的信息管理工作也變得越來越繁重。為此,很大大中專院校都開發(fā)或購買了學(xué)生信息管理系統(tǒng),用于對學(xué)校學(xué)生的基本信息、課程設(shè)置信息、成績信息等進(jìn)行計算機(jī)管理。從而方便快捷的對學(xué)生信息進(jìn)行管理,保證了學(xué)校管理的正常并有效的進(jìn)行著,不會因?qū)W生信息繁多,不好管理而影響學(xué)校的學(xué)生擴(kuò)招計劃。從而使學(xué)??焖俪掷m(xù)穩(wěn)定的發(fā)展著。本系統(tǒng)分為六個功能模塊即系統(tǒng)用戶管理模塊、院系管理模塊、專業(yè)管理模塊、學(xué)生信息管理模塊、教學(xué)計劃管理模塊和學(xué)生成績管理模塊。每個模塊實現(xiàn)不同的功能:系統(tǒng)用戶管理模塊是對用戶信息的添加、修改、刪除和查詢功能的實現(xiàn);院系管理模塊是對院系信息的添加、修改、刪除和查詢功能的實現(xiàn);專業(yè)管理模塊是對專業(yè)信息的添加、修改、刪除和查詢功能的實現(xiàn);學(xué)生信息管理模塊是對學(xué)生信息的添加、修改、刪除和查詢功能的實現(xiàn);教學(xué)計劃管理模塊是對教學(xué)計劃的添加、修改、刪除和查詢功能的實現(xiàn);學(xué)生成績管理模塊是對學(xué)生成績信息的添加、修改、刪除和查詢功能的實現(xiàn)。1.1 項目開發(fā)計劃階段這個時期的主要任務(wù)是分析用戶需求,分析軟件系統(tǒng)所追求的目標(biāo),分析開發(fā)該系統(tǒng)的可行性。經(jīng)過了解大致可以分為以下兩個階段。(1) 問題定義階段 收集、分析、理解、確定用戶的要求,在與用戶進(jìn)行全面討論的基礎(chǔ)上共同擬定“軟件系統(tǒng)目標(biāo)與范圍說明書”。(2) 可行性研究階段 確立對問題定義階段確實的問題是否有可行的解決方案,并對各種可能方案做出成本和效益分析,系統(tǒng)分析員據(jù)此提出“可行性論證報告”,作為確定是否繼續(xù)進(jìn)行這項工程的依據(jù)。1.2 開發(fā)階段 這個時期包括設(shè)計和實現(xiàn)兩個任務(wù)。其中設(shè)計任務(wù)又分為需求分析和系統(tǒng)設(shè)計兩個階段,實現(xiàn)任務(wù)包括編程和測試兩個階段。(1) 需求分析階段確定用戶對軟件系統(tǒng)的全部需求,并以“需求說明書”的形式表達(dá),其目的是明確該軟件項目是用來“做什么”的。需求分析是整個開發(fā)任務(wù)的開始,也是最重困難、最耗時的一步。作為基礎(chǔ)的需求分析是否做得充分與準(zhǔn)確,直接決定了構(gòu)建數(shù)據(jù)庫與應(yīng)用系統(tǒng)的速度和質(zhì)量。需求分析做得不好,有時甚至?xí)?dǎo)致整個系統(tǒng)作廢。(2)系統(tǒng)設(shè)計階段設(shè)計軟件系統(tǒng)的模塊層次結(jié)構(gòu),設(shè)計模塊的控制流程,其目的是明確軟件系統(tǒng)“如何做”。本階段又可以分為概要設(shè)計和詳細(xì)設(shè)計兩個步驟,前者完成軟件系統(tǒng)模塊的劃分和模塊的層次結(jié)構(gòu)以及數(shù)據(jù)庫結(jié)構(gòu)設(shè)計;后者完成每個模塊的控制流程設(shè)計。本階段要完成“設(shè)計說明書”的編寫。(3)編程階段本階段將按照選定的程序設(shè)計語言將“設(shè)計說明書”中每個模塊的控制流程編寫出相應(yīng)的程序,得到軟件系統(tǒng)的源程序。(4)測試階段軟件測試是在軟件投入運行前,對軟件需求分析、設(shè)計規(guī)格說明和編碼的最終審查,是保證軟件質(zhì)量的關(guān)鍵步驟。2 學(xué)生信息管理系統(tǒng)簡介本章講述如何實現(xiàn)學(xué)生信息管理系統(tǒng)的開發(fā),該系統(tǒng)各主要功能模塊界面如圖下:3 系統(tǒng)功能分析在實際開發(fā)此系統(tǒng)時,系統(tǒng)功能分析需要設(shè)計人員與用戶進(jìn)行全面、深入的交流,切實了解用戶對整個系統(tǒng)期望具有的功能,與用戶共同決定系統(tǒng)應(yīng)具備的功能。學(xué)生信息管理系統(tǒng)主要具有以下功能: 系統(tǒng)用戶管理:管理用戶信息的添加、修改、刪除和查詢功能。 院系管理:管理院系信息的添加、修改、刪除和查詢功能。 專業(yè)管理:管理專業(yè)信息的添加、修改、刪除和查詢功能。 學(xué)生信息管理:管理學(xué)生信息的添加、修改、刪除和查詢功能。 教學(xué)計劃管理:管理教學(xué)計劃的添加、修改、刪除和查詢功能。 學(xué)生成績管理:管理學(xué)生成績的添加、修改、刪除和查詢功能。根據(jù)系統(tǒng)功能分析,可得到學(xué)生信息管理系統(tǒng)功能模塊結(jié)構(gòu)圖如圖31:學(xué)生信息管理系統(tǒng)系統(tǒng)用戶管理 院系管理 專業(yè)管理學(xué)生信息管理教學(xué)計劃管理學(xué)生成績管理圖31 學(xué)生信息管理系統(tǒng)功能模塊結(jié)構(gòu)圖4 系統(tǒng)數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫在學(xué)生信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫設(shè)計的好壞將直接影響到系統(tǒng)的效率以及系統(tǒng)實現(xiàn)的效果。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計可以提高數(shù)據(jù)存儲的效率,保證數(shù)據(jù)的完整性和一致性,同時,合理的數(shù)據(jù)庫結(jié)構(gòu)也將有利于程序的實現(xiàn)。數(shù)據(jù)庫設(shè)計可包括兩個部分:定義數(shù)據(jù)字典、定義數(shù)據(jù)庫結(jié)構(gòu)。4.1 定義數(shù)據(jù)字典在學(xué)生信息管理系統(tǒng)中有下面所示的數(shù)據(jù)字典:(1)系統(tǒng)用戶數(shù)據(jù)系統(tǒng)用戶數(shù)據(jù)包含的數(shù)據(jù)項有用戶名、密碼、用戶權(quán)限。(2)院系信息數(shù)據(jù)院系信息數(shù)據(jù)包含的數(shù)據(jù)項有學(xué)院代碼和學(xué)校名稱。(3)專業(yè)信息數(shù)據(jù)專業(yè)信息數(shù)據(jù)包含的數(shù)據(jù)項有學(xué)院代碼、專業(yè)代碼和專業(yè)名稱。(4)學(xué)生基本信息數(shù)據(jù)學(xué)生基本信息數(shù)據(jù)包含的數(shù)據(jù)項有學(xué)號、姓名、性別、生日、民族、政治面貌、籍貫和備注。(5)教學(xué)計劃信息數(shù)據(jù)教學(xué)計劃信息數(shù)據(jù)包含的數(shù)據(jù)項有學(xué)院代碼、專業(yè)代碼、課程代碼、課程名稱、學(xué)期、學(xué)時、學(xué)分和課程性質(zhì)。(6)學(xué)生成績信息數(shù)據(jù)學(xué)生成績信息數(shù)據(jù)包含的數(shù)據(jù)項有學(xué)號、姓名、課程代碼、成績和備注。4.2 定義數(shù)據(jù)庫結(jié)構(gòu)學(xué)生信息管理系統(tǒng)采用的后臺數(shù)據(jù)庫是Microsoft Office Access 2003 數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫名稱為“StudentMIS.mdb“,其中包含了6張數(shù)據(jù)表,各表的名車設(shè)計結(jié)果分別如表41表46所示。(1)系統(tǒng)用戶數(shù)據(jù)表(login)系統(tǒng)用戶數(shù)據(jù)表用來保存用戶的賬戶信息,表中各字段的屬性如表41所示。表41 “l(fā)ogin“數(shù)據(jù)表的各字段屬性字段名稱數(shù)據(jù)類型字段大小主鍵標(biāo)題user文本10用戶名password文本10密碼admin是/否是否為超級用戶(2)院系信息數(shù)據(jù)表(institute)院系信息數(shù)據(jù)表用來保存學(xué)校院系的信息,數(shù)據(jù)表中各字段的屬性如表42所示。表42 “institute“數(shù)據(jù)表的各字段屬性字段名稱數(shù)據(jù)類型字段大小主鍵標(biāo)題institude_id文本2Yes學(xué)院代碼Institude_name文本22學(xué)院名稱(3)專業(yè)信息數(shù)據(jù)表(major)專業(yè)信息數(shù)據(jù)表用來保存學(xué)校各院系所設(shè)專業(yè)的信息,數(shù)據(jù)表中各字段的屬性如表43所示。表43 “major“數(shù)據(jù)表的各字段屬性字段名稱數(shù)據(jù)類型字段大小主鍵標(biāo)題Institude_id文本2Yes學(xué)院代碼major_id文本2Yes專業(yè)代碼major_name文本22專業(yè)名稱(4)學(xué)生信息數(shù)據(jù)表(students)學(xué)生信息數(shù)據(jù)表用來保存學(xué)校所有學(xué)生的基本信息,數(shù)據(jù)表中各字段的屬性如表44所示。表44 “students“數(shù)據(jù)表的各字段屬性字段名稱數(shù)據(jù)類型字段大小主鍵標(biāo)題number文本12Yes學(xué)號name文本8姓名sex文本1性別birth日期/時間生日nationality文本10民族political_party文本4政治面貌family_place文本30籍貫Memo備注備注說明:學(xué)生信息數(shù)據(jù)表中的學(xué)號字段的字段名為number,其長度為12。即number字段的前四位表示年級,其次兩位表示學(xué)院代碼,再次兩位表示專業(yè)代碼,接下來兩位表示班級,最后兩位表示序號。(5)教學(xué)計劃信息數(shù)據(jù)表(lessons)教學(xué)計劃信息數(shù)據(jù)表用來保存各學(xué)院專業(yè)所開設(shè)的各類課程的信息,數(shù)據(jù)表中各字段的屬性如表45所示。表45 “l(fā)essons“數(shù)據(jù)表的各字段屬性字段名稱數(shù)據(jù)類型字段大小主鍵標(biāo)題institude_id文本2Yes學(xué)院代碼major_id文本2Yes專業(yè)代碼lesson_id文本7Yes課程代碼lesson_name文本50課程名稱Term文本1學(xué)期hours數(shù)字整型(小數(shù)位數(shù)0)學(xué)時credit數(shù)字單精度型(小數(shù)位數(shù)1)學(xué)分lesson_type文本8課程性質(zhì)(6)學(xué)生成績信息數(shù)據(jù)表(score)學(xué)生成績信息數(shù)據(jù)表用來保存學(xué)生各門課程的成績信息,數(shù)據(jù)表中各字段的屬性如表 46所示。表46 “score“數(shù)據(jù)表的各字段屬性字段名稱數(shù)據(jù)類型字段大小主鍵標(biāo)題Number文本12Yes學(xué)號Name文本8姓名lesson_id文本7Yes課程代碼Score數(shù)字單精度型(小數(shù)位數(shù)1,默認(rèn)值0)成績Memo備注備注5 系統(tǒng)應(yīng)用程序設(shè)計5.1 新建工程在VB中新建一個標(biāo)準(zhǔn)EXE工程,并將工程保存為“學(xué)生信息管理系統(tǒng).vbp“。接下來就可以設(shè)計各窗體,編寫代碼實現(xiàn)系統(tǒng)功能。5.2 窗體設(shè)計在已建的“學(xué)生信息管理系統(tǒng).vbp“工程中新建窗體,并在相應(yīng)的窗體上添加文本框、標(biāo)簽、直線以及命令按鈕等常用的VB內(nèi)部控件,并設(shè)置相關(guān)屬性值。具體實現(xiàn)代碼(部分)如下:1.用戶登錄窗體代碼:Option ExplicitDim try_times As Integer 嘗試登陸次數(shù)Private Sub Form_Load() 設(shè)置數(shù)據(jù)庫路徑 StudentDBfile = App.Path & StudentMIS.mdb 窗體中心定位 Call ScreenCenter(Me)End SubPrivate Sub cmdCancel_Click() 結(jié)束應(yīng)用程序 If MsgBox(你選擇了退出登陸,是否退出?, _ vbYesNo + vbInformation, 用戶登陸) = vbYes Then End Else Exit Sub End IfEnd SubPrivate Sub cmdOK_Click()Dim sName As String, sPas As StringDim mrs As ADODB.Recordset, strSQL As String sName = Trim(txtUserName.Text): sPas = Trim(txtPassword.Text) 數(shù)據(jù)有效性檢查 If sName = Then MsgBox 請輸入用戶名!, vbCritical, 用戶登陸驗證 txtUserName.SetFocus Exit Sub End If If sPas = Then MsgBox 請輸入密碼!, vbCritical, 用戶登陸驗證 txtPassword.SetFocus Exit Sub End If 檢查用戶名是否正確 strSQL = select * from login where user= & sName & Set mrs = ExecuteSQL(strSQL) If mrs.EOF = True Then MsgBox 用戶名不存在!, vbCritical, 用戶登陸驗證 try_times = try_times + 1 If try_times = 3 Then MsgBox 您已經(jīng)三次嘗試進(jìn)入本系統(tǒng),均不成功,系統(tǒng)將關(guān)閉!, _ vbCritical, 用戶登陸驗證 End Else txtUserName.SetFocus txtUserName.SelStart = 0 txtUserName.SelLength = Len(txtUserName.Text) Exit Sub End If End If strSQL = select * from login where user= & sName & & _ and password= & sPas & Set mrs = ExecuteSQL(strSQL) If mrs.EOF = True Then MsgBox 密碼錯誤!, vbCritical, 用戶登陸驗證 try_times = try_times + 1 If try_times = 3 Then MsgBox 您已經(jīng)三次嘗試進(jìn)入本系統(tǒng),均不成功,系統(tǒng)將關(guān)閉!, _ vbCritical, 用戶登陸驗證 End Else txtPassword.SetFocus txtPassword.SelStart = 0 txtPassword.SelLength = Len(txtPassword.Text) Exit Sub End If End If MsgBox 登陸成功!, vbInformation, 用戶登陸驗證 保存當(dāng)前登陸的權(quán)限 bolAuthority = mrs.Fields(admin) 加載MDI主窗體 StudentMIS.Show 卸載登陸窗體 Unload MeEnd Sub2.主窗體代碼:Option ExplicitPrivate Sub MDIForm_Load() 操作菜單,按鈕禁用 Call InitMenuAndToolbars(False) InitMenuAndToolbars為標(biāo)準(zhǔn)模塊中自定義的公用函數(shù)End Sub教學(xué)計劃信息菜單單擊事件Private Sub mMan_Lessons_Click() If unloadChildForm() Then frmLessons.Show 操作菜單,按鈕使能 Call InitMenuAndToolbars(True)End Sub專業(yè)信息菜單單擊事件Private Sub mMan_Major_Click() If unloadChildForm() Then frmMajor.Show 操作菜單,按鈕使能 Call InitMenuAndToolbars(True)End Sub成績信息菜單單擊事件Private Sub mMan_Score_Click() mOpe_CreTable.Enabled = False 建表菜單失效 If unloadChildForm() Then frmScore.Show 操作菜單,按鈕使能 Call InitMenuAndToolbars(True)End Sub學(xué)生信息菜單單擊事件Private Sub mMan_Students_Click() If unloadChildForm() Then frmStudent.Show 操作菜單,按鈕使能 Call InitMenuAndToolbars(True)End Sub還原菜單命令Private Sub mOpe_Cancel_Click() Call Me.ActiveForm.CancelDataEnd Sub清空菜單命令Private Sub mOpe_Clear_Click()Dim s$, k% s = 是否確定刪除當(dāng)前的記錄表的全部數(shù)據(jù)? k = MsgBox(s, vbYesNo + vbQuestion, 操作提示) If k = vbYes Then Call Me.ActiveForm.ClearData End IfEnd Sub建表菜單命令Private Sub mOpe_CreTable_Click() Call Me.ActiveForm.CreateScoreTableEnd Sub刪除菜單命令Private Sub mOpe_Delete_Click() Call Me.ActiveForm.DeleteDataEnd Sub保存菜單命令Private Sub mOpe_Update_Click() Call Me.ActiveForm.SaveDataEnd Sub退出菜單命令Private Sub mSys_Exit_Click() EndEnd Sub用戶管理菜單命令Private Sub mSys_User_Click() If unloadChildForm() Then frmUserManage.ShowEnd Sub工具欄按鈕單擊事件Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Key Case Delete Call mOpe_Delete_Click Case New Call mOpe_CreTable_Click Case Recall Call mOpe_Cancel_Click Case Clear Call mOpe_Clear_Click Case Save Call mOpe_Update_Click End SelectEnd Sub3.用戶管理窗體部分代碼:Option ExplicitDim rs As ADODB.Recordset 記錄集對象Dim strSQL As String 字符串變量,保存SQL語言Dim bEdit As Boolean 編輯狀態(tài)標(biāo)志Dim bAdd As Boolean 添加狀態(tài)標(biāo)志Private Sub Form_Load() Set rs = New ADODB.Recordset strSQL = select * from login Set rs = ExecuteSQL(strSQL) If rs.RecordCount = 0 Then Call DisButtons Else rs.MoveFirst Call FillText cmdUpdate.Enabled = False cmdCancel.Enabled = False End If 窗體中心定位 Call CenterPos(StudentMIS, Me)End SubPrivate Sub cmdEdit_Click()編輯記錄 bEdit = True cmdEdit.Enabled = False cmdAdd.Enabled = False cmdDelete.Enabled = False cmdUpdate.Enabled = True cmdCancel.Enabled = True cmdFirst.Enabled = False cmdPrevious.Enabled = False cmdNext.Enabled = False cmdLast.Enabled = False txtUser.SetFocusEnd SubPrivate Sub cmdAdd_Click()添加記錄 bAdd = True rs.AddNew Call ClearText cmdEdit.Enabled = False cmdAdd.Enabled = False cmdDelete.Enabled = False cmdUpdate.Enabled = True cmdCancel.Enabled = True cmdFirst.Enabled = False cmdPrevious.Enabled = False cmdNext.Enabled = False cmdLast.Enabled = False txtUser.SetFocusEnd SubPrivate Sub cmdDelete_Click()刪除當(dāng)前記錄 If MsgBox(真的要刪除嗎?, vbYesNo + vbExclamation, 提示信息) = vbYes Then rs.Delete rs.MoveNext If rs.EOF And rs.RecordCount 0 Then rs.MoveFirst If rs.RecordCount = 0 Then Call DisButtons Call ClearText Else Call FillText End If rs.Requery End IfEnd SubPrivate Sub cmdUpdate_Click()更新 If Trim(txtUser.Text) = Then MsgBox 用戶名不能為空!, vbCritical, 提示 txtUser.SetFocus Exit Sub End If If Trim(txtPassword.Text) = Then MsgBox 密碼不能為空!, vbCritical, 提示 txtPassword.SetFocus Exit Sub End If If bEdit Then rs.Update If bAdd Then rs.Update rs.Requery rs.MoveLast End If Call FillText cmdEdit.Enabled = True cmdAdd.Enabled = True cmdDelete.Enabled = True cmdUpdate.Enabled = False cmdCancel.Enabled = False cmdFirst.Enabled = True cmdPrevious.Enabled = True cmdNext.Enabled = True cmdLast.Enabled = True bEdit = False bAdd = FalseEnd SubPrivate Sub cmdCancel_Click()取消更改 bEdit = False bAdd = False rs.CancelUpdate If rs.RecordCount = 0 Then cmdUpdate.Enabled = False cmdAdd.Enabled = True Call ClearText Exit Sub Else Call FillText cmdEdit.Enabled = True cmdAdd.Enabled = True cmdDelete.Enabled = True cmdUpdate.Enabled = False cmdCancel.Enabled = False cmdFirst.Enabled = True cmdPrevious.Enabled = True cmdNext.Enabled = True cmdLast.Enabled = True End IfEnd SubPrivate Sub cmdFirst_Click()第一條記錄 rs.MoveFirst If rs.RecordCount 0 Then Call FillTextEnd SubPrivate Sub cmdPrevious_Click()上一條記錄 rs.MovePrevious If rs.BOF Then rs.MoveFirst If rs.RecordCount 0 Then Call FillTextEnd SubPrivate Sub cmdNext_Click()下一條記錄 rs.MoveNext If rs.EOF Then rs.MoveLast If rs.RecordCount 0 Then Call FillTextEnd SubPrivate Sub cmdLast_Click()最后一條記錄 rs.MoveLast If rs.RecordCount 0 Then Call FillTextEnd SubPrivate Sub DisButtons()按鈕禁用 cmdEdit.Enabled = False cmdDelete.Enabled = False cmdUpdate.Enabled = False cmdCancel.Enabled = False cmdFirst.Enabled = False cmdPrevious.Enabled = False cmdNext.Enabled = False cmdLast.Enabled = FalseEnd SubPrivate Sub FillText()用當(dāng)前記錄的字段內(nèi)容填充文本框 txtUser.Text = TransNull(rs.Fields(0) txtPassword.Text = TransNull(rs.Fields(1) If TransNull(rs.Fields(2) Then chkAdmin.Value = 1 Else chkAdmin.Value = 0 End IfEnd SubPrivate Sub ClearText()清除文本框 txtUser.Text = txtPassword.Text = chkAdmin.Value = FalseEnd Sub4專業(yè)信息窗體代碼:Option ExplicitDim cn As New ADODB.Connection 連接對象Dim DataEdited As Boolean 數(shù)據(jù)已編輯標(biāo)志Dim bFirstStart As Boolean 窗體首次啟動的標(biāo)志DataGrid內(nèi)部錯誤處理Private Sub DataGrid1_Error(ByVal DataError As Integer, Response As Integer) If DataError = 7007 Then MsgBox 所輸字符數(shù)超過允許輸入字符最大個數(shù),參見狀態(tài)欄提示!, _ vbCritical, 錯誤提示 Response = 0 不彈出系統(tǒng)錯誤提示框 End IfEnd Sub設(shè)置ADO數(shù)據(jù)控件的連接屬性和記錄源屬性Private Sub SetAdc() Adodc1.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= _ & StudentDBfile & ;Persist Security Info=False Adodc1.RecordSource = select major_id as 專業(yè)代碼 & major_name as 專業(yè)名稱_ & form major order by major_id ascEnd SubPrivate Sub Adodc1_FieldChangeComplete(ByVal cFields As Long, Fields As Variant, _ ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, _ ByVal pRecordset As ADODB.Recordset)字段改變完成后觸發(fā)的事件 DataEdited = TrueEnd SubPrivate Sub Adodc1_RecordChangeComplete(ByVal adReason As ADODB.EventReasonEnum, _ ByVal cRecords As Long, ByVal pError As ADODB.Error, _ adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)記錄改變完成后觸發(fā)的事件 Select Case adReason Case adRsnDelete, adRsnUpdate, adRsnAddNew DataEdited = True End SelectEnd SubPrivate Sub Adodc1_RecordsetChangeComplete(ByVal adReason As ADODB.EventReasonEnum, _ ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, _ ByVal pRecordset As ADODB.Recordset)記錄集改變完成后觸發(fā)的事件 Select Case adReason Case adRsnAddNew, adRsnDelete, adRsnAddNew DataEdited = True End SelectEnd SubDataGrid控件當(dāng)前單元行列位置改變事件Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)Dim dbrow As Long, s1$, s2$, s3$確定記錄指針On Error Resume NextWith Adodc1.Recordset If .RecordCount = 0 Then dbrow = .RecordCount Else dbrow = .AbsolutePosition End If s1 = 當(dāng)前記錄位置: & dbrow s2 = 記錄總數(shù): & Adodc1.Recordset.RecordCount s3 = 提示: & Adodc1.Recordset.Fields(DataGrid1.Col).Name & 最多只允許輸入 & _ Adodc1.Recordset.Fields(DataGrid1.Col).DefinedSize & 位字符! StatBar.Panels(1).Text = s1 StatBar.Panels(2).Text = s2 StatBar.Panels(3).Text = s3End WithEnd SubPublic Sub DeleteData()刪除當(dāng)前記錄 當(dāng)前單元在最后一行,但沒有 AddNew 操作,被掛起情況下退出該過程 If DataGrid1.AddNewMode = dbgAddNewCurrent Or Adodc1.Recordset.RecordCount = 0 Then Exit Sub End If Adodc1.Recordset.Bookmark = DataGrid1.Bookmark Adodc1.Recordset.Delete 設(shè)置修改標(biāo)志 DataEdited = True DataGrid1.RefreshEnd SubPublic Sub SaveData()保存全部修改On Error GoTo errhandler: If Adodc1.Recordset.RecordCount 0 Then Adodc1.Recordset.MoveFirst Adodc1.Recordset.UpdateBatch cn.CommitTrans 提交事務(wù) DataEdited = False DataGrid1.Refresh Adodc1.Refresh Set cn = Adodc1.Recordset.ActiveConnection 獲取當(dāng)前記錄集的連接對象 cn.BeginTrans 開始一個新事務(wù) Exit Suberrhandler: 顯示與數(shù)據(jù)庫操作規(guī)則有關(guān)的錯誤信息 Call ShowDbRuleErrInf(專業(yè)代碼)End SubPublic Sub CancelData()還原全部修改On Error GoTo errhandler: If Adodc1.Recordset.RecordCount 0 Then Adodc1.Recordset.MoveFirst Adodc1.Recordset.CancelBatch cn.RollbackTrans 回滾事務(wù) DataEdited = False DataGrid1.Refresh Adodc1.Refresh Set cn = Adodc1.Recordset.ActiveConnection 獲取當(dāng)前記錄集的連接對象 cn.BeginTrans 開始一個新事務(wù) Exit Suberrhandler: 顯示與數(shù)據(jù)庫操作規(guī)則有關(guān)的錯誤信息 Call ShowDbRuleErrInf(專業(yè)代碼)End SubPublic Sub ClearData()刪空當(dāng)前記錄集 Call DBRecordset_Delete(Adodc1.Recordset) DataGrid1.Refresh 設(shè)置修改標(biāo)志 DataEdited = TrueEnd Sub窗體卸載前查詢事件Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)Dim s$, b% If DataEdited = True Then s$ = 數(shù)據(jù)已修改,是否保存? b = MsgBox(s$, vbYesNoCancel + vbQuestion, 操作提示) Select Case b Case vbYes 保存修改 Call SaveData Case vbNo 取消修改 Call CancelData Case vbCancel Cancel = True 不關(guān)閉窗體 Exit Sub End
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國織帶塑膠單色拉頭數(shù)據(jù)監(jiān)測研究報告
- 傳染病預(yù)測模型構(gòu)建-第1篇-深度研究
- 二零二五年度影視基地租賃合同終止公告
- 2025年度都市農(nóng)業(yè)示范園區(qū)土地承包合同
- 二零二五年度能源管理工程師聘用合同簡易流程
- 二零二五年度工廠空調(diào)系統(tǒng)運行優(yōu)化保養(yǎng)合同
- 二零二五年度綠色金融貸款擔(dān)保合同規(guī)范文本
- 2025年度兒童戲劇演出嘉賓合同協(xié)議
- 2025年度物業(yè)管理交接與社區(qū)公共資源管理合同
- 2025年度商業(yè)地產(chǎn)租賃合同全新版
- 2025-2030年中國硫酸鉀行業(yè)深度調(diào)研及投資戰(zhàn)略研究報告
- 鄉(xiāng)鎮(zhèn)衛(wèi)生院2025年工作計劃
- 2024年山東省泰安市初中學(xué)業(yè)水平生物試題含答案
- 四川省宜賓市中學(xué)2025屆九上數(shù)學(xué)期末統(tǒng)考模擬試題含解析
- 微生物組與膽汁性肝硬化
- 中國移動各省公司組織架構(gòu)
- 手術(shù)安全管理之手術(shù)部位標(biāo)識安全
- 2022年版煤礦安全規(guī)程
- 帶式輸送機(jī)滾筒出廠檢驗規(guī)范
- 《信息檢索基礎(chǔ)知識》課件
- 具有履行合同所必須的設(shè)備和專業(yè)技術(shù)能力的承諾函-設(shè)備和專業(yè)技術(shù)能力承諾
評論
0/150
提交評論