adoquery2.Close;
          adoquery2.SQL.Clear;
          adoquery2.SQL.Add('delete  from bhk where xsbh="cc"');
          adoquery2.ExecSQL;
          adoquery2.Close;
          adoquery2.Open;
          adoquery2.Append;
          adoquery2.Edit;
          adoquery2.FieldByName('xsbh').AsString:='aa';
          adoquery2.FieldByName('xsxm').AsString:='bb';
          adoquery2.Post;
我这段程序的本意是先删除xsbh为cc的记录,再增加一条记录,但是上面这段程序不能通过,不知怎么改才行呀?
 

解决方案 »

  1.   

    adoquery2.Close;
              adoquery2.SQL.text:='delete  from bhk where xsbh="cc"';
              adoquery2.ExecSQL;
              adoquery2.Close;
              adoquery2.Open;
              adoquery2.insert;
              adoquery2.FieldByName('xsbh').AsString:='aa';
              adoquery2.FieldByName('xsxm').AsString:='bb';
              adoquery2.Post;
      

  2.   

    你是修改还是添加呀   修改用Edit   添加要用Insert  在说当你的AdoQuery控件里的内容为Delete语句的时候好象不能用AdoQuery.Open这个事件,要我就用下面这种方法
              adoquery2.Close;
              adoquery2.SQL.Clear;
              adoquery2.SQL.Add('delete  from bhk where xsbh="cc"');
              adoquery2.ExecSQL;
              adoquery2.Close;
              adoquery2.sql.clear;
              adoquery2.sql.add('select * from bhk');
              adoquery2.Open;
              adoquery2.Append;
              adoquery2.FieldByName('xsbh').AsString:='aa';
              adoquery2.FieldByName('xsxm').AsString:='bb';
              adoquery2.Post;
    没调试过   我认为应该能满足你的要求
      

  3.   

    adoquery2.Append;
    adoquery2.Edit;//这一句是多余的
      

  4.   

    在语句adoquery2.Open;之前增加一条语句:adoquery2.SQL.Text := 'SELECT * FROM bhk';
    其中语句:adoquery2.Edit; 是多余的。
      

  5.   

    martian6125(小峰) 应该可以了
      

  6.   

    adoquery2.Close;
              adoquery2.SQL.Clear;
              adoquery2.SQL.Add('delete  from bhk where xsbh="cc"');
              adoquery2.ExecSQL;
              adoquery2.Close;//删
              adoquery2.Open;//删
              adoquery2.Append;
              adoquery2.Edit;
              adoquery2.FieldByName('xsbh').AsString:='aa';
              adoquery2.FieldByName('xsxm').AsString:='bb';
              adoquery2.Post;
    还有就是delete的用法,在sql用delete我不了解,你最好确认这sql用法正确,你好象还多了个空格。
      

  7.   

    'delete  from bhk where xsbh='''+cc+''''
      

  8.   

    with ADOQuery1 do
    begin
      sql.close;  
      sql.clear;
      sql.add('delete  from bhk where xsbh="cc"');
      execsql;
    end;with ADOQuery1 do
    begin
      sql.close;
      sql.clear;
      sql.add('insert into bhk(xsbh,xsxm)values(:xsbh,:xsxm)');
      parameters.paramByName('xsbh').Value:='aa';
      parameters.paramByName('xsxm').Value:='bb';
      execsql;
    end;//这样总可以了吧??