通过vb修改数据库中用户的密码,程序如下
strsql(0) = "select Password from User_info where User_name='" + TxtUser + "' and Password='" + TxtPwd + "'"
rs.CursorLocation = adUseClient
rs.Open strsql(0), Frmlogin.strconn, adOpenDynamic, adLockOptimistic
temp = rs.Fields(0)
If Trim(Text1.Text) <> Trim(temp) Then
MsgBox "输入旧密码有误,请重新输入!", vbOKOnly + vbExclamation, "警告"
rs.Close
Text1.SetFocus
End If
If Trim(Text2.Text) <> Trim(Text3.Text) Then
MsgBox "两次输入的密码不一致,请重新输入!", vbOKOnly + vbExclamation, "警告"
Exit Sub
Text3.SetFocus
Else
rs.Close
Set rs = Nothing
'rs.Open strsql(1), Frmlogin.strconn, adOpenDynamic, adLockOptimistic
strconn.Execute "insert into user_info values('" + Text2.Text + "')"
rs.Close
Set rs = Nothing
strconn.Close
Set strconn = Nothing
rs.Fields(2) = Text2.Text
rs.Update
rs.Close
MsgBox "修改密码成功!", vbOKOnly + vbExclamation, "恭喜你"
Me.Hide
strsql(0) = "select Password from User_info where User_name='" + TxtUser + "' and Password='" + TxtPwd + "'"
rs.CursorLocation = adUseClient
rs.Open strsql(0), Frmlogin.strconn, adOpenDynamic, adLockOptimistic
temp = rs.Fields(0)
If Trim(Text1.Text) <> Trim(temp) Then
MsgBox "输入旧密码有误,请重新输入!", vbOKOnly + vbExclamation, "警告"
rs.Close
Text1.SetFocus
End If
If Trim(Text2.Text) <> Trim(Text3.Text) Then
MsgBox "两次输入的密码不一致,请重新输入!", vbOKOnly + vbExclamation, "警告"
Exit Sub
Text3.SetFocus
Else
rs.Close
Set rs = Nothing
'rs.Open strsql(1), Frmlogin.strconn, adOpenDynamic, adLockOptimistic
strconn.Execute "insert into user_info values('" + Text2.Text + "')"
rs.Close
Set rs = Nothing
strconn.Close
Set strconn = Nothing
rs.Fields(2) = Text2.Text
rs.Update
rs.Close
MsgBox "修改密码成功!", vbOKOnly + vbExclamation, "恭喜你"
Me.Hide
解决方案 »
- 捕获异常
- vb写老板键的时候提示:找不到DLL入口点 PeekMessageA in user32
- 求VB于COM组件方面的相关书籍
- 谁知道那里有Crystal Reports 9.0免费下载?
- 我想问一下大伙 ,输入/修改/编辑/删除数据多用什么控件 ?
- 请问什么叫做宏?请大家不要笑
- 谁有企业管理的原码
- 如何在VB的API调用中传递这样的结构?
- 500分求解,言出必行
- vb中的 Chr$(9)显示在label.caption 或 text1.Text 上时不是一个Tab键的空格,而是一个方框,怎么办,
- 同样的代码在combobox控件中执行的结果为什么和按钮控件执行的效果不一样?
- RegSetValueEx这个函数,怎么建一个二进制的键值啊?
strconn.Execute "insert into user_info values('" + Text2.Text + "')"
rs.Close
Set rs = Nothing
strconn.Close
或者你可以设置连接对象成全局变量
MsgBox "输入旧密码有误,请重新输入!", vbOKOnly + vbExclamation, "警告"
rs.Close
Text1.SetFocus
End If
......
既然是修改密码,那么应该用“UPDATE 表 SET 新值 WHERE 准则”语句。不能用insert into追加语句,除非你删除了原有数据