procedure TForm4.Button1Click(Sender: TObject);
var h:string;
begin
h:='update khzl set xinm='+trim(edit1.text)+',xingb='+trim(edit2.text)+',nianl='+trim(edit3.text);
h:=h+',dianh='+trim(edit4.text)+',grzl='+trim(memo1.text)+' where xinm='+trim(edit1.text);
form2.Query1.Close;
form2.Query1.SQL.Clear;
form2.Query1.SQL.Add(h);
form2.Query1.ExecSQL;
showmessage('Ð޸ijɹ¦!');
end;

解决方案 »

  1.   

    xinm是什么类型,如是字符型就是少了引号
      

  2.   

    你把错误信息贴出来吧,多半是你sql语句错了
      

  3.   

    xinm,xingb,nianl,dianh,grzl的数据类型分别是什么?
    如果是char或varchar型的则要多加两对引号。
    如,xinm是varchar,则你的update语句要写成
    h:='update khzl set xinm='''+trim(edit1.text)+''',xingb='+……
      

  4.   

    在执行sql语句前
    用showmessage(h)把h中的内容提取出来看看是否正确
    然后再改正相应的地方
      

  5.   

    你的SQL语句中所有字段的值都少了引号,
    应该这么写,以一个字段为例:
    h:='update khzl set xinm='+''''+trim(edit1.text)+'''';注意: 4个单引号代表引号中的引号。