Global G_dbcon As New ADODB.Connection
Global G_tblrct As New ADODB.Recordset
Public Function Querydata(ByVal Strsql As String) As Boolean
Set G_tblrct = New ADODB.Recordset
G_tblrct.Open Strsql, G_dbcon, adOpenDynamic, adLockOptimistic, -1
If Err.Number > 0 Then
Err.Clear
Querydata = False
Else
Querydata = True
End If
End Function
Public Function Connecttoserver() As Boolean
On Error GoTo connecterr
G_dbcon.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=biyesheng;Data Source=localhost"
G_dbcon.Open
Connecttoserver = True
Exit Function
connecterr:
Connecttoserver = False
MsgBox "错误代码:" & Err.Number & vbCrLf & "错误描述:" & Err.Description, vbCritical + vbOKOnly, "连接错误"
End Function
Public Function Disconnect() As Boolean
If G_dbcon.State = adStateOpen Then
G_dbcon.Close
End If
Disconnect = True
End Function//登陆按钮
Private Sub cmdOK_Click()
M = False
On Error GoTo on_error
Dim Strquerysql As String
Strquerysql = "select * from user_info"
Querydata (Strquerysql)
G_tblrct.MoveFirst
'检查正确的用户及密码
If Trim(txtUserName.Text) = Empty Then
MsgBox "用户名称不能为空", vbInformation + vbOKOnly, "数据不完整"
txtUserName.SetFocus
Exit Sub
End If
If Trim(txtPassword.Text) = Empty Then
MsgBox "用户密码不能为空", vbInformation + vbOKOnly, "数据不完整"
txtPassword.SetFocus
Exit Sub
End If
If Trim(txtUserName.Text) = G_tblrct("username") And txtPassword.Text = G_tblrct("password") Then
M = True
Unload Me
FrmMain.Show
Exit Sub
End If
G_tblrct.MoveNext
Do While Not G_tblrct.EOF
If Trim(txtUserName) = G_tblrct("username") And txtPassword.Text = G_tblrct("password") Then
Unload Me
FrmMain.Show
Exit Sub
End If
G_tblrct.MoveNext
Loop
If MsgBox("无效的用户名或密码,请重试!", vbRetryCancel, "登录错误") = vbCancel Then
Unload Me
End
End If
txtUserName.SetFocus
Exit Sub
cmdOK_Click_exit:
Set G_tblrct = Nothing
on_error:
MsgBox "错误代码:" & Err.Number & vbCrLf & "错误描述:" & Err.Description, vbCritical + vbOKOnly, "添加数据错误"
Set G_tblrct = Nothing
End Sub
大家帮我看看有什么问题~老是出现我用vb访问数据库获取登陆数据的时候,总是出现 “错误代码:3709
错误描述:连接无法用于执行此操作。在此上下文中它可能已被关闭或无效!”
这是为什么,开始做好的时候没有这样的阿 现在突然就这样了!
谢谢大家,帮帮我!
Global G_tblrct As New ADODB.Recordset
Public Function Querydata(ByVal Strsql As String) As Boolean
Set G_tblrct = New ADODB.Recordset
G_tblrct.Open Strsql, G_dbcon, adOpenDynamic, adLockOptimistic, -1
If Err.Number > 0 Then
Err.Clear
Querydata = False
Else
Querydata = True
End If
End Function
Public Function Connecttoserver() As Boolean
On Error GoTo connecterr
G_dbcon.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=biyesheng;Data Source=localhost"
G_dbcon.Open
Connecttoserver = True
Exit Function
connecterr:
Connecttoserver = False
MsgBox "错误代码:" & Err.Number & vbCrLf & "错误描述:" & Err.Description, vbCritical + vbOKOnly, "连接错误"
End Function
Public Function Disconnect() As Boolean
If G_dbcon.State = adStateOpen Then
G_dbcon.Close
End If
Disconnect = True
End Function//登陆按钮
Private Sub cmdOK_Click()
M = False
On Error GoTo on_error
Dim Strquerysql As String
Strquerysql = "select * from user_info"
Querydata (Strquerysql)
G_tblrct.MoveFirst
'检查正确的用户及密码
If Trim(txtUserName.Text) = Empty Then
MsgBox "用户名称不能为空", vbInformation + vbOKOnly, "数据不完整"
txtUserName.SetFocus
Exit Sub
End If
If Trim(txtPassword.Text) = Empty Then
MsgBox "用户密码不能为空", vbInformation + vbOKOnly, "数据不完整"
txtPassword.SetFocus
Exit Sub
End If
If Trim(txtUserName.Text) = G_tblrct("username") And txtPassword.Text = G_tblrct("password") Then
M = True
Unload Me
FrmMain.Show
Exit Sub
End If
G_tblrct.MoveNext
Do While Not G_tblrct.EOF
If Trim(txtUserName) = G_tblrct("username") And txtPassword.Text = G_tblrct("password") Then
Unload Me
FrmMain.Show
Exit Sub
End If
G_tblrct.MoveNext
Loop
If MsgBox("无效的用户名或密码,请重试!", vbRetryCancel, "登录错误") = vbCancel Then
Unload Me
End
End If
txtUserName.SetFocus
Exit Sub
cmdOK_Click_exit:
Set G_tblrct = Nothing
on_error:
MsgBox "错误代码:" & Err.Number & vbCrLf & "错误描述:" & Err.Description, vbCritical + vbOKOnly, "添加数据错误"
Set G_tblrct = Nothing
End Sub
大家帮我看看有什么问题~老是出现我用vb访问数据库获取登陆数据的时候,总是出现 “错误代码:3709
错误描述:连接无法用于执行此操作。在此上下文中它可能已被关闭或无效!”
这是为什么,开始做好的时候没有这样的阿 现在突然就这样了!
谢谢大家,帮帮我!
'打开连接对象
If Connecttoserver = False Then Exit Function Set G_tblrct = New ADODB.Recordset
G_tblrct.Open Strsql, G_dbcon, adOpenDynamic, adLockOptimistic, -1
If Err.Number > 0 Then
Err.Clear
Querydata = False
Else
Querydata = True
End If
End Function