delphi中adoquery控件add.sql()的sql语句有关问题

delphi中adoquery控件add.sql()的sql语句问题
sql.Add( 'update   tb_patent   set ' ' '+trim(flag_field)+ ' ' '= ' ' '+trim(line)+   ' ' 'where   id= ' ' '+trim(edit_patent_itemid.Text)+ ' ' ' '   );
我觉得是单引号问题,但又看不出什么错误,请大家指点,更新的字段名是变量,运行时提示trim(flag_field)附近有语法错误

------解决方案--------------------
active:=false;
prepared:=false;
prepared:=true;
active:=true;
execsql;
first;
只要留execsql;