Dim StrSQL As String
StrSQL = "select 用户名称,用户密码 from yhxx where 用户名称= '" & Trim(dcusename.Text) & "'"
If RsModPwd.State = adStateClosed Then
RsModPwd.Open StrSQL, DBCON, adOpenKeyset, adLockPessimistic, adCmdText '//打开记录集
End If
If Trim(dcusename.Text) <> Empty And Trim(txnewpwd1.Text) <> Empty And Trim(txnewpwd2.Text) <> Empty Then
If Trim(txnewpwd1.Text) = Trim(txnewpwd2.Text) Then
If RsModPwd.RecordCount <> 0 Then '//判断记录集中的记录是否等于零
RsModPwd.Fields(1).Value = Trim(txnewpwd1.Text)
RsModPwd.Update '//更新记录集
MsgBox "密码修改成功", , "密码修改"
RsModPwd.Close
Unload Me
Else
MsgBox "不存在用户名", vbExclamation, "验证失败"
RsModPwd.Close
End If
Else
MsgBox "两次密码输入不一致 ", vbInformation, "错误提示"
End If
Else
MsgBox "用户名及密码框有空选项 ", vbInformation, "错误提示"
End If
StrSQL = "select 用户名称,用户密码 from yhxx where 用户名称= '" & Trim(dcusename.Text) & "'"
If RsModPwd.State = adStateClosed Then
RsModPwd.Open StrSQL, DBCON, adOpenKeyset, adLockPessimistic, adCmdText '//打开记录集
End If
If Trim(dcusename.Text) <> Empty And Trim(txnewpwd1.Text) <> Empty And Trim(txnewpwd2.Text) <> Empty Then
If Trim(txnewpwd1.Text) = Trim(txnewpwd2.Text) Then
If RsModPwd.RecordCount <> 0 Then '//判断记录集中的记录是否等于零
RsModPwd.Fields(1).Value = Trim(txnewpwd1.Text)
RsModPwd.Update '//更新记录集
MsgBox "密码修改成功", , "密码修改"
RsModPwd.Close
Unload Me
Else
MsgBox "不存在用户名", vbExclamation, "验证失败"
RsModPwd.Close
End If
Else
MsgBox "两次密码输入不一致 ", vbInformation, "错误提示"
End If
Else
MsgBox "用户名及密码框有空选项 ", vbInformation, "错误提示"
End If
If RsModPwd.RecordCount <> 0 Then '//判断记录集中的记录是否等于零在这里好像少了用户名的查找定位,你下面的语句只是将第一条记录的密码这字段修改 RsModPwd.Fields(1).Value = Trim(txnewpwd1.Text)
RsModPwd.Update '//更新记录集
Dim i as integerStrSQL = "update yhxx set 用户密码='"& Trim(txnewpwd1.Text) &"' where 用户名称= '" & Trim(dcusename.Text) & "'"DBCON.execute strsql,i
if i>0 then msgbox "密码修改成功", , "密码修改"其中i返回execute方法所影响的行数
真是太感谢了