У вас есть несколько ошибок. Вы звоните Open
перед тем, как назначить этот SQL (и без необходимости).
Вы пытаетесь установить значение параметра, для которого вы не создали параметр для принятия. (Кстати, я бы сделал ID также параметром, чтобы вы могли использовать его для обновления имени более чем одного человека.)
Вы не отвечаете за то, чтобы все было исправлено в случае ошибки (что, учитывая код, который вы разместили там, обязательно будет).
Вы используете Post
, что не обязательно для базы данных SQL.
Попробуйте что-то вроде этого:
function TDBClass.addNome(nome: String): String;
var
rsnome: TADOQuery;
begin
rsnome := TADOQuery.Create(nil);
try
rsnome.Connection := connection;
rsnome.SQL.Clear;
rsnome.SQL.Text:='UPDATE enroll SET nome = :nome where id ="1"';
rsnome.Parameters.ParamByName('nome').Value:= nome;
rsnome.ExecSQL;
rsnome.Close();
finally
rsnome.Free();
end;
end;