vb 3709错误

这是我的全部代码做的登陆界面但出现了3709错误其实我也很纳闷这样就可以连上数据库吗怎么验证用户名和密码正确PublicconnAsADODB.Connection'这个... 这是我的全部代码 做的登陆界面 但出现了3709错误 其实我也很纳闷 这样就可以连上数据库吗 怎么验证用户名和密码正确
Public conn As ADODB.Connection '这个语句最好放在模块中
Dim Try_times As Integer
Private Sub Command1_Click()
If id(0).Text = "" Then
MsgBox "用户名不能为空!", vbOKOnly + vbInformation, "友情提示"
id(0).SetFocus
Exit Sub
End If
If Password.Text = "" Then
MsgBox "密码不能为空!", vbOKOnly + vbInformation, "友情提示"
Password.SetFocus
Exit Sub
End If

Dim strSQl As String
strSQl = "select * from Users where users_name='" & Trim$(Text2) & "' and password='" & Trim$(Text3) & "' "

Dim str As New ADODB.Recordset
Set str = New ADODB.Recordset
str.CursorLocation = adUseClient
str.Open strSQl, conn, adOpenStatic, adLockReadOnly

With str
If .State = adStateOpen Then .Close
.Open strSQl
If .EOF Then
Try_times = Try_times + 1
If Try_times >= 3 Then
MsgBox "您已经三次尝试进入本系统,均不成功,系统将自动关闭", vbOKOnly + vbCritical, "警告"
Unload Me
Else
MsgBox "对不起,用户名不存在或密码错误 !", vbOKOnly + vbQuestion, "警告"
id(0).SetFocus
id(0).Text = ""
Password.Text = ""
End If
Else

Unload Me

Form2.Show '登录进入的另一个界面

End If
End With

End Sub
继续代码
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Load()
id(0).Text = ""
Password.Text = ""
End Sub

Sub main(conn) '该过程最好放在模块中
conn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False; User ID=sa;password=zxy;Initial Catalog=jwglxt;Data Source=127.0.0.1"
conn.Open
End Sub

Private Sub Text2_Change(Index As Integer)

End Sub

Private Sub Text3_Change()

End Sub
展开
 我来答
ZHMINGEN
2014-03-10 · TA获得超过1735个赞
知道大有可为答主
回答量:3149
采纳率:68%
帮助的人:1251万
展开全部
哎哎!
我前面给你的代码你没有搞明白,在Private Sub Command1_Click()过程中必须调用数据库连接,即必须需要 Call main(conn) 这个语句,你没有连接数据库,str.Open strSQl, conn, adOpenStatic, adLockReadOnly 这个语句就没有conn数据库连接对象,肯定出错的。
另外打开数据库对象和记录集对象,在不需要时必须关闭,也就是必须在 End With后面,在 End Sub的前面有str.Close 和conn.Close 语句
更多追问追答
追问
sorry 我还是不怎么懂  应该加点什么在代码里 我希望能完整运行出来
追答
你的QQ,这里说不清。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式