procedure TForm1.Button1Click(Sender: TObject);
beginADOQuery1.Close;
ADOQuery1.SQL.Clear;ADOQuery1.SQL.Add('Update huizong SET snum=:a+b+c');
ADOQuery1.SQL.Add('select * from huizong where snum is null');ADOQuery1.ExecSQL;end;end.
为什么我一执行就会失败呢

解决方案 »

  1.   

    a,b,c 是指参数么?没传值呢吧。
      

  2.   

    ADOQuery1.SQL.Add('Update huizong SET snum=:a+b+c');
    :a是参数,需传值。
    看上面的语句,b,c是字段,那么表中必须有b,c字段,且字段类型必须与参数类型能进“+”运算。
      

  3.   

    如果是列名,更新语句就不用传参数的。改为下列就行:
    ADOQuery1.SQL.Add('Update huizong SET snum=a+b+c');
    你的代码改成:
    procedure TForm1.Button1Click(Sender: TObject);
    beginADOQuery1.Close;
    ADOQuery1.SQL.Clear;ADOQuery1.SQL.Add('Update huizong SET snum=a+b+c');
    ADOQuery1.ExecSQL;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('select * from huizong where snum is null');
    ADOQuery1.Open;end;end.