2014-02-10 3 views
-3

Я пытаюсь изменить пароль. Можете ли вы найти это и сказать, что случилось? Несколько раз я получаю синтаксическую ошибку в операторе UPDATE или даже он работает, пароль не изменился в базе данных. Вот мой код:Как обновить пароль

Dim sqlquery As String = "UPDATE tblLogin SET pword = ? WHERE pword = '" & txtnewpass.Text & "' " 
Dim sqlcmd As New OleDbCommand(sqlquery, con) 

sqlcmd.Parameters.AddWithValue("@pword", txtnewpass.Text) 

con.Open() 

sqlcmd.ExecuteNonQuery() 

con.Close() 
MessageBox.Show("Your password has been changed", "Change Password", MessageBoxButtons.OK, MessageBoxIcon.Information) 

Спасибо за вашу помощь

ответ

1

Я не знаю, VB и VB SQL Синтаксис назубок, но быстрый взгляд на ваш код показывает, что есть по крайней мере две ошибки.

"UPDATE tblLogin SET pword = ? 

должен быть

"UPDATE tblLogin SET pword = @pword 

WHERE pword = '" & txtnewpass.Text & "' " 

должен быть

WHERE pword = '" & txtoldpass.Text & "' " 

Или сделать его с @param, а также. Вы пытаетесь сменить пароль, который еще не существует.

Кроме того, пароли должны быть зашифрованы в базе данных, и вы не должны сопоставлять (где предложение) только по паролю. Что делать, если у 2 пользователей одинаковый пароль? Вы измените оба пароля пользователя;)

+0

спасибо, сэр спасибо за совет – namikaze2o

+0

Ну, я заметил параметр @pword только позже. Я сделал редактирование. –

Смежные вопросы