机房收费系统之六

同一用户的两种登录方式

之前做的登录窗口之能用卡号登录,如果忘记了卡号怎么办?经过比较权衡,最终决定让用户用两个号码等录,就是说用卡号也能登录用学生的学号也可以登录。这样就方便很多了。根据这个思想对登录窗口做了如下的改动,完整代码如下所示:(可以比较之前所写的博客)

Option Explicit

Public ok As Boolean

'记录确定次数

   Dim micount As Integer

Private Declare Function GetUserName Lib"advapi32.dll" Alias "GetUserNameA" (ByVal Lpbuffer AsString, Nsize As Long) As Long

Private Sub Command1_Click()

'用来存放SQL 语句

  Dim txtSQL As String

  Dim mrc As ADODB.Recordset

'用来存放记录集对象

   Dim msgtext As String

    '查询指定用户名的记录

   txtSQL = "select*from user_info"

    '执行查询语句

   Set mrc = ExecuteSQL(txtSQL, msgtext)

    username = ""

    '判断输入用户名是否为空

    If mrc.EOF Then

     MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly +vbExclamation, "警告"

       Text1.SetFocus

        Else

   While (mrc.EOF = False)

    If Trim(Text1.Text = "") Then

         MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly +vbExclamation, "警告"

           Text1.SetFocus

    '判断输入的用户名是否是已经注册的用户名卡号

       ElseIf Trim(Text1.Text) = Trim(mrc.Fields(0)) Then

              '判断密码是否正确

              If Trim(mrc.Fields(1)) =Trim(Text2.Text) Then

               ok = True

                username = Trim(mrc.Fields(0))

                 mrc.Close

                   Me.Hide

                    Else

                   MsgBox "输入密码不正确,请重新输入!", vbOKOnly + vbExclamation, "警告"

                 Text2.Text = ""

                Text2.SetFocus

               End If

              Exit Sub

      '判断输入的用户名是否是已注册学生学号

       ElseIf Trim(Text1.Text) = Trim(mrc.Fields(5)) Then

           '判断密码是否正确

           If Trim(mrc.Fields(1)) =Trim(Text2.Text) Then

              ok = True

               username = Trim(mrc.Fields(0))

                mrc.Close

                 Me.Hide

                  Else

                 MsgBox "输入密码不正确,请重新输入!", vbOKOnly + vbExclamation, "警告"

                Text2.Text = ""

              Text2.SetFocus

            End If

           Exit Sub

       

       Else

       '数据库中游标移动到下一个数据行

        mrc.MoveNext

         End If

       '返回while从头运行此段程序

      Wend

       '记载输入密码次数

        micount = micount + 1

          If micount = 3 Then

              MsgBox "输入错误已到3次,请检查后再登陆!", vbOKOnly + vbExclamation,"警告"

              End

           End If

       Exit Sub

   End If

End Sub

 

Private Sub Command2_Click()

   ok= False

   Me.Hide

End Sub

 

Private Sub Form_Load()

       Dim Sbuffer As String

       Dim Lsize As Long

       Sbuffer = Space$(255)

       Lsize = Len(Sbuffer)

       Call GetUserName(Sbuffer, Lsize)  '防止存在上一次输入的用户名

       If Lsize > 0 Then

          Text1.Text = ""

           Else

          Text1.Text = vbNullString

       End If

       

       ok = False

       micount = 0

       

End Sub

猜你喜欢

转载自blog.csdn.net/qq_39674002/article/details/79202193