当前位置:编程学习 > VB >>

vb6.0中下面代码运行后,怎么总是提示说“参数不正确或不在接受的范围之内,或与其他参数相冲突”麻烦各位高手看看那出问题了??

vb6.0中下面代码运行后,怎么总是提示说“参数不正确或不在接受的范围之内,或与其他参数相冲突”麻烦各位高手看看那出问题了??
Private Sub cmdCancel_Click()
End
End Sub

Private Sub cmdOK_Click()
On Error GoTo errhandler

'建立全局性的数据连接
Set gConn = New ADODB.Connection
gConn.ConnectionString = "dsn=xsgl;"
gConn.Open




'取得用户输入的用户名和密码
Dim user As String, pwd As String
user = txtUser
pwd = txtPwd



'取得用户的用户类型和用户名,并分别保存在两个全局变量gnUserType和gsUserName中
gnUserType = cboUserType.ListIndex
gsUserName = user



'根据所取得用户名,密码和用户类型在数据库中进行搜索
Dim strSQL As String
strSQL = "select*from UserList where 用户名='" & user & "'and 用户密码='" & pwd & "'and 用户类型='" & cboUserType & "'"
Dim r As New ADODB.Recordset
r.Open strSQL, gConn.adOpenStatic

'用户密码错误的次数,如果错误次数超过三次,则推出系统
Static nTryCount As Integer

If r.EOF Then   '登录失败
   MsgBox "对不起,无此用户或者密码不正确!请重新输入!!", vbCritical, "错误"
   txtUser.SetFocus
   txtUser.SelStart = 0
   txtUser.SelLength = Len(txtUser)
   nTryCount = nTryCount + 1
   If nTryCount >= 3 Then
     MsgBox "您无权操作本系统!再见!", vbCritical, "无权限"
     Unload Me
     '关闭数据库连接
     gConn.Close
   End If
  Else  '登录成功
    Unload Me
    frmMain.Show '显示MDI主窗口
End If
 r.Close

Exit Sub
errhandler:
 MsgBox Err.Description, vbCritical, "错误"
 
 
     
End Sub

Private Sub Form_Load()
cboUserType.Clear
'在cboUser中加载用以表示用户类型的字符串
cboUserType.AddItem "管理人员", 0
cboUserType.AddItem "仓管人员", 1
cboUserType.AddItem "销售人员", 2

cboUserType.ListIndex = 0
End Sub
在哪行出错怎么不说? 单步执行,告知我们哪句有问题? 先将所有on error ...语句注释掉,在IDE里面执行,会定位出错的行,如果还看不出,就将出错的行拆解为逻辑等价的多行,再试。
补充:VB ,  数据库(包含打印,安装,报表)
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,