Member 13458722 Ответов: 1

Таблица обновления VB.NET проблема


Я хочу обновить имя пользователя в своей базе данных. Мой первичный ключ-имя пользователя, а остальные столбцы-пароль и имя. Теперь я знаю, как обновить, но как я могу обновить что-то само по себе при использовании той же строки. Вот код того, что я имею в виду
Я уже сделал соединения выше
 Try
                MySQLCon.Open()



                Dim Sqlcom As New MySqlCom("UPDATE Detail SET Username = @Username WHERE Username = @Username", MySQLCon)

                MySqlCom.Parameters.AddWithValue("@Username", TxtNewUsername.Text)

                MySqlCom.Parameters.AddWithValue("@Username", TxtCurrentUsername.Text)


                If MySqlCom.ExecuteNonQuery = 1 Then
                    MessageBox.Show("Your account has succesfully been updated")
                    FrmStartPage.Show()
                    Me.Hide()
                Else
                    MessageBox.Show("Your account has not been updated")
                End If


          Catch 
Finally 
End Try ETC
        MySQLConn.Close()


Что я уже пробовал:

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

CHill60

"Не сработает" - это не полезная информация. Что он делает или не делает?

CHill60

Все, что вы сделали, это вложили в вопрос какую-то тарабарщину. Это нехорошее поведение

Richard Deeming

-... остальные столбцы-пароль и имя ..."

Я надеюсь, что вы не храните пароли в обычном тексте!

Безопасная Аутентификация Паролем Объясняется Просто[^]
Соленое хэширование паролей - делаем это правильно[^]

1 Ответов

Рейтинг:
7

Richard MacCutchan

Dim Sqlcom As New MySqlCom("UPDATE Detail SET Username = @Username WHERE Username = @Username", MySQLCon)
MySqlCom.Parameters.AddWithValue("@Username", TxtNewUsername.Text)
MySqlCom.Parameters.AddWithValue("@Username", TxtCurrentUsername.Text)

Вы не можете использовать одно и то же имя переменной, чтобы содержать два разных значения. Измените один из них на @CurrentUsername .


0x01AA

+5.

Richard MacCutchan

Даже полный нуб должен был заметить это.