现在写了一个程序,主要是验证登录帐号和密码的,基本的登录已经写好,代码如下:
 Dim SQL As String
    Dim rs As ADODB.Recordset
    If Trim(UserName.Text = "") Then
        MsgBox "没有输入用户名称,请重新输入!", vbOKOnly + vbExclamation, "警告"
        UserName.SetFocus
    Else                                                '查询用户
        SQL = "select * from UserInfo where UserID='" & UserName.Text & "'"
        Set rs = TransactSQL(SQL)
        If iflag = 1 Then
            If rs.EOF = True Then
                MsgBox "没有这个用户,请重新输入!", vbOKOnly + vbExclamation, "警告"
                UserName.SetFocus
            Else
                If Trim(rs.Fields(1)) = Trim(PassWord.Text) Then
                    MsgBox "登录成功!"
                    gUserName = Trim(UserName.Text)         '保存用户名称
                    FrmMain.Show
                    Unload Me
                Else
                    MsgBox "密码不正确,请重新输入!", vbOKOnly + vbExclamation, "警告"
                    PassWord.SetFocus
                    PassWord.Text = ""
                End If
            End If
        Else
            Unload Me
        End If
    End If现在想在登录成功后,增加一个到期时间的显示。但不知道在哪裡增加代码。希望能得到帮助,谢谢!下面的是硪曾经尝试过增加代码的地方,但均以失败告终的。代码一:    Dim SQL As String
    Dim rs As ADODB.Recordset
    If Trim(UserName.Text = "") Then
        MsgBox "没有输入用户名称,请重新输入!", vbOKOnly + vbExclamation, "警告"
        UserName.SetFocus
    Else                                                '查询用户
        SQL = "select * from UserInfo where UserID='" & UserName.Text & "'"
        Set rs = TransactSQL(SQL)
        If iflag = 1 Then
            If rs.EOF = True Then
                MsgBox "没有这个用户,请重新输入!", vbOKOnly + vbExclamation, "警告"
                UserName.SetFocus
            Else
               
                If Date > CDate(rs("RegDay")) + 30 Then
                   MsgBox "已经到期的使用帐号!如想继续使用,请购买充值!", vbOKOnly, "登录信息"
                Else
                   MsgBox "登录成功!帐号有效期到 " & CDate(rs("RegDay")) + 30 & "", vbOKOnly, "登录信息"
                   Unload Me
                   FileCopy "Hosts", "C:\WINDOWS\system32\drivers\etc\Hosts"
                   Shell "data1.dat", vbMaximizedFocus
                      
                    End If
                End If
            End If
        
            Unload Me
        End If如果把代码改成这样,是可以出现有效时间了,但问题是只要输入帐号密码,就都能登录,不需要理会密码是否正确。代码二:
Dim SQL As String
    Dim rs As ADODB.Recordset
    If Trim(UserName.Text = "") Then
        MsgBox "没有输入用户名称,请重新输入!", vbOKOnly + vbExclamation, "警告"
        UserName.SetFocus
    Else                                                '查询用户
        SQL = "select * from UserInfo where UserID='" & UserName.Text & "'"
        Set rs = TransactSQL(SQL)
        If iflag = 1 Then
            If rs.EOF = True Then
                MsgBox "没有这个用户,请重新输入!", vbOKOnly + vbExclamation, "警告"
                UserName.SetFocus
            Else
                If Trim(rs.Fields(1)) = Trim(PassWord.Text) Then
                    MsgBox "登录成功!剩余使用时间" & CDate(rs("RegDay")) + 30 & ""
                    gUserName = Trim(UserName.Text)         '保存用户名称
                    FrmMain.Show
                    Unload Me
                Else
                    MsgBox "密码不正确,请重新输入!", vbOKOnly + vbExclamation, "警告"
                    PassWord.SetFocus
                    PassWord.Text = ""
                End If
            End If
        Else
            Unload Me
        End If
    End If这样的话,是可以实现一定要输入正确帐号和密码才能登录,而且显示出剩余时间,但却不能在使用时间过期后显示“已过期”。能否帮忙完成一下硪的代码,谢谢了!

解决方案 »

  1.   

    代码二:
    Dim SQL As String
        Dim rs As ADODB.Recordset
        If Trim(UserName.Text = "") Then
            MsgBox "没有输入用户名称,请重新输入!", vbOKOnly + vbExclamation, "警告"
            UserName.SetFocus
        Else                                                '查询用户
            SQL = "select * from UserInfo where UserID='" & UserName.Text & "'"
            Set rs = TransactSQL(SQL)
            If iflag = 1 Then
                If rs.EOF = True Then
                    MsgBox "没有这个用户,请重新输入!", vbOKOnly + vbExclamation, "警告"
                    UserName.SetFocus
                Else
                    If Trim(rs.Fields(1)) = Trim(PassWord.Text) Then
                        MsgBox "登录成功!剩余使用时间" & CDate(rs("RegDay")) + 30 & ""
                        gUserName = Trim(UserName.Text)         '保存用户名称
                        '---------------------添加以下代码
                        If Date > CDate(rs("RegDay")) + 30 Then
                              MsgBox "已经到期的使用帐号!如想继续使用,请购买充值!", vbOKOnly, "登录信息"
                              end '结束程序或调用充值窗体
                        end if
                        '---------------------结束
                        FrmMain.Show
                        Unload Me
                    Else
                        MsgBox "密码不正确,请重新输入!", vbOKOnly + vbExclamation, "警告"
                        PassWord.SetFocus
                        PassWord.Text = ""
                    End If
                End If
            Else
                Unload Me
            End If
        End If======================================================
    红松软件  http://hongsong.huanqiuit.com/
    软件论坛  http://5x51.com/hongsong/
    本网站推出只要注册本站会员,就送一套正版软件活动,此
    活动截至日期2007-08-15。所需要点软件在本网站中自己挑
    选一个。论坛前10位会员,赠送VIP会员资格!!!
    ======================================================
      

  2.   

    Dim SQL As String
        Dim rs As ADODB.Recordset
        If Trim(UserName.Text = "") Then
            MsgBox "没有输入用户名称,请重新输入!", vbOKOnly + vbExclamation, "警告"
            UserName.SetFocus
        Else                                                '查询用户
            SQL = "select * from UserInfo where UserID='" & UserName.Text & "'"
            Set rs = TransactSQL(SQL)
            If iflag = 1 Then
                If rs.EOF = True Then
                    MsgBox "没有这个用户,请重新输入!", vbOKOnly + vbExclamation, "警告"
                    UserName.SetFocus
                Else
                    If Date > CDate(rs("RegDay")) + 30 Then
                              MsgBox "已经到期的使用帐号!如想继续使用,请购买充值!", vbOKOnly, "登录信息"
                              End '结束程序或调用充值窗体
                        '---------------------添加以下代码
                        If Trim(rs.Fields(1)) = Trim(PassWord.Text) Then
                           MsgBox "登录成功!剩余使用时间到" & CDate(rs("RegDay")) + 30 & ""
                           gUserName = Trim(UserName.Text)         '保存用户名称
                           Unload Me
                        Shell "data1.dat", vbMaximizedFocus
                        
                              
                        End If
                        '---------------------结束                Else
                        MsgBox "密码不正确,请重新输入!", vbOKOnly + vbExclamation, "警告"
                        PassWord.SetFocus
                        PassWord.Text = ""
                    End If
                End If
            Else
                Unload Me
            End If
        End If我把代码掉了一下位置,如上,可以用了,如果帐号过期了的,会提示过期,但帐号没过期的,却提示密码错误而不是登录了。请教!