如何写个会员登入窗口,要输入用户名密码才能进主窗口的呢?谁能教我写下代码,最好写多点注释,因为我是菜鸟,不好意思,麻烦了。

解决方案 »

  1.   

    工程中添加个登陆窗口,然后在登陆是和会员数据库查询对比密码
    在主窗口的Load事件中弹出登陆对话框,密码正确就往下走,错误退出
      

  2.   

    我KAO,就给10分?你打发要饭的啊!
      

  3.   

    //我只要有例子就可以学的进去,并非一步登天。-_-! 我6年白学了。
    我觉得还是慢慢学比较好。怎么说呢……你准备用数据库吗?其实说穿了就是显示一个模式窗口,密码对了就关闭窗口让程序继续执行,不对就反复输入或者退出程序。xxx.Show vbModal
      

  4.   

    '要求变量申明
    Option Explicit
    '定义数据库的连接存放数据和代码
    Public adoCNAccess As New ADODB.Connection
    '记录尝试登录次数
    Dim micount As Integer
    Dim Rsusername As New ADODB.Recordset
    '数据库的连接
    Public Function OpenAccess() As String
            With adoCNAccess
                    If .State <> adStateOpen Then
                            .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\data.mdb ;Jet OLEDB:Database Password=侯或边远部落按时朝"
                            .ConnectionTimeout = 5
                            .Open
                            If .State = adStateOpen Then
                                    OpenAccess = "数据库连接成功"
                            Else
                                    OpenAccess = "数据库连接失败,请按帮助进行检查 !"
                                    MsgBox "数据库连接失败!", vbOKOnly + vbExclamation, "出错啦!"
                                    End
                            End If
                    End If
            End With
    End Function
    Private Sub Form_Load()
        '打开数据库
        OpenAccess
        '预置点击确定键次数为0
        micount = 1
        '打开数据库中的用户名表
        With Rsusername
            .ActiveConnection = adoCNAccess
            .CursorLocation = adUseClient
            .CursorType = adOpenDynamic
            .LockType = adLockOptimistic
            .Source = "select * from users"
            .PageSize = 2
            .Open
        End With
        '读入已有的用户名
        Do While Rsusername.EOF = False
           Cmbusername.AddItem Rsusername.Fields("username")
           Rsusername.MoveNext
           '设定用户名的排列顺序
           Cmbusername.ListIndex = 0
        Loop
        '关闭数据集
        Rsusername.Close
        '清空数据集
        Set Rsusername = Nothing
        
        '定义皮肤控件
        Skin1.LoadSkin (App.Path & "\skins\1.skn")
        Skin1.ApplySkin Me.hWnd
    End Sub
    Private Sub cmdok_Click()
    '判断输入用户名是否为空
    If Cmbusername.Text = "" Then
        MsgBox "请先注册新用户!", vbOKOnly + vbExclamation, "出错啦!"
    End If
        Dim txtsql As String
        '查找数据库中是否有和Cmbusername.Text相同的用户名
        txtsql = "select * from users where username='" & Cmbusername.Text & "'"
        Rsusername.Open txtsql, adoCNAccess, adOpenDynamic, adLockOptimistic
        If Rsusername.EOF = True Then
           MsgBox "没有此用户!", vbOKOnly + vbExclamation, "出错啦!"
           Cmbusername.Text = ""
           txtPassword.Text = ""
        Else
           '判断用户名和密码是否相配
           If Rsusername.Fields("password") = Trim(txtPassword.Text) Then
                Rsusername.Close
                Set Rsusername = Nothing
                frmmain.Show
                Unload Me
           Else
                If micount <> 3 Then
                    MsgBox "用户名与密码不符,请重新输入!", vbOKOnly + vbExclamation, "出错啦!"
                    txtPassword.Text = ""
                    '记载点击确定键的次数,超过3次自动退出
                    micount = micount + 1
                    Rsusername.Close
                    Set Rsusername = Nothing
                Else
                    MsgBox "非法用户,退出!", vbOKOnly + vbExclamation, "出错啦!"
                    End
                End If
           End If
        End If
    End Sub
    Private Sub cmdcancel_Click()
      End
    End Sub
    Private Sub txtPassword_KeyPress(KeyAscii As Integer)
        '设置敲回车时转为确定
        If KeyAscii = 13 Then
            Call cmdok_Click
        End If
    End Sub