DEMO:系统登录对话框

刚接触vb连接数据库,自己想先敲几个实例找感觉。以下是我敲的第一个实例:系统登录对话框。这个系统登录对话框要完成创建数据库、设计窗体、建立ADO引用、功能代码等几个步骤。

1、创建数据库:我使用的是vb中自带的可视化数据管理器来创建数据库(具体做法就不说了),建立的数据库如下:

数据库 

2、设计窗体:

系统登录对话框

 

3、建立ADO引用:工程--引用--选择ADO对象库

4、代码(最重要的步骤)

①取消按钮:单击取消按钮时候询问用户是否真的退出登录,单击是则退出,否则继续登录操作。

具体实现:

Dim IntResult As Integer
'请用户确定是否真的退出系统登录
IntResult = MsgBox("您选择了退出系统登录,退出将不能启动管理系统!"&  vbCrLf   & "是否真的退出?", vbYesNo, "登录验证")
If IntResult = vbYes Then
      End
End If

②建立一个过程用于连接数据库,判断用户名和口令的正确性,并且标记给一个变量,用于在单击确定按钮进行判断并进行相应的操作。

具体实现:

Private Function Check_PassWord(ByVal UserName As String, ByVal PassWord As String) As Byte
    On Error GoTo gperror
    Dim objCn As New Connection, objRs As New Recordset, StrCn As String
    Dim StrSQL As String
    '建立数据库连接
    objCn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;" & _
                            "Data Source=" & App.Path & "/实例1.mdb"
    objCn.Open
    '执行查询命令,获得用户登录口令
    StrSQL = "SELECT 口令 FROM 系统用户 WHERE 用户名='" & UserName & "'"
    Set objRs.ActiveConnection = objCn
    objRs.Open (StrSQL)
    '判断有无查询结果
    If objRs.EOF Then
        Check_PassWord = 0
    Else
        '检查口令是否正确
        If PassWord <> Trim(objRs.Fields("口令").Value) Then
            Check_PassWord = 1
        Else
            Check_PassWord = 2
        End If
    End If
    '关闭数据库连接,释放对象
    objCn.Close
    Set objRs = Nothing
    Set objCn = Nothing
    Exit Function
gperror:
    MsgBox Err.Description
    Check_PassWord = 255
    Set objRs = Nothing
    Set objCn = Nothing
End Function

③确定按钮:验证用户名和口令。在这里进行了判断,看是不是本次超出了允许的范围,超出则退出登录;没有则进步一判断用户名和口令的正确性,符合则消息框提示登录成功,否则提示登录失败等或没有连接成功数据库等错误

具体实现:

Static IntLogTimes As Integer
    Dim Intchecked As Integer, StrName As String, StrPassWord As String
    IntLogTimes = IntLogTimes + 1
    If IntLogTimes > MaxLogTimes Then      ’设置MaxLongTimes为通用变量为验证登录信息的最多次数
        MsgBox "您已经吵过允许验证次数!" & vbCr _
                & "应用程序将结束!", vbCritical, "登录验证"
        End
    Else
        StrName = Trim(TxtUserName.Text)
        StrPassWord = Trim(TxtPassWord.Text)
        '检验用户名和口令的合法性,并根据检验返回值执行相应的操作
        Select Case Check_PassWord(StrName, StrPassWord)
            Case 0
                MsgBox "<" & StrName & _
                       "> 不是系统用户,请检查用户名输入是否正确!", vbCritical, "登录验证"
                TxtUserName.SetFocus
                TxtUserName.SelStart = 0
                TxtUserName.SelLength = Len(TxtUserName)
            Case 1
                MsgBox "口令错误!,请重新输入!", vbCritical, "登录验证"
                TxtPassWord = ""
                TxtPassWord.SetFocus
            Case 2
                Unload Me
                MsgBox "登录成功,将启动系统程序!", vbInformation, "登录验证"
            Case Else
                MsgBox "登录验证未正常完成!请重新运行登录程序," & vbCrLf _
                       & "如果仍不能登录,请报告系统管理员!", vbCritical, "登录验证"
        End Select
    End If

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值