已有23人关注
请教一个关于数据库方面的问题
发表在VB答疑区 2010-01-19
是否精华
版块置顶:
我有一个登录窗体,数据表有三个管理员,分别是:Q、W、A。
    1、用rs.Open "select * from QXB"和rs.Open "select * from QXB where username"连接表时,只认Q。当输入Q后,提示你要输入密码,然后进入主窗体。
而输入其他姓名时,提示没有这个用户。
2、用rs.Open "select * from QXB where username='" + Txt_user.Text + "'"连接表时,
当直接输入这三个管理员Q、W和A后,再直接输入相应的密码,可以进入主窗体。
但如果“姓名”和“密码”框为空时,什么也不提示,这是为什么呢?
3、在登录窗体中,还有一段“权限设置”代码,请问各位大师,“权限设置”部分的代码应该加在什么位置比较合适。
4、下面是我的登录窗体确认事件中的代码,请各位大师指教,问题出在什么地方。
谢谢!!!!!!!!!!!!!!!!!!!!!!!!
Private Sub Cmd_OK_Click()
' rs.Open "select * from QXB where QXB.username='" & username & "' and QXB.password='" & Password & "'", cn, adOpenStatic
' rs.Open "select * from QXB where username='" & Me.Txt_user & "' and password='" & Me.Txt_Pass & "'"
 rs.Open "select * from QXB"
' rs.Open "select * from QXB where username" '='" + Txt_user.Text + "'"
' rs.Open "select * from QXB where username='" + Txt_user.Text + "'"

    If rs.RecordCount > 0 Then '如果记录数大于零
        '验证操作员及密码
        If Txt_Pass.Text = rs.Fields("password") Then
           Load Form21
              Form21.Show: Unload Me
         Else
                If Txt_user.Text = "" Then
                  MsgBox "请输入用户姓名!", , "信息提示"
                     Txt_user.SetFocus
                Else           
                          If Txt_user.Text <> rs.Fields("username") Then
                            MsgBox "用户名有误,请重新输入!", , "信息提示"
                              Txt_user.Text = "": Txt_user.SetFocus
                        Else
                              If Txt_Pass.Text = "" Then
                              MsgBox "请输入用户密码!", , "信息提示"
                              Txt_Pass.SetFocus
                        Else
                             If Txt_Pass.Text <> rs.Fields("password") Then
                             MsgBox "密码错误,请重新输入密码!", , "信息提示"
                             Txt_Pass.Text = "":
                             Txt_Time.Text = Val(Txt_Time.Text) + 1
                             Txt_Pass.SetFocus
                        End If
                        End If
                            If Txt_Time.Text = "3" Then     '密码错误3次,退出系统
                         MyMsg = MsgBox("密码输入错误,请向系统管理员查询!", , "信息提示")
                      If MyMsg = vbOK Then End
                   End If
                End If
             End If
         End If
      End If
   rs.Close
End Sub
分享到:
精彩评论 2
vbsoldier
学分:0 LV1
2010-01-20
沙发
输入限制部分应该放到查询语句之前,而且If Txt_Pass.Text = rs.Fields("password") Then 没啥用,既然rs.RecordCount > 0了就说明用户和密码都批评。
大漠孤烟2009
学分:0 LV1
2010-01-21
板凳
上面的问题,经过一个星期的努力,终于自己解决。主要是用ADO控件的方法连接的数据表,( "select * from QXB where username" '='" + Txt_user.Text + "'")。再加上权限设置部分的适当位置,解决了这一困绕我一个星期的难题(当然了,对于你们这些大师来说不算什么,但对我来说还是蛮有难度的)。
首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照