【发布时间】:2015-04-12 03:41:47
【问题描述】:
我目前有一个表单,您可以在其中输入username 和password,它会在访问中创建一个记录。从那里,每当它要求username 和password 时,你输入你的,它会检查它是否正确。我让所有这些工作正常,但现在我有一个单独的表格,您可以在其中更改password,但我不知道该怎么做。这是我目前所拥有的:
Dim con As OleDbConnection = New OleDbConnection()
Dim cmd As OleDbCommand
Dim sql = "SELECT UN, PW FROM Users WHERE UN='" & cmbUser.Text & "' AND PW='" & txtOldPass.Text & "'"
cmd = New OleDbCommand(sql, con)
con.ConnectionString = ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=../Database.mdb")
con.Open()
Dim dr As OleDbDataReader = cmd.ExecuteReader
Try
If dr.Read = False Then
MsgBox("Password is incorrect!")
txtOldPass.Text = ""
txtNewPass.Text = ""
txtNewPassConf.Text = ""
ElseIf txtNewPass.Text <> txtNewPassConf.Text Then
MsgBox("Passwords do not match!")
txtOldPass.Text = ""
txtNewPass.Text = ""
txtNewPassConf.Text = ""
Else
'This is where the change password code goes
MsgBox("You password has been changed!")
cmbUser.SelectedIndex = -1
txtOldPass.Text = ""
txtNewPass.Text = ""
txtNewPassConf.Text = ""
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
con.Close()
如您所见,一切似乎都运行良好。只需要代码来更改 PW 单元格的值。我想我可以使用sql 字符串,但我不确定具体如何。提前致谢!
【问题讨论】:
-
这是一种创建 SQL 的糟糕方式,也是一种存储密码的非常糟糕的方式