对象打开时不允许操作(VB)

来源:百度知道 编辑:UC知道 时间:2024/06/09 01:50:21
哪位大哥解释或修改下,说下为什么啊
刚开始学VB
不是很明白

Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim num As Integer
'Dim str As String
Dim str(10) As Integer
Private Sub 确定_click()
Dim connectionstring As String
connectionstring = "Provider=SQLOLEDB.1;Password=1234;Persist Security Info=True;User ID=onwer;Initial Catalog=SAFE;Data Source=10.192.12.10"
conn.Open connectionstring
If dacomyhmc.Text = "" Then
MsgBox "用户名不能为空", vbOKOnly + vbExclamation, "警告"
dacomyhmc.SetFocus
Exit Sub
rs.Close
End If
rs.Open "select * from userinf", conn, adOpenStatic, adLockBatchOptimistic
rs.MoveFirst
rs.Find "username='" & dacomyhmc.Text & "'"
If rs.EOF Then
MsgBox "没有找到用户", vbOKOnly + vbExclamation
dacomyhmc.SetFocus
Exit Sub
Else
If rs.Fields(&quo

你还没有完全关闭数据库,只是关闭了记录集,
你要这样修改:

在rs.close 后面还要加上 conn.close

同样在form 的 unload 事件中也要写入此代码

on error resumenext
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim num As Integer
'Dim str As String
Dim str(10) As Integer
Private Sub 确定_click()
Dim connectionstring As String
connectionstring = "Provider=SQLOLEDB.1;Password=1234;Persist Security Info=True;User ID=onwer;Initial Catalog=SAFE;Data Source=10.192.12.10"
conn.Open connectionstring
If dacomyhmc.Text = "" Then
MsgBox "用户名不能为空", vbOKOnly + vbExclamation, "警告"
dacomyhmc.SetFocus
rs.Close
Exit Sub

End If
rs.Open "select * from userinf", conn, adOpenStatic, adLockBatchOptimistic
rs.MoveFirst
rs.Find "username='" & dacomyhmc.Text & "'"
If rs.EOF Then
MsgBox "没有找到用户", vbOKOnly