为喝总提示another user useing the 
或dataset not in insert or edit mode 
可我已在之前query.edit了

解决方案 »

  1.   

    delete不需要修改模式,有可能是因为执行的同时,数据库也被desktop打开了。
      

  2.   

    不,我用的MSSQLServer 2000
    切没有其他desktop打开procedure TForm2.Button1Click(Sender: TObject);
    beginquery1.Append;end;procedure TForm2.FormCreate(Sender: TObject);
    begin
    query1.Close;
    query1.SQL.Text :='select * from infor';
    query1.Open;end;procedure TForm2.Button2Click(Sender: TObject);
    begin
     with query1 do
      begin
      Form1.Database1.StartTransaction;
        try
          post;
          ApplyUpdates; {try to write the updates to the database};
          Form1.Database1.Commit; {on success, commit the changes};
        except
          Form1.Database1.Rollback; {on failure, undo the changes};
        raise; {raise the exception to prevent a call to CommitUpdates!}
        end;
      CommitUpdates; {on success, clear the cache}
      end;
       query1.Close;
       query1.SQL.Clear;
       query1.SQL.Add('select * from infor');
       query1.Open;end;procedure TForm2.Button3Click(Sender: TObject);
    beginend;procedure TForm2.Button4Click(Sender: TObject);
    begin
    query1.First ;
    end;procedure TForm2.Button5Click(Sender: TObject);
    begin
    query1.Prior;end;procedure TForm2.Button6Click(Sender: TObject);
    begin
    query1.Next;
    end;procedure TForm2.Button7Click(Sender: TObject);
    begin
    query1.Last;
    end;procedure TForm2.Button8Click(Sender: TObject);
    begin
     query1.Delete;
      query1.post;//此处错误 用Form1.Database1.StartTransaction;也不幸
      query1.ApplyUpdates
    end;
    各位大虾!求助?
      

  3.   

    你为什么要把append,post分那么开呢?另外你将错误的地方注释掉,再调试一次看看