我通过StringGrid修改ADODataSet中的数据,下面是代码:
procedure TfrmGroupList.grdGroupListSetEditText(Sender: TObject; ACol,
ARow: Integer; const Value: String);
var 
i: Integer;
begin
i := 0;
ADSGroupList.First;
while i < (ARow - 1) do
begin
ADSGroupList.Next;
Inc(i);
end;
ADSGroupList.Edit;
ADSGroupList.Fields[ACol].Value := grdGroupList.Cells[ACol,ARow];
end;总是报Field "XXX" can not be modified.
谁能告诉我为什么?谢谢。

解决方案 »

  1.   

    对在ADSGroupList.Edit;前加上ADSGroupList.open
      

  2.   

    我已经open了,还是抱着个错呀!
      

  3.   

    procedure TfrmGroupList.grdGroupListSetEditText(Sender: TObject; ACol,
    ARow: Integer; const Value: String);
    var 
    i: Integer;
    begin
    i := 0;         ADSGroupList.Edit;    //位置改变 ADSGroupList.First;
    while i < (ARow - 1) do
    begin
    ADSGroupList.Next;
    Inc(i);
    end;
    //ADSGroupList.Edit;
    ADSGroupList.Fields[ACol].Value := grdGroupList.Cells[ACol,ARow];
    end;
      

  4.   

    还是不行呀。如果ADSGroupList.Edit提前,在执行ADSGroupList.First后,ADSGroupList.State的值就变成了dsBrowser.
      

  5.   

    我要急死了!Field "XXX" can not be modified!!!