阅读:2158回复:2
求助--VB程序问题在何处呢?
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" /> |
|
1楼#
发布于:2006-08-18 00:03
我用你的代码可以运行成功呀,也没有出现“密码错误”,不知道你这整个模块是怎样的,你可以一步一步的调试跟追程序运行的状况,如果还是不行可以发过来我帮你调试。这个登录代码有很多写法,其中用向导就可以帮你完成。
|
|
2楼#
发布于:2006-08-17 16:04
调试啊。唉,我是不会VB的了,虽然我不会,但是我知道可以调试。
|
|
|