1. 程式人生 > >機房收費系統(一)------登入&修改

機房收費系統(一)------登入&修改

前言 進行機房也有一段時間了,一直處於走迷宮的狀態不知從何入手。從生活中出發,我們在使用某個系統時,一般情況下最先進入該系統的登入頁面。現在輪到自己敲系統了,當然也是從登入開始啦。 正文 機房收費系統登入窗體的思路,和有原始碼的學生系統的思路是大同小異的。這次在之前基礎之上加了一個判斷為空或錯誤時的紅星號提示。讓使用者一目瞭然。 初步流程圖如下:

在這裡插入圖片描述

實現上述功能的部分程式碼如下:
'判斷輸入使用者名稱或密碼是否為空,分為空值和非空值兩種情況
    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, "溫馨提示:"
                
結語 這次接觸比較多的就是資料表了,所以,在剛開始的時候,弄清資料庫中表的含義是很關鍵的。要注意連線資料表的問題,把修改後的資訊及時更新到相應資料表對應的列中,保持資料庫中表中的資訊是最新的。