VB调试出实时错误3704 高手进啊谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/22 00:16:15
输入用户名和密码就出现 实时错误3704 高手帮忙解决下Option Explicit
Public OK As Boolean
Dim miCount As Integer
Private Sub cmdCancel_Click()
OK = False
End
End Sub
Private Sub cmdLogin_Click()
Dim rs_user As New ADODB.Recordset
Dim txtSQL As String
Dim MsgText As String

If UsName.Text = "" Then
MsgBox "用户名不能为空,请输入用户名!", vbOKOnly + vbInformation, "注意"
UsName.SetFocus
Exit Sub
Else
If Pwd.Text = "" Then
MsgBox "请输入密码!", vbOKOnly + vbInformation, "注意"
Pwd.SetFocus
Exit Sub
Else
txtSQL = "select * from UserTable where userId='" & UsName.Text & "'"
Set rs_user = ExecuteSQL(txtSQL, MsgText)
If rs_user.EOF = True Then
MsgBox "没有这个用户,请重新输入你的用户名!", vbOKOnly + vbInformation, "注意"
UsName.SetFocus

If rs_user.EOF = True Then 你在这句话之前添加

msgbox rs_user.fields(0).value

看看弹出来啥玩意

在 Option Explicit 部分加上
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
然后在窗体的form_load 事件里加上
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Jet OLEDB:Database Password = astone;Data Source=" & App.Path & "\数据库名称.mdb"
cn.Open
然后你用rs.open"数据库查询语句"就可以了
比如你的是
rs.Open "select * from UserTable where userId='" & UsName.Text & "'", cn, adOpenStatic,adLockOptimistic

同时,将你代码中的数据库连接声明语句去掉。
貌似我在你的代码中没看见数据库连接字符串之类的东东。。。

ExecuteSQL(txtSQL, MsgText)
这应该是一个在公用模块中定义的函数吧,你看看那里连接数据库的语句是什么,看看是不是那里不对

rs_user.open sql语句,数据库连接语句

未建立数据库连接
修改一下cmdLogin_Click() :
Private Sub cmdLogin_Click()
Dim conn As New ADODB.Connection '