请教:数据库操作时出现的错误!

heatwin 2003-05-07 10:38:41
做登录时,采用数据库,当输入密码出错重输时,报错:对象已经打开,无法操作!
Option Explicit
Public LoginSucceeded As Boolean
Dim Cn As New ADODB.Connection
Dim Rs As New ADODB.Recordset
Public username As String
Public userpwd As String

Private Sub ButtonCancel_Click()
'设置全局变量为 false
'不提示失败的登录
LoginSucceeded = False
Unload Me
End Sub

Public Sub ButtonOK_Click()
'检查正确的密码
Dim s As String
username = textName.Text
userpwd = textPassword.Text
s = "select * from admini where user_name = '" & username & "' and user_pwd = '" & userpwd & "'"
Rs.Open s, Cn
If Rs.BOF And Rs.EOF Then
MsgBox "无效的密码,请重试!", , "登录"
textPassword.SetFocus
textPassword.SelStart = 0
SendKeys "{Home}+{End}"

Else
'将代码放在这里传递
'成功到 calling 函数
'设置全局变量时最容易的
LoginSucceeded = True
Me.Hide
End If
End Sub

Private Sub Form_Load()
Dim X As String
X = "Provider=Microsoft.Jet.OLEDB.4.0;"
X = X & "Data Source=D:\data.mdb"
Cn.Open X
End Sub

Private Sub Form_Unload(Cancel As Integer)
Set Cn = Nothing
Set Rs = Nothing
End Sub

Private Sub textPassword_KeyPress(KeyAscii As Integer)
If KeyAscii = Asc(vbCr) Then
ButtonOK_Click
End If
End Sub
...全文
26 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
heatwin 2003-05-07
  • 打赏
  • 举报
回复
非常感谢!搞定了!
xayzmb 2003-05-07
  • 打赏
  • 举报
回复
这样改一下
'加入下面一段代码-----------
if Rs.state<>0 then
Rs.close
end if
'----------------------------

Rs.Open s, Cn
If Rs.BOF And Rs.EOF Then
MsgBox "无效的密码,请重试!", , "登录"
textPassword.SetFocus
textPassword.SelStart = 0
SendKeys "{Home}+{End}"

Else
'将代码放在这里传递
'成功到 calling 函数
'设置全局变量时最容易的
LoginSucceeded = True
Me.Hide
End If
.......................
.....................

7,765

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧