Hola:
Pues es que en la primer consulta pones el valor de cantidad como cadena es decir no lo va a reconocer como variable.
Otra solucion es que por qué no pones la consulta con parámetros?, por ejemplo en diseño pones en la propiedad SQL del query algo asi:
update materiales set cantidad=:tfCantidad
where ....
bueno lo siguiente sería que le digas al query el tipo de parámetro en la propiedad Params haciendo doble clic te listará los parámetros de la consulta. Seleccionas el correspondiente y en la propiedad
DataType seleccionas ftFloat y en la propiedad
ParamType seleccionas ptInput
ahora en el código haces algo asi:
with query do
begin
close;
ParamByName('tfCantidad').AsFloat := Cantidad + StrToFloat(edit1.text);
execsql;
end;
y con eso debe de funcionar
Espero que te sirva de algo
Saludos a to2