【文章內(nèi)容簡介】
單化,數(shù)據(jù)變的更讓每個(gè)人都在任何時(shí)刻都可以了解到。 學(xué)生信息管理系統(tǒng)是為本校開發(fā)的,本系統(tǒng)所采用的語言是 Visual Basic,用Microsoft Access 2021 數(shù)據(jù)庫完成。該系統(tǒng)總體有四部分組成,包括學(xué)生信息查詢、教務(wù)信息維護(hù)、學(xué)生選課及用戶管理。通過本系統(tǒng),把本校內(nèi)部查詢學(xué)生信息、教務(wù)信息、學(xué)生選課各個(gè)環(huán)節(jié)進(jìn)行有效地計(jì)劃、組織和控制。通過本校內(nèi)部的信息,依據(jù)統(tǒng)一數(shù)據(jù)信息進(jìn)行管理,把任何一塊信息所產(chǎn)生的數(shù)據(jù)變動(dòng)及時(shí)地反映給其它相關(guān)信息,做到數(shù)據(jù)共享。 本系統(tǒng)主要信息流程為:教務(wù)信息維護(hù)接受學(xué)生的信息,學(xué)生信息查詢根據(jù)教務(wù)信息維護(hù)的學(xué)生信息做出對所接收的信息合理性進(jìn)行判斷,并交于信息維護(hù)進(jìn)行相應(yīng)的修改,再把信息存入數(shù)據(jù)庫中。學(xué)生選課是對學(xué)生進(jìn)行相應(yīng)選擇 自己相關(guān)的課程。最后進(jìn)行打印。 采用本系統(tǒng),能夠使整個(gè)系統(tǒng)內(nèi)部所有信息的工作簡化,提高工作效益。由于采用統(tǒng)一的數(shù)據(jù)信息,使相關(guān)資料 能夠快速地查詢所需的數(shù)據(jù)、資料及其它信息的,使信息快速高效運(yùn)行 。 數(shù)據(jù)表的實(shí)現(xiàn) 本系統(tǒng)中使用到的數(shù)據(jù)表主要有班級(jí)表、成績表、繳費(fèi)表、課程表、學(xué)生檔案、用戶資料,由這六個(gè)表,組成了名為信息的數(shù)據(jù)庫(如圖一)。 6 (圖一) 其中學(xué)生檔案是本系統(tǒng)主要的 一張表,所有信息都是根據(jù)這張學(xué)生檔案進(jìn)行有關(guān)的操作,主要的字段有:學(xué)號(hào)、姓名、年級(jí)、專業(yè)、 性別、出生年月、民族、籍貫、政治面貌、家庭地址、郵政編碼、聯(lián)系電話、入學(xué)時(shí)間、備注。其中日期的數(shù)據(jù)類型為日期 /時(shí)間天型,其它的數(shù)據(jù)類型為文本型;成績表中字段為:學(xué)號(hào)、姓名、年級(jí)、專業(yè)、學(xué)期、考試時(shí)間、考試科目、考試地點(diǎn)、課程性質(zhì)、科目分?jǐn)?shù)、違紀(jì)類型、備注;課程表中字段為:專業(yè)、年級(jí)、學(xué)期、課程名稱、教材、任課老師、課時(shí)、上課地點(diǎn)、課程性質(zhì)、考試性質(zhì);用戶資料中的字段包括:用戶名、密碼、身份。 數(shù)據(jù)庫與 VB 的連接:本系統(tǒng)的數(shù)據(jù)鏈接采用的是 ADO 方法,打開控制面板,打開 ODBC 數(shù)據(jù)源圖標(biāo),選擇“系統(tǒng) DSN”標(biāo)簽 ,點(diǎn)擊“添加”按鈕,在彈出的“創(chuàng)建新數(shù)據(jù)源”對話框中選擇名稱為“ Microsoft Access Drive( *.mdb)”,點(diǎn)擊“完成”按鈕,在 ODBC Microsoft Access 安裝對話框中在數(shù)據(jù)源名中輸入信息,在數(shù)據(jù)庫這個(gè)框中, 單擊“選擇”按鈕,在彈出的選擇數(shù)據(jù)庫這一對話框架中,在驅(qū)動(dòng)器下拉列表框中選擇本系統(tǒng)數(shù)據(jù)庫所在驅(qū)動(dòng)器,在目錄中選擇庫所在的文件夾,在文件類型中選擇選“ Access數(shù)據(jù)庫( *.mdb)”,在數(shù)據(jù)庫名中選擇本系統(tǒng)的數(shù)據(jù)庫,點(diǎn)擊“確定”按鈕即完成數(shù)據(jù)鏈接。 在 VB 中, 用 ADODC 鏈接數(shù)據(jù)庫,用 DataGrid 或 DATA 將庫中的數(shù)據(jù)在界面中顯示出來,本系統(tǒng)采用 DataGrid。在界面上右擊 Adodc 控制,在彈出的快捷菜單中選擇屬性,在屬性對話框中,在“屬性”這一標(biāo)簽中, 選中單選框“ Use ODBC Data Source Name”,并在下拉文本框中選擇已經(jīng)配置好的數(shù)據(jù)源名信息,再在“ RecordSoure”標(biāo)簽中,在 Commard Text( SQL)文本框中輸入查詢語句,如: select * from 學(xué)生檔案。同時(shí),將桌面的 DataGrid 控件選中,在屬性框中,將它 的 Datasoure 設(shè)為 Adodc。 我們可以設(shè)置 DataGrid 控件的外觀:選中該控件,右擊,在彈出的快捷菜單中選擇“檢索字段”,在彈出的對話框中單擊“確定”,這時(shí),表格中出現(xiàn)了表的字段。然后再右擊,同樣,在彈出的快捷菜單中選擇“編輯”,我們就可以所在的表格的寬度進(jìn)行調(diào)整 。 7 7 系統(tǒng)(查詢模塊)總體規(guī)劃 系統(tǒng)功能(查詢模塊) 查詢信息的情況 判斷信息是否符合要求 將符合條件的信息進(jìn)行打印 流程圖 學(xué)生注冊 基本信息輸入 學(xué)籍信息管理 班級(jí)管理 班級(jí)課程設(shè)置 課程基本信息 班級(jí)課程管理 成績信息輸入 成績信息管理 班級(jí)設(shè)置 8 8 系統(tǒng)具體實(shí)現(xiàn) 各功能的實(shí)現(xiàn) 登陸 界面 (如圖二) (圖二 ) 下面為其代碼: 39。If sf = 管理員 Then 39。admin = 1 39。Else 39。admin = 0 39。End If End Sub Private Sub Command2_Click() Dim anw As Integer anw = MsgBox(確定要退出系統(tǒng)嗎? , vbYesNo, 請問 ) If anw = 6 Then Unload Me Else = = End If End Sub Private Sub Form_Load() zong = 0 = 9 = = (管理員 ) (用戶 ) End Sub Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 13 Then End If End Sub 課程設(shè)置(如圖三 ) (圖三 ) 運(yùn)行程序后,進(jìn)入課程管理模塊,課程管理模塊的第一塊是課程設(shè)置,在這模塊中可以把專業(yè)、年級(jí)、學(xué)期、課程名稱、教材、任課老師、課時(shí)、上課地點(diǎn)、課程性質(zhì)和考試性質(zhì)等信息輸入,以便使用。 下面為其代碼: Private Sub Command1_Click() Dim myCon As New Dim myRs As New Dim ZhuanYe, NianJi, XueQi, KeCheng, JiaoCai, RenKLS, KeShi, ShangKeDD, KeChengXZ, KaoShiXZ As String 10 ZhuanYe = NianJi = XueQi = KeCheng = JiaoCai = RenKLS = KeShi = ShangKeDD = KeChengXZ = KaoShiXZ = If Trim(ZhuanYe) = Or Trim(NianJi) = Or Trim(XueQi) = Or Trim(KeCheng) = Or Trim(JiaoCai) = Or Trim(RenKLS) = Or Trim(KeShi) = Or Trim(ShangKeDD) = Or Trim(KeChengXZ) = Or Trim(KaoShiXZ) = Then MsgBox 請?zhí)顚懸薷恼n程資料的內(nèi)容! = = Exit Sub End If dsn=信息 select * from 課程表 where 專業(yè) =39。 amp。 amp。 39。, myCon, 3, 2 myRs!年級(jí) = myRs!學(xué)期 = myRs!課程名稱 = myRs!教材 = myRs!任課老師 = myRs!課時(shí) = myRs!上課地點(diǎn) = myRs!課程性質(zhì) = myRs!考試性質(zhì) = MsgBox 您確定要修改嗎? , vbYesNo, 提示 = = 39。 = = = = = 11 = = = End Sub Private Sub Command2_Click() Unload Me End Sub Private Sub Command3_Click() Unload Me 1 End Sub Private Sub DataGrid1_Click() 39。 = select * from 課程表 where 專業(yè) = 39。 amp。 Trim() amp。 39。 39。 = (專業(yè) ) 39。 = (年級(jí) ) 39。 = (學(xué)期 ) 39。 = (課程名稱 ) 39。 = (教材 ) 39。 = (任課老師 ) 39。 = (課時(shí) ) 39。 = (上課地點(diǎn) ) 39。 = (課程性質(zhì) ) 39。 = (考試性質(zhì) ) End Sub Private Sub DTPicker1_CallbackKeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer, ByVal CallbackField As String, CallbackDate As Date) End Sub Private Sub Form_Activate() = strTiaoJian Set = End Sub Private Sub Form_Load() (必修 ) (選修 ) (自開 ) 12 (考試 ) (查考 ) = = 39。 = = = = = = = = End Sub Private Sub Text1_Change() End Sub Private Sub Text2_Change() End Sub Private Sub Text8_Change() End Sub 課程查詢(如圖四 ) 13 (圖四 ) 當(dāng)輸入查詢類別、運(yùn)算符和條件后可以查找到所需要的課程設(shè)置,或按查詢時(shí)間來查詢,輸入所要查找的時(shí)間段,就可查到所要的課程設(shè)置。 代碼如下: Dim sqlstr As String Private Sub Combo1_Change() End Sub Private Sub Combo2_Change() End Sub Private Sub Combo4_Change() End Sub Private Sub Combo5_Change() End Sub Private Sub Combo7_Change() End Sub 14 Private Sub Command1_Click() Dim a As String Dim KCCX1 As String Dim KCCX2 As String Dim str1 As String Dim str2 As String If = True Then a = Trim(Combo2) Select Case a Case = KCCX1 = amp。 amp。 amp。 amp。 39。 amp。 Trim(Text1) amp。 39。 Case like KCCX1 = Instr(1, amp。 amp。 ,39。 amp。 Trim() amp。 39。)0 End Select a = Trim(Combo4) Select Case a Case = KCCX2 = amp。 amp。 amp。 amp。 39。 amp。 Trim(Text2) amp。 39。 Case like KCCX2 = Instr(1, amp。 amp。 ,39。 amp。 Trim() amp。 39。)0 End Select If = True Then If KCCX1 = Then strTiaoJian = select * from 課程表 where amp。 KCCX2 ElseIf KCCX2 = Then strTiaoJian = select * from 課程表 where amp。 KCCX1 Else strTiaoJian = select * from 課程表 where amp。 KCCX1 amp。 and amp。