如何修改密码
我做了一个修改密码的窗体,希望通过combo1列表选择用户名,再输入新密码实现对密码的修改。
请问combo1应如何设置?
用户信息表名:user_Info
用户名:user_ID
密码:user_pwd
我写的程序如下:(就是不会写combo1部分的程序,请各位帮我看看)
Private Sub cmdOK_Click()
Dim txtSQL, MsgText As String
Dim mrc As ADODB.Recordset
txtSQL = "select * from user_Info where user_ID = combo1的内容
Set mrc = ExecuteSQL(txtSQL, MsgText)
mrc.Fields(1) = Text1(1).Text 密码框内容
mrc.Update
mrc.Close
MsgBox "密码修改成功!", vbOKOnly + vbExclamation, "修改密码"
Me.Hide
End If
End Sub
问题点数:20、回复次数:17Top
1 楼yangao(人品决定一切,相貌决定人品!)回复于 2005-05-25 16:14:40 得分 8
Private Sub Form_Load()
Dim txtSQL As String
Dim mrc As ADODB.Recordset
txtSQL = "select * from user_Info"
Set mrc = ExecuteSQL(txtSQL, "")
While Not mrc.EOF
Combo1.AddItem mrc.fields("user_ID")
mrc.MoveNext
Wend
End SubTop
2 楼zdcwin(赵大成)回复于 2005-05-25 16:55:35 得分 0
楼上的为正解,呵呵
Top
3 楼cxbkkk(本命年,旺啊!)回复于 2005-05-26 00:38:33 得分 0
哦,我知道了,你那个部分就这样写就是了
txtSQL = "select * from user_Info where user_ID ='" & Trim(combol) & "'"Top
4 楼bangbangwo(求教)回复于 2005-05-26 20:08:37 得分 0
我按各位给的信息修改了程序,但运行时显示“bof 或eof中有一个是“真”,或者当前记录以被删除,所需的操作要求一个当前的记录”。单击“调试”黄色内容为:mrc.Fields(1) = Text1(1).Text '密码框内容.
我所选择的用户名是存在于数据库表中的,请问出现以上问题,是哪写错了?怎么改?
Top
5 楼therockdelt(Dm和弦)回复于 2005-05-27 07:02:44 得分 0
你的数据库还是空的吧???/Top
6 楼bangbangwo(求教)回复于 2005-05-27 10:57:51 得分 0
我打开数据库user-info表看到了要修改密码的表项,数据库表不是空的。我错在哪,该怎么改?Top
7 楼jiataizi(佳太子)回复于 2005-05-28 00:02:11 得分 5
楼主,要修改密码的一个正规的流程是,先输入旧密码,然后输入新密码和确认新密码,验证的时候要先验证下旧密码是不是这个用户的密码,如果是,再修改;如果不是,就不修改。
不然只要你进入系统,没有退出系统,谁人都可以修改你的密码啊,呵呵
程序上面楼上的写的差不多咯,主要是修改密码流程给楼主提醒一下。Top
8 楼Free_Windy(自由风)回复于 2005-05-28 08:57:29 得分 0
对,,,应该这样的.需要输入旧密码才能修改Top
9 楼bangbangwo(求教)回复于 2005-05-28 22:11:07 得分 0
运行时显示“bof 或eof中有一个是“真”,或者当前记录以被删除,所需的操作要求一个当前的记录”。单击“调试”黄色内容为:mrc.Fields(1) = Text1(1).Text '密码框内容.
我打开数据库user-info表看到了要修改密码的表项,数据库表不是空的。我错在哪,该怎么改?Top
10 楼bangbangwo(求教)回复于 2005-05-29 17:22:03 得分 0
问题解决了,立刻给分,请帮我解决一下Top
11 楼bangbangwo(求教)回复于 2005-06-02 20:32:36 得分 0
没人能解决吗?
Top
12 楼cxbkkk(本命年,旺啊!)回复于 2005-06-02 20:44:32 得分 3
你应该在打开这个修改密码的窗体的时候通过additem来把数据库中的所有用户名添加到combo1的list中,然后当你改了密码后就执行"update set 你表中密码字段的名字='" & 输入新密码的那里 & "' where 用户名='" & combo1 & "'"
条件是你数据里面有数据哈!
打完收工Top
13 楼bangbangwo(求教)回复于 2005-06-04 21:09:27 得分 0
用此方法做了,但还没有修改成。
If Trim(Text1(1).Text) <> Trim(Text1(2).Text) Then
MsgBox "两次输入的密码不一致,请重新输入!", vbOKOnly + vbExclamation, "警告"
Text1(1).SetFocus
Text1(1).Text = ""
Text1(2).Text = ""
Else
txtSQL = "update user_Info set user_PWD ='" & Trim(Text1(1).Text) & "' where user_ID = '" & Trim(Combo1) & "'" /修改密码 text(1)为输入密码的文本框
Set mrc = ExecuteSQL(txtSQL, MsgText)
MsgBox "密码修改成功!", vbOKOnly + vbExclamation, "修改密码"
Unload Me
End If
End Sub
程序运行,输入密码后,显示“修改成功”,但在数据库表中密码并没有修改,所在哪了,请帮我改改。
问题解决立刻给分。
Top
14 楼plovej(把自己变为挣钱的机器)回复于 2005-06-04 21:48:11 得分 4
Private Sub cmdok_Click()
Dim strInsertSQL As String
On Error Resume Next
RecordsetUser.MoveFirst
While RecordsetUser.EOF = False
If RecordsetUser.Fields("密码").Value = txtoldpwd.Text And RecordsetUser.Fields("帐号").Value = txtname.Text Then
If txtnewpwd1.Text = txtnewpwd2.Text Then
strInsertSQL = "update [user] set 密码=" & "'" & txtnewpwd1 & "'" & "where 帐号=" & "'" & user & "'"
If ExecuteSQL(strInsertSQL) = True Then
MsgBox "密码更改成功!", vbInformation + vbOKOnly, "保存成功"
Unload frmsystem
Exit Sub
End If
Else
MsgBox "你两次输入的新密码不一样,请确认后再输入!", vbExclamation + vbOKOnly, "提示"
Exit Sub
End If
' MsgBox "密码错误!请确认后再输入!", vbExclamation + vbOKOnly, "提示"
End If
RecordsetUser.MoveNext
Wend
MsgBox "密码不正确!", vbExclamation + vbOKOnly, "提示
看看上面的能不能看懂!Top
15 楼bangbangwo(求教)回复于 2005-06-05 22:11:54 得分 0
能不能将你的窗体内容具体的写一下,以便我能容易理解。Top
16 楼xuanshine()回复于 2005-06-08 14:18:20 得分 0
为什么我修改成功了密码之后,还出现这样的提示:
Operation is not allowed when the object is open.Top
17 楼cxbkkk(本命年,旺啊!)回复于 2005-06-08 18:16:56 得分 0
我在你新帖子回复了的,给分啊,大哥Top




