xinxue
路人甲
路人甲
  • 注册日期2006-05-22
  • 发帖数3
  • QQ
  • 铜币119枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2158回复:2

求助--VB程序问题在何处呢?

楼主#
更多 发布于:2006-08-12 17:48
Option Explicit
Dim cnt As Integer                '记录输入次数
Dim sql As String
Dim rs_login As New ADODB.Recordset
Dim connectionstring As String
Private Sub cmdOK_Click()
   If Trim(cmbName.Text) = "" Then            '判断输入的用户名是否为空
   MsgBox "用户名不能为空!", vbOKOnly + vbExclamation, "提示"
   cmbName.SetFocus                           '判断用户名和密码是否正确
   Else
       sql = "select * from 系统管理表 where czyh='" & cmbName.Text & "'"
       rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic
       If rs_login.EOF = True Then
           MsgBox "没有这个用户", vbOKOnly + vbExclamation, ""
          cmbName.SetFocus
       Else                                  '检查密码是否正确
          If Trim(rs_login.Fields(1)) = Trim(txtpwd.Text) Then
              username = cmbName.Text
                userstyle = rs_login.Fields(2) '记录登录用户的类型,以便进行权限设置
                
                 Unload Me
                 frmmain.Show
                 rs_login.Close
                   Exit Sub
          Else
                 MsgBox "密码不正确", vbOKOnly + vbExclamation, ""
                 txtpwd.Text = ""
                 txtpwd.SetFocus
         End If
       End If
    
   End If
   cnt = cnt + 1                        '输入次数加1
       If cnt = 3 Then
       MsgBox "您输入的密码错误次数太多!", vbExclamation, ""
       Unload Me
       End If
       rs_login.Close
            
End Sub
我不知道为什么上面这个程序运行后,在出现的登录框中,输入密码(和数据库中表中的一样)后,总是出现信息提示"密码不正确!"。我的数据库(Access)中,有关登录人的信息的表中,密码所用的字段是数字型的,姓名字段和权限字段是文本型的.恳请热心人指点一下,十分感谢!下面是相关程序
Private Sub Form_Load()
connectionstring = "provider=microsoft.jet.oledb.4.0;" & "data source=" & App.Path & "\House.mdb"
conn.Open connectionstring  '打开数据库
sql = "select *from 系统管理表"   '检索系统管理表
rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic      '打开记录集
If rs_login.EOF = False Then  '将记录逐一添加到cmbname组合框
        Do While rs_login.EOF = False
         cmbName.AddItem (rs_login.Fields(0))
         rs_login.MoveNext
        Loop
        cmbName.ListIndex = 0   '默认显示第一个子项
End If
rs_login.Close
cnt = 0                        '初始化输入次数
    End Sub
<img src="images/post/smile/dvbbs/em08.gif" />
喜欢0 评分0
wuhanpl
路人甲
路人甲
  • 注册日期2006-05-06
  • 发帖数20
  • QQ
  • 铜币340枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2006-08-18 00:03
   我用你的代码可以运行成功呀,也没有出现“密码错误”,不知道你这整个模块是怎样的,你可以一步一步的调试跟追程序运行的状况,如果还是不行可以发过来我帮你调试。这个登录代码有很多写法,其中用向导就可以帮你完成。
举报 回复(0) 喜欢(0)     评分
gzstyxb
路人甲
路人甲
  • 注册日期2004-09-22
  • 发帖数358
  • QQ
  • 铜币1045枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2006-08-17 16:04
调试啊。唉,我是不会VB的了,虽然我不会,但是我知道可以调试。
由爱故生忧, 由爱故生怖. 若离于爱者, 无忧亦无怖.
举报 回复(0) 喜欢(0)     评分
游客

返回顶部