procedure TForm1.Button1Click(Sender: TObject);
begin
   adoquery1.Append;
   adoquery1.Edit;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
  adoquery1.Edit;
  adoquery1.FieldByName('name').AsString:=asdf';
  adoquery1.Post;
end;先执行BUTTON1 在执行BUTTON2  2次 就会出错 报无法定位更新记录我用的是D7

解决方案 »

  1.   

    如果要实现点一次button就往表里加一条记录的话,就直接这样:
    procedure TForm1.Button2Click(Sender: TObject);
    begin
      adoquery1.Append;
      这个位置不能再加adoquery1.Edit;
      adoquery1.FieldByName('name').AsString:=asdf';
      adoquery1.Post;
    end;
      

  2.   

    当然
    Append/Edit后要Post才正常的你需要IsEdting的判断纯粹的逻辑问题http://lysoft.7u7.net
      

  3.   

    当然,简单的逻辑问题
    Edit后在Edit本来就不正确http://lysoft.7u7.net
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
       adoquery1.Append;
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      adoquery1.Edit;
      adoquery1.FieldByName('name').AsString:=asdf';
      adoquery1.Post;
    end;
    OK 我去掉了1个EDIT 运行结果一样 只要是点2次BUTTON2就报错
      

  5.   

    ADOQUERY1.SQL.ADD('select * from table');
      

  6.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
       adoquery1.Append;
       adoquery1.Edit;
    end;
    有问题