У меня, похоже, проблема с запросом обновления, я пытаюсь использовать его для обновления текущих данных пользователя в базе данных MS Access с помощью Delphi XE2. Я задал вопрос ранее и получил помощь по зарезервированному слову, но теперь у меня, похоже, есть еще одна ошибка с этим запросом. Ошибка:Ошибка синтаксиса (отсутствующий оператор) в выражении запроса при выполнении запроса на обновление
Syntax error(missing operator) in query expression '?
Surname=?
Username=?
[Password]=?
Grade=?'
Это ошибка, я получаю Ниже кодирование я сделал:
procedure TUser.UpdateUser(pFirstname, pSurname, pUsername,
pPassword: String; pGrade, pID: Integer);
var
sSQL : String;
begin
opendb('QuizDB.mdb');
DB.Close;
DB.SQL.Add('UPDATE tblUsers SET');
DB.SQL.Add('Firstname=:Firstname');
DB.SQL.Add('Surname=:Surname');
DB.SQL.Add('Username=:Username');
DB.SQL.Add('[Password]=:Password');
DB.SQL.Add('Grade=:Grade');
DB.SQL.Add('WHERE ID=:ID');
Db.Parameters.ParamByName('Firstname').Value := pFirstname;
Db.Parameters.ParamByName('Surname').Value := pSurname;
Db.Parameters.ParamByName('Username').Value := pUsername;
Db.Parameters.ParamByName('Password').Value := pPassword;
Db.Parameters.ParamByName('Grade').Value := pGrade;
DB.Parameters.ParamByName('ID').Value := pID;
DB.ExecSQL;
end;
Где DB представляет собой компонент ADOQuery, ID является первичным ключом в базе данных и уникальны для каждой записи. TUser - это мой класс, который я создал как объект.
Пожалуйста, помогите мне разобраться.
Вы видели это: [http://dev.mysql.com/doc/refman/5.0/en/update.html](http:/ /dev.mysql.com/doc/refman/5.0/en/update.html) и разделитель запятой? – pf1957
MySQL - это не то же самое, что MS Access. Используйте теги, которые соответствуют вашему вопросу, а не просто добавляют что-либо похожее. Это помогает правильно организовать вопросы и делает их присутствие известным людям, которые могут вам помочь –
Извините @KenWhite –