2015-01-27 2 views
0

Я знаю, что было много вопросов по этой теме, однако я не могу найти решения для своей проблемы. Созданный мной код позволяет пользователю создать учетную запись (которая работает отлично), и сейчас я пытаюсь разрешить пользователю изменять свое имя пользователя и/или пароль с помощью текстовых полей. Код считывает данные из базы данных и помещает их в текстовые поля, которые необходимо изменить и обновить. На данный момент мне удалось получить правильную строку и найти правильные поля, но вместо того, чтобы заменить текущее значение значением в текстовом поле (которое я хочу), -1 или 0 помещается в базу данных в имени пользователя столбец, и когда я пытаюсь изменить пароль, он не изменяется. Код ниже:Обновление строки в базе данных Access с использованием OleDb, SQL и VB.NET

connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\RevisionAid2\RevisionAid2\UserDatabase.accdb" 
    Dim conn As OleDbConnection = New OleDbConnection(connstring) 

    Dim updateSql As String = String.Format("UPDATE Users SET [email protected] and [Password][email protected] WHERE [email protected]") 

    Dim cmd As New OleDbCommand(updateSql, conn) 
    cmd.Parameters.AddWithValue("@USER", ChangeUsernameTextBox.Text.Trim) 
    cmd.Parameters.AddWithValue("@PASS", ChangePasswordTextBox.Text.Trim) 
    cmd.Parameters.AddWithValue("@ID", StudentID.Text) 
    'conn.Close() 
    conn.Open() 
    cmd.ExecuteNonQuery() 
    conn.Close() 

Я проверил заявление SQL в Access и правильное значение возвращается, и обновление происходит, так что я не знаю, что может быть причиной этого.

Спасибо!

ответ

0

Выполняется ли ваш updateSql?

запрос должен выглядеть следующим образом:

UPDATE Users SET [email protected], [Password][email protected] WHERE [email protected] 

И почему подрезке имя пользователя и пароль?

+0

Да, это так. Я поместил его в оператор if, чтобы, если пользователь нажимает «Да» в окне сообщений, запрос выполняется. Мой запрос в точности такой, но я где-то читал, что пароль был зарезервированным словом, и что мне нужно будет поместить его в [], поэтому я это сделал, не уверен, что это правильно. И я не слишком уверен, я относительно новичок в программировании и думал, что это поможет – user1525335

+0

Хорошо, да, это правда, но вы должны поменять «и» на «,». –

+0

Такое небольшое изменение устранило проблему. Спасибо, я не могу поверить, что это так сильно задержало меня. – user1525335

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