16,717
社区成员
发帖
与我相关
我的任务
分享Imports System.Data.SqlClient
Public Class frm_cld_changepwd
Dim usrno As String '定义当前用户工号
Dim oldpwd As String '定义旧密码
Dim newpwd As String '定义新密码
Dim newpwdagain As String '定义重输入的新密码
Private Sub frm_cld_changepwd_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'以下两行取得用户工号
usrno = frm_prt_main.ToolStripStatusLabel4.Text.Substring(0, 4)
'以上两行取得用户工号
End Sub
''' <summary>
''' 字符串去空格函数
''' </summary>
''' <param name="SearchString"> </param>
''' <returns> </returns>
''' <remarks> </remarks>
Public Function DelBlank(ByVal SearchString As String)
DelBlank = Replace(SearchString, Chr(32), "")
End Function
Private Sub btn_cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_cancel.Click
Me.Close()
End Sub
''' <summary>
''' 取三个输入,并验证
''' </summary>
''' <param name="sender"> </param>
''' <param name="e"> </param>
''' <remarks> </remarks>
Private Sub btn_ok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_ok.Click
'第零步,取三个输入
'--------------------------------------
'这里还要验证三个字符串中不含有无效字符
'--------------------------------------
oldpwd = mtb_oldpwd.Text
newpwd = mtb_newpwd.Text
newpwdagain = mtb_newpwdagain.Text
'第一步,验证新密码的两次输入是否相同
If newpwd = newpwdagain Then
'第二步,验证旧密码是否与数据库中的对应密码相同
Try
'以下打开用户表
'声明读数据库语句
Dim str_select As String = "SELECT o_pwd FROM operator where o_no= @o_no"
Dim cmd As New SqlCommand(str_select, frm_prt_main.conn)
cmd.Parameters.AddWithValue("@o_no", usrno)
Dim o As Object
'假如frm_prt_main.conn没打开
frm_prt_main.conn.Open()
o = cmd.ExecuteScalar()
Dim str_pwd As String
If Not (o Is Nothing) Then
str_pwd = o.ToString()
End If
frm_prt_main.conn.Close()
'以上打开用户表并取得密码
'验证
If str_pwd = oldpwd Then
'第三点,如果以上两步验证通过,将新密码更新到数据库中
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'声明一个更新语句
Dim str_update As String = "update operator set o_pwd= @o_pwd where o_no = @o_no"
'声明一个更新语句命令
Dim updateCmd As New SqlCommand(str_update, frm_prt_main.conn)
updateCmd.Parameters.AddWithValue("@o_pwd", newpwd)
updateCmd.Parameters.AddWithValue("@o_no", usrno)
frm_prt_main.conn.Open()
updateCmd.ExecuteNonQuery()
frm_prt_main.conn.Close()
MsgBox("更改密码成功", MsgBoxStyle.OkOnly, "信息提示")
Me.Close()
Else
MsgBox("原密码错误")
Me.mtb_newpwd.Text = ""
Me.mtb_newpwdagain.Text = ""
Me.mtb_oldpwd.Text = ""
End If
Catch ex As SqlException
' Display error
Console.WriteLine("Error: " & ex.ToString())
Finally
' Close Connection
'thisConnection.Close()
'Console.WriteLine("Connection Closed")
End Try
Else
MsgBox("新密码与重输入不相同")
Me.mtb_newpwd.Text = ""
Me.mtb_newpwdagain.Text = ""
Me.mtb_oldpwd.Text = ""
End If
End Sub
End Class