代码是这样的          while not lDataSet.Eof do
          begin            
            lDataSet.FieldByName('ID').asInteger := 1;
            lDataSet.Next;
          end;
            FConnection.Post(lDataSet);或者改成          while not lDataSet.Eof do
          begin            
            lDataSet.FieldByName('ID').asInteger := 1;
            FConnection.Post(lDataSet);
            lDataSet.Next;
          end;也是一样我的目的是要把整个数据集的ID都改掉请问大家一下,这要怎样改才不会出错
谢谢了!

解决方案 »

  1.   


              while not lDataSet.Eof do
              begin
                lDataSet.Edit;////////要改变DataSet状态的            
                lDataSet.FieldByName('ID').asInteger := 1;
                FConnection.Post(lDataSet);
                lDataSet.Next;
              end;
      

  2.   

    噢,这个有改啊lDataSet.Edit;
    while not lDataSet.Eof do
    begin
    lDataSet.FieldByName('ID').asInteger := 1;
    FConnection.Post(lDataSet);
    lDataSet.Next;
    end;这个已经是加上去的了
      

  3.   

    程序是运行到 post或者lDataSet.Next的时候报错
      

  4.   

    噢,这个有改啊lDataSet.Edit;
    while not lDataSet.Eof do
    begin
    lDataSet.FieldByName('ID').asInteger := 1;
    FConnection.Post(lDataSet);
    lDataSet.Next;
    end;这个已经是加上去的了----------------你注意了吗?当你执行第一次循环时,是对的,但当第二次循环开始时,iDataSet的状态已不是Edit状态!所以,要按我在一楼的代码,把.Edit放在循环内!
      

  5.   

    while not lDataSet.Eof do
              begin
                lDataSet.Edit;  //iDataSet状态---->dsEdit            
                lDataSet.FieldByName('ID').asInteger := 1;
                FConnection.Post(lDataSet);//状态 : dsBrowser
                lDataSet.Next;//不管有没有在上面执行Post,Next都默认Post此时状态都是dsBrowser
              end;
      

  6.   

    程序是运行到 post 或者 lDataSet.Next 的时候报错
    -------------------------------------------------
    这就是因为DataSet.State不在Edit状态时,如果Post,要报错的。
      

  7.   

    放进去了while not lDataSet.Eof do
    begin
    lDataSet.Edit;
    lDataSet.FieldByName('ID').asInteger := 1;
    FConnection.Post(lDataSet);
    lDataSet.Next;
    end;还是会错啊郁闷
      

  8.   

    把这句注释掉:FConnection.Post(lDataSet);
      

  9.   

    去掉post了也会一执行到 .Next 就错了这是怎么回事?
      

  10.   

    Couldn't perform the edit because another user changed the record 用独占方式打开这个表或者在没有人用的时候操作。
      

  11.   

    具体怎么做?
    大家看看还有别的方法吗?    就是批量修改数据的我的目的是想让一批数据的ID号替换成另一批的ID