一个不错的错误——代码未及时的保存
话说刚把修改密码窗体的功能实现,一个有趣的事情发生了,就是自己的代码忘记保存了,结果第二次打开的时候我立马就蒙B了当时,心里面一万只XXX疯狂的奔过,但是转念一想吧这也是好事,一个是让自己印象更加的深刻,下次一定要做好保存,还有一个就是自己又可以再一次的熟悉这个修改密码的窗体了。哈哈 不错吧!
这个代码呢其实是补上一篇博客的课的,因为在上一次的时候自己在写博客的时候吧, 因为没有将代码保存说以导致前一篇博客有点小遗憾,这不赶紧把这个敲出来,把这个小遗憾给补上,当让这里还发现了一些新的理解,感谢自己忘了保存代码,让自己有更加了解了一些知识,当然下次还是尽量 避免这种情况的发生了。下面就是自己了解到的一些东西,理解不当之处还望各位大神能不吝赐教、指正。
'首先判断文本框输入是否为空
oldPWD = ""
If txtOldPWD.Text = "" Then
MsgBox "请输入旧密码!", vbOKOnly + vbExclamation, "提示"
txtOldPWD.SetFocus
Exit Sub 'Exit sub是在过程内代码执行时可以选择性的退出执行过程就是说不执行Exit sub之后的代码,相当于中途退出的意思,如果没有这个的话后面的代码会一直执行下去直到整个过程结束。
End If
If txtNewPWD.Text = "" Then
MsgBox "请输入新密码", vbOKOnly + vbExclamation, "提示"
txtNewPWD.SetFocus
Exit Sub
End If
If txtCheckPWD.Text = "" Then
MsgBox "请输入确认密码", vbOKOnly + vbExclamation, "提示"
txtCheckPWD.SetFocus
Exit Sub
End If
'当密码不为空的时候,判断输入的密码是否正确,首先应当将数据库的数据调用出来放在一个临时表(这里我们就要定义函数了)中将输入的信息和数据库的进行比较
txtSQL = "select * from user_info where userID=' " & UserName & "'" '我们要修改密码肯定是对某一用户进行密码修改,如果只是密码修改的话,那么修改的是什么密码呢?搞清楚这个就行了
Set mrc = ExecuteSQL(txtSQL, msgText) '将调用的数据放置到mrc中,这里ExecuteSQL是一个自定义函数而txtSQL和msgText是他的两个参数并且这两个参数的数据类型已经定义了
'当旧密码文本框不为空的时候,检查输入的密码是是否正确
If Trim(txtOldPWD.Text) = Trim(mrc.Fields(1)) Then
mrc.Close
Me.Hide
Else
MsgBox "输入密码不正确,请重新输入!", vbOKOnly + vbExclamation, "提示"
txtOldPWD.SetFocus
txtOldPWD.Text = ""
Exit Sub
End If
'当旧密码输入正确的时候,下面应当判断新密码与确认新密码是否一致
If Trim(txtNewPWD.Text) <> Trim(txtCheckPWD.Text) Then
MsgBox "两次密码输入不一致,请重新检查!", vbOKOnly + vbExclamation, "提示"
frmmodify_passwordMenu.Show
'txtNewPWD.SetFocus 如果使用下面三行注释部分的代码,当出现提示语句并且单击确定之后整个窗体会隐藏,并且刚刚输入的密码也会清空就没有起到很好的用户体验
'txtNewPWD.Text = ""
'txtCheckPWD.Text = ""
Exit Sub
Else
txtSQL = "select * from user_info where userID=' " & UserName & " '" '当我们的新密码确认无误的时候当然是将确定修改的密码存放到数据库中啦
Set mrc = ExecuteSQL(txtSQL, msgText) 'ExecuteSQL(txtSQL, MsgText)返回了一个txtSQL查询后的记录集存放在变量mrc中.
mrc.Fields(1) = txtNewPWD.Text '添加和修改字符串数组的值,mrc是一个自定义的字符串数组,Fields修改指定数组下标的字段。
mrc.Update
mrc.Close
MsgBox "密码修改成功", vbOKOnly + vbExclamation, "提示"
Me.Hide
End If
End Sub
大致的说一说这个窗体的思路吧——在此之前应该先判断是否有输入,如果没有的话则提醒,否则调用数据库的数据进行判断看输入的密码和数据库中的是否一致。之后进行密码的修改,当然当输入都无吴的时候就要将修改的内容再次存入到数据库中。
总之机房是一个让自己提升的巨大机会,要好好的把握这个。