TADOTable exception when post second time



I got a TADOTable on a form linking to several db-aware components.
I got an edit button, press it to set in edit mode.
And save button, press it to post the data.

procedure TForm1.btnEditRecordClick(Sender: TObject);
begin
dsEmployee.AutoEdit := true;;
dsEmployee.Edit;
end;

procedure TForm1.btnSaveRecordClick(Sender: TObject);
begin
dsEmployee.DataSet.Post;
end;

At the first time to press the save button, it is fine.
Then I press the edit button again, edit the values in the data-aware
components, and press the save button. An exception occurred:
'exception class EOleException with message 'Row cannot be located for
updating. Some values may have been changed since it was last read'

I tried different fields, it seemed happened to varchar field the most.

Any idea ?



.