¿Esto no funciona?
Código Delphi
[-]
with dm.qadulto do begin
close;
sql.Clear;
sql.add('update nino set pad=:x1');
SQL.Add('WHERE cve_cte=:cv');
parambyname('x1').asString := memo5.Text;
parambyname('cv').Value:=cni; execsql;
end;
Lo digo porque al asignar el sql, dephi crea los parámetros.
Al usar "parambyname('x1').
asString" delphi asigna el tipo de parámetro (ftMemo, ftInteger, etc).
¿de qué tipo es el campo "pad" ? ¿Memo, char, varchar?
Intuyo que hay una confusión entre el tipo de campo de la base de datos y el control usado para ver y modificar el texto.
Si en la base de datos tienes un campo de tipo Memo, en el sql tendrás que usar un parambyname('x1').AsMemo.
Si en la base de datos tienes un campo de tipo varchar, char(200), etc, entonces debes usar parambyname('x1').AsString
Saludos