Ändern Sie das Kennwort in access-Datenbank über die visual basic-Formular
Momentan habe ich ein Formular, in das Sie eingeben können, eine username
und password
und es wird ein Datensatz erstellt, der es in access. Von dort aus, wenn es fragt nach einem username
und password
geben Sie Ihre und es prüft, um zu sehen, ob es richtig ist. Ich habe dies alles ordnungsgemäß funktioniert, aber jetzt habe ich ein separates Formular, wo Sie ändern können, Sie password
aber ich weiß nicht, wie ich das machen würde. Hier ist was ich habe, so weit:
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()
Wie Sie sehen können, scheint alles zu funktionieren nur fine. Müssen nur code zu ändern, der Wert des PW-Zelle. Ich glaube, ich könnte die sql
string, aber ich bin nicht sicher, wie genau. Vielen Dank im Voraus!
- das ist eine schlechte Möglichkeit zum erstellen von SQL und eine wirklich schlechte Art und Weise, Kennwörter zu speichern
Du musst angemeldet sein, um einen Kommentar abzugeben.
Konnte Sie diesen code verwenden.
Beachten Sie, dass die übergebenen Werte in die Datenbank übertragen werden soll durch Parameter (Und dies gilt auch für die erste SELECT) nicht die Verkettung von strings zusammen, um den Befehl text. (Sql-Injektion, Analyse Probleme, Klarer Befehl text)
Gesagt, dass denken Sie daran, dass die Speicherung von Passwörtern im Klartext ist Sie ein großes Loch in Ihre Sicherheit. Jeder, der greifen kann, der Access-Datei Lesen können, die Passwörter Ihrer Benutzer. Der beste Ansatz zum speichern von Passwörtern in eine Datenbank durch one-way-Kryptographie-Methode. (Hash und Salt)
Konnten Sie finden mehr info in dieser Frage