【正文】
年齡班級學(xué) 生地址用戶信息表授權(quán)計算機中心授權(quán)地 址教務(wù)處成績表基本信息統(tǒng)計 部門編號部門編號部門名稱用戶信息表部門名稱 相關(guān)機構(gòu)ER圖 課程號課程名稱學(xué)號籍貫入學(xué)時間性別姓名班級分數(shù)姓名宿舍學(xué)號成績表基本信息表 成績表ER圖 基本信息表ER圖等級密碼注冊時間用戶名用戶信息表 用戶信息表ER圖 數(shù)據(jù)字典(1) 名稱:學(xué)生基本信息表。數(shù)據(jù)來源:權(quán)限管理模塊進行錄入(教務(wù)處)。用戶信息表名稱字段名稱類型主鍵非空標識UserID自動編號YesNo用戶名Username文本NoYes密碼Password數(shù)字NoNo真實姓名Realname文本NoNo年齡Userage數(shù)字NoNo用戶類型usertype數(shù)字YesYes單位State文本NoNo注冊時間Registtime數(shù)字NoYes 數(shù)據(jù)項名:用戶名 說明:表明用戶的身份,在系統(tǒng)內(nèi)是唯一的 類型:Char(8) 別名:無 數(shù)據(jù)描述:由字母,數(shù)字或者 “—”組成的字符串 數(shù)據(jù)項名:用戶類型 別名:無 說明:在登陸用戶的基礎(chǔ)上進一步刻畫其身份,不同的用戶類型可賦予不同的操作權(quán) .類型:Char(8)數(shù)據(jù)描述:如: 2 管理級用戶 查詢,修改,刪除等所有權(quán)限1 普通用戶 查詢 事務(wù)業(yè)務(wù)務(wù) 數(shù) 據(jù) 庫登陸 程序操作請求操作執(zhí)行程序執(zhí)行結(jié)果報 表(1)用戶啟動學(xué)生管理系統(tǒng)后,即進入登陸模塊,提示輸入用戶名和密碼。(6)用戶在主操作界面進行操作請求。在這里,系統(tǒng)自動隱藏用。(9)系統(tǒng)響應(yīng)用戶操作申請,鏈接數(shù)據(jù)庫,并反饋操作結(jié)果 數(shù)據(jù)流圖 輸入:用戶名、密碼、操作請求輸出:查詢結(jié)果、修改結(jié)果、刪除結(jié)果、打印相關(guān)報表。在此程序中,mdiFrm是主窗體,所以要在mdiFrm上的菜單和工具欄中提供各個窗體間的切換。當(dāng)用戶輸入用戶名和密碼后,單擊“確定”按鈕,則程序要和數(shù)據(jù)庫進行交互,查詢用戶是否存在。要查詢數(shù)據(jù)庫中是否存在該用戶,程序中使用IsExistUser函數(shù)來實現(xiàn)。如果返回值為True,則數(shù)據(jù)庫存在該用戶,反之不存在。本程序使用DataEnviroument工具來訪問數(shù)據(jù)庫。 Private Sub MDIForm_Load() F_CurUser ID=0g_bLogin=Falseg_bAdmin=Falsef_bstudent=FalsemnuFileLog_click End sub (Login窗體的建立) Login窗體實現(xiàn)了用戶登陸到系統(tǒng)的功能。如下圖 其中管理員的用戶名為admin,口令為1,均已在初始化時設(shè)定。strUserNameamp。strpwdamp?!?vbokonly+vbInformation,”錯誤”Else MsgBox “無此用戶!請先注冊。用戶在此界面中填寫各種個人信息。在代碼中不但要保存用戶的信息,還要將信息存放UserTable表中,用SQL語言描述。檢測用戶名輸入的具體代碼如下: If Then MsgBox “兩次密碼不相同,請重新填寫!”,vbOKOnly+vbInformation,”注意” =”” =”” Exit subEnd IfOn Error GoTo exit1If Not IsExistUser(txtUserName,””) Then‘添加用戶 txtUserName,txtPassword,txtRealname,txtUnit,Now,udAge,Usertype, State MsgBox “注冊成功!”,vbOKOnly + vbInformation, “注意” Unload Me Else MsgBox “用戶已經(jīng)存在!請重新注冊一個新的用戶名”,vbOKOnly+ vbInformation,”注意” =” “ = “ “ =” “ End IfExit sub 權(quán)限管理模塊設(shè)計(Manage窗體的建立) Manage 窗體是管理員才有的權(quán)限進入的窗體,在Manage 窗體中可以對各個表進行增加、修改、刪除等操作,即可以查看和修改數(shù)據(jù)庫中所有的內(nèi)容。具體代碼見附錄。該模塊鏈接數(shù)據(jù)庫中 StudentTable、ScorTable 兩個表。例如,沒有管理員就無法修改學(xué)生成績;系統(tǒng)用戶和學(xué)生不一致(學(xué)生用學(xué)號作為用戶名);學(xué)生能夠看到其他人的成績等。 ScoreTable: Studentidstudentname語文數(shù)學(xué)英語物理化學(xué)1李莉85717862672文章92838684793鐘麗君76687676724楊洋86828581835周仲實100100100100100 UserTable:UsernamePasswordRealnameAgeUsertypeStateregistetimeLili0李莉181學(xué)校Wenzhang0文章151學(xué)校Zhonglijun0鐘麗君151學(xué)校Yangyang0楊洋151學(xué)校admin1周仲實152學(xué)校StudentTableStudentidStudentnameClassGenderHometownacceptancetimedormitory1李莉高三三班女重慶22文章初三三班女重慶23鐘麗君初三一班女重慶24楊洋初三八班女重慶25周仲實初三一班男重慶1附錄2 系統(tǒng)源代碼 學(xué)生信息管理系統(tǒng)的數(shù)據(jù)庫部分是使用Microsoft Access 2000來實現(xiàn)的。其中StudentTable 表保存學(xué)生的信息,ScoreTable表保存學(xué)生的成績,UserTable 表保存用戶的信息。它一共有5個窗體(Frmsearch 、 Login 、 mdiFrm 、Register),兩個類模塊(mdlMain、mdlVar)和一個Data 控件()。在此程序中,mdiFrm是主窗體,所以要在mdiFrm上的菜單和工具欄中提供各個窗體間的切換。當(dāng)用戶輸入用戶名和密碼后,單擊“確定”按鈕,則程序要和數(shù)據(jù)庫進行交互,查詢用戶是否存在。要查詢數(shù)據(jù)庫中是否存在該用戶,程序中使用IsExistUser函數(shù)來實現(xiàn)。如果返回值為True,則數(shù)據(jù)庫存在該用戶,反之不存在。本程序使用DataEnviroument工具來訪問數(shù)據(jù)庫。Private Sub MDIForm_Load() F_CurUser ID=0g_bLogin=Falseg_bAdmin=Falsef_bstudent=FalsemnuFileLog_click End sub private Sub mnuAboutit_click()MsgBox”畢業(yè)設(shè)計:”+chr$(13)+chr$(10)+”學(xué)生信息管理系統(tǒng)”+chr$(13)+chr$(10)+””,0,”學(xué)生信息管理系統(tǒng)”End sub Private Sub munExit_click()If MsgBox(“是否退出此系統(tǒng)?”,vbYes No+vbcritical,”系統(tǒng)”)=vbYes Then End End If End subPrivate Sub mnuFile Log_click() Closewin=3600=4000=5000=2000 End SubPrivate Sub mnuLogout_click() If MsgBox(“是否真的注銷當(dāng)前用戶?”,vbcritical+vbYes No,”注銷”)=vbYes Then g_bLogin=False g_bAdmin=False g_bstudent=False g_CurUser ID=0 closewinEnd IfEnd SubPrivate SubmnuMng_click()If g_bAdmin=True Then Closewin Else MsgBox”請以管理員身份登陸系統(tǒng)!”,vbInformation,”登陸”End IfEnd subPrivate sub mnuBorrow_click() If g_bstudent=True ThenClosewinElse MsgBox”請先登陸系統(tǒng)!”,vbInformation,”登陸”End IfClosewinEnd subPrivate Sub mnuReg_click() ClosewinEnd subPribate Sub Toolbar1_Buttonclick(Byval Button As ) Select case case”logout” MnuLogout_clickCase”reg” MnuTeg_clickCase”Mng” MnuMng_clickCase”borrow” MnuBorrow_clickEnd selectEnd subPrivate Sub mnuMng_click()‘單擊“系統(tǒng)員管理”If g_bAdmin=True Then’如果是管理員,則顯示管理界面 Closewin Else MsgBox”請以管理員身份登陸系統(tǒng)!”,vbInformation,”登陸”End IfEnd SubPrivate Sub mnuBorrow_click()‘單擊“用戶出查詢” If g_bStudent=True Then Closewin Else MsgBox”請先登陸系統(tǒng)!”,vbInformation,”登陸它的形式為,一個是填寫“用戶名”的文本框,一個是填寫“密碼”的文本框,然后是“確認”按鈕和“取消”按鈕。 各主要控件屬性如下表所示 下面是IsExistUser函數(shù)的源程序:Public Function IsExistUser(stuUseName Asstring,strpwd As string)As Boolean Dim cmd As mand Dim rs As Recordset Set cmd=New mand ‘打開連接 If =adstate closed Then End If Cmd .Active connection=’注冊 =”select * from Usertable where Username=’”amp?!薄? If strpwd” “ Then