機房收費系統(一)------登入&修改
阿新 • • 發佈:2018-12-20
前言
進行機房也有一段時間了,一直處於走迷宮的狀態不知從何入手。從生活中出發,我們在使用某個系統時,一般情況下最先進入該系統的登入頁面。現在輪到自己敲系統了,當然也是從登入開始啦。
正文
機房收費系統登入窗體的思路,和有原始碼的學生系統的思路是大同小異的。這次在之前基礎之上加了一個判斷為空或錯誤時的紅星號提示。讓使用者一目瞭然。
初步流程圖如下:
實現上述功能的部分程式碼如下:
登入成功之後,最直接的操作就是修改密碼。所以接下來就進行修改密碼的設定。 流程圖如下: 實現上述功能的部分程式碼如下:'判斷輸入使用者名稱或密碼是否為空,分為空值和非空值兩種情況 If Trim(txtUserName.Text = "") Or Trim(txtPassword.Text = "") Then '1、如果使用者名稱或者密碼為空,則彈出提示框 MsgBox "使用者名稱或密碼不能為空,請您重新輸入!", vbOKOnly + vbExclamation, "溫馨提示" '為空時給予紅色星號提示 If Trim(txtUserName.Text = "") Then Label4.Visible = True txtUserName.SetFocus '使用者名稱文字框獲得焦點 Else Label5.Visible = True txtPassword.SetFocus End If '2、使用者名稱和密碼不為空,執行下一步,查詢資料庫中資訊,判斷輸入資訊是否正確 Else '查詢資料庫中的使用者名稱 txtSQL = "select * from User_info where userID= '" & txtUserName.Text & "'" '查詢指定使用者名稱的記錄 Set mrc = ExecuteSQL(txtSQL, MsgText) '判斷指定使用者表裡是否有所輸入的使用者資訊 If mrc.EOF = True Then '1、如果記錄集搜尋到了最後一條資訊,沒有找到該使用者資訊,則彈出提示框 MsgBox "沒有這個使用者,請重新輸入使用者名稱!", vbOKOnly + vbExclamation, "溫馨提示" txtUserName.Text = "" '將所輸入的使用者名稱清空 txtPassword.Text = "" '將所輸入的密碼清空 txtUserName.SetFocus '使用者名稱文字框獲得焦點 Else '判斷輸入的密碼是否正確 If Trim(mrc.Fields(1)) = Trim(txtPassword.Text) Then '將所輸入的密碼和資料庫中記錄資訊進行對比,兩者相同,執行下一步,判斷使用者所屬級別 UserName = Trim(mrc.Fields(1)) '判斷級別,提示使用者 If Trim(mrc.Fields(2)) = "管理員" Then MsgBox "登入成功!您當前身份是管理員。擁有所有使用許可權。", 48, "溫馨提示:" frmMain.Show 'FrmMain窗體顯示出來 Else If Trim(mrc.Fields(2)) = "操作員" Then MsgBox "登入成功!您當前身份是操作員。", 48, "溫馨提示:" frmMain.Show 'FrmMain窗體顯示出來 frmMain.Administrator.Visible = False Else MsgBox "登入成功!您當前身份是一般使用者。", 48, "溫馨提示" frmMain.Show 'FrmMain窗體顯示出來 frmMain.Administrator.Visible = False frmMain.Operator.Visible = False End If End If '連線資料庫,將登入資訊輸入到資料表裡 txtSQLa = "select * from OnWork_Info" Set mra = ExecuteSQL(txtSQLa, Msgtexta) mra.AddNew mra.Fields(0) = UserName mra.Fields(1) = Trim(mrc.Fields(2)) mra.Fields(2) = Date mra.Fields(3) = Time mra.Fields(4) = "LZ" mra.Update txtSQLb = "select * from worklog_Info" Set mrb = ExecuteSQL(txtSQLb, Msgtextb) mrb.AddNew mrb.Fields(1) = UserName mrb.Fields(2) = Trim(mrc.Fields(2)) mrb.Fields(3) = Date mrb.Fields(4) = Time mrb.Fields(7) = "LZ" mrb.Fields(8) = Str(True) mrb.Update mrc.Close '記錄集關閉 Me.Hide '登入窗體隱藏 frmMain.Show 'FrmMain窗體顯示出來
結語 這次接觸比較多的就是資料表了,所以,在剛開始的時候,弄清資料庫中表的含義是很關鍵的。要注意連線資料表的問題,把修改後的資訊及時更新到相應資料表對應的列中,保持資料庫中表中的資訊是最新的。'判斷原始密碼輸入框與登入窗體的密碼是否一致 '分為不一致與一致兩種情況 If Trim(txtOldWord.Text) <> Trim(frmLogin.txtPassword.Text) Then '情況1,如果不一致,彈出提示框提示使用者 MsgBox "原始密碼輸入不正確!", 48, "溫馨提示:" txtOldWord.SetFocus txtOldWord.Text = "" txtNewWord1.Text = "" txtNewWord2.Text = "" Exit Sub Else '情況2,判斷一致則執行下一步 '判斷新密碼與原始密碼是否相同 If Trim(txtNewWord1.Text) = Trim(frmLogin.txtPassword.Text) Then '1、新密碼與原始密碼相同,彈出提示框提示使用者 MsgBox "與原始密碼相同,請您重新設定!", 48, "溫馨提示:" txtNewWord1.Text = "" txtNewWord2.Text = "" Exit Sub Else '新密碼與原始密碼不同則執行下一步 '判斷兩次新密碼輸入是否相同 If Trim(txtNewWord1.Text) <> Trim(txtNewWord2.Text) Then '如果兩次新密碼輸入不一致,則彈出提示框提示使用者 MsgBox "新密碼輸入不一致,請重新確認!", 48, "溫馨提示:" txtNewWord1.SetFocus txtNewWord1.Text = "" txtNewWord2.Text = "" Else '如果兩次新密碼輸入一致,則執行下一步,將新密碼更新到資料庫中 txtSQL = "select * from User_Info where UserID='" & Trim(frmLogin.txtUserName.Text) & "'" '查詢該條記錄資訊 Set mrc = ExecuteSQL(txtSQL, MsgText) '執行查詢語句 mrc.Fields(1) = txtNewWord1 '將新設定的密碼賦給記錄集,更新資料庫 mrc.Update mrc.Close MsgBox "密碼修改成功!", 48, "溫馨提示:"