2016-04-08 4 views
1

У меня действительно странная ошибка. У меня есть таблица с двумя столбцами (User и pass, оба с типом текста). Программа сначала запрашивает, в каком столбце я хочу изменить. С помощью переключателя я указываю, какой столбец я хочу изменить.Ошибка предложения Strange Update (VB.NET)

При нажатии любой кнопки радиосвязи появляются два текстовых поля. Вы должны ввести пароль и новые данные, чтобы изменить его.

Проблема в том, что при внесении изменений, если я хочу изменить пользовательский столбец, все хорошо работает ... Но если я хочу изменить элемент столбца «Пароль», отпустите «предложение об ошибке обновления».

Честно говоря, я не вижу никакой ошибки в этом коде:

Protected Friend Sub modificarAcesso(ByVal column As String, ByVal dato As String) 
    Dim cmd As String = "Update Login SET " & column & "[email protected]o" 
    Try 
     con.Open() 
     comando = New OleDbCommand(cmd, con) 
     comando.Parameters.AddWithValue("@dato", dato) 
     comando.ExecuteNonQuery() 
     comando.Dispose() 
     con.Close() 
    Catch ex As Exception 
     con.Close() 
     MsgBox("Problemas en la consulta: " + ex.Message(), MsgBoxStyle.Critical) 
    End Try 
End Sub 
+0

Вы будете обновлять всю таблицу, у вас нет предложения where. Что такое SQL команды, которая терпит неудачу? Какова полная ошибка, которую вы получаете? – JimmyV

+0

Программа только говорила «Ошибка в инструкции UPDATE» ... ответ ниже исправить все! – TwoDent

+0

Но вы по-прежнему будете менять каждую строку до того же значения – Plutonix

ответ

3

Password это ключевое слово, так что вы должны положить его в скобки. Вы должны сделать это в любом случае, если в названии колонки также есть пробел:

Dim cmd As String = "Update Login SET [" & column & "] = @dato" 
+0

Ну! это работает!!! Спасибо, чувак! – TwoDent