Прежде всего, я знаю, что пароль является зарезервированным типом базы данных доступа. Но я прочитал сообщение, которое вы можете поместить [пароль], и оно будет работать. Но это не работает. Я пробовал много способов и все же, надеюсь, что кто-то поможет.Ошибка синтаксиса базы данных базы данных в обновлении в операторе
OleDbCommand cmd = new OleDbCommand();
try
{
String query = "update [Employe] set [UserName] ='" + txtNewUser.Text +"', [Password] ='"+ txtNewPass.Text + "', [Authorization] ='" + nudAuthorizationLvl.Value + "', where [Id] = '" + int.Parse(txtExistingId.Text);
cmd.CommandText = query;
cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
System.Windows.Forms.MessageBox.Show("Info Updated!!!");
conn.Close();
}
catch (Exception ex)
{
MessageBox.Show("Error" + ex);
}
finally
{
conn.Close();
}
Используйте [Параметры] (http://www.dotnetperls.com/sqlparameter), или вы можете стать жертвой атаки SQL Injection. Что не работает точно? Любое сообщение об исключении или ошибке? – yazanpro
Как упоминалось выше, вы должны действительно изменить это, чтобы использовать параметры. Кроме того, я считаю, что у вас есть дополнительная запятая прямо перед предложением «где», которое может вызвать синтаксическую ошибку. –