我的修改密码成功了 却没进入数据库 为什么 代码如下
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
[解决办法]
If Trim(txnewpwd1.Text) = Trim(txnewpwd2.Text) Then
If RsModPwd.RecordCount <> 0 Then '//判断记录集中的记录是否等于零
在这里好像少了用户名的查找定位,你下面的语句只是将第一条记录的密码这字段修改
RsModPwd.Fields(1).Value = Trim(txnewpwd1.Text)
RsModPwd.Update '//更新记录集
[解决办法]
直接用UPDATE语句不好吗?比如:
Dim StrSQL As String
Dim i as integer
StrSQL = "update yhxx set 用户密码= ' "& Trim(txnewpwd1.Text) & " ' where 用户名称= ' " & Trim(dcusename.Text) & " ' "
DBCON.execute strsql,i
if i> 0 then msgbox "密码修改成功 ", , "密码修改 "
其中i返回execute方法所影响的行数
