请教下面的几句数据库更新语句错在哪里

请问下面的几句数据库更新语句错在哪里?
是用于登陆密码修改的,老是出错,请大家看看。

begin
  with ADOquery1 do
begin
  Close;
  SQL.Clear;
  sql.add('Update dl set user='''+Edit1.text+''',password='''+Edit2.Text+''''); //修改多个数据
  sql.add('where id=1');
  ExecSQL;
end;


------解决方案--------------------
begin 
with ADOquery1 do 
begin 
Close; 
SQL.Clear; 
sql.add( 'Update dl set user= ' ' '+Edit1.text+ ' ' ',password= ' ' '+Edit2.Text+ ' ' ' '); //修改多个数据 
sql.add( ' where id=1 '); 
ExecSQL; 
end; 

------解决方案--------------------
begin 
with ADOquery1 do 
begin 
Close; 
SQL.Clear; 
sql.add( 'Update dl set [user]= ' ' '+Edit1.text+ ' ' ',password= ' ' '+Edit2.Text+ ' ' ' '); //修改多个数据 
sql.add( 'where id=1 '); 
ExecSQL; 
end; 


语句本身没有语法错误,只不过USER是保留的关键字,加上[]就好了!