修改密码出现错误,如何解决?

itfuture01 2003-05-10 07:09:35
做了个mis系统,我想实现如下目的:用户登陆以后,可以修改密码,修改密码时要先输入旧密码,才能设定新密码。具体代码如下:
Private Sub cmdOK_Click()
Dim txtSql As String
Dim mrc As ADODB.Recordset
Dim MsgString As String



If Trim(txtoldpwd.Text) = "" Then
MsgBox "请输入旧密码", vbOKCancel + vbExclamation, "警告"
txtoldpwd.SetFocus
txtoldpwd.Text = ""
Else

txtSql = "select * from user_info where user_id='" & username & "'"
Set mrc = ExcuteSQL(txtSql, MsgString)


If mrc.Fields(1) <> txtoldpwd.Text Then
MsgBox "密码错误,重新输入", vbOKCancel + vbExclamation, "警告"
txtoldpwd.SetFocus
txtoldpwd.Text = ""
Else
mrc.Fields(1) = txtnewpwd.Text
mrc.Update
mrc.Close
MsgBox "密码修改成功!", vbOKCancel + vbExclamation, "密码修改"
Unload Me
End If
End If
End Sub

运行时出现以下错误:
BOF或EOF中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前记录。
我认为是username=""的问题,应该获取当前用户名?但是如何获取呢?
如果不是这个问题,是哪里的错误?请指教!
...全文
79 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
MSSQL 2003-05-10
  • 打赏
  • 举报
回复
Private Sub cmdOK_Click()
Dim txtSql As String
Dim mrc As ADODB.Recordset
Dim MsgString As String



If Trim(txtoldpwd.Text) = "" Then
MsgBox "请输入旧密码", vbOKCancel + vbExclamation, "警告"
txtoldpwd.SetFocus
txtoldpwd.Text = ""
Else

txtSql = "select * from user_info where user_id='" & username & "'"
Set mrc = ExcuteSQL(txtSql, MsgString)

if mrc.eof then
mrc.close
exit sub
end if

If mrc.Fields(1) <> txtoldpwd.Text Then
MsgBox "密码错误,重新输入", vbOKCancel + vbExclamation, "警告"
txtoldpwd.SetFocus
txtoldpwd.Text = ""
Else
mrc.Fields(1) = txtnewpwd.Text
mrc.Update
mrc.Close
MsgBox "密码修改成功!", vbOKCancel + vbExclamation, "密码修改"
Unload Me
End If
End If
End Sub

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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