我在一个TadoTable A中添加了几个的LookUp类型的field,而且这个field共同来自另外一个TadoTable
 B,我在A中输出或者添加记录时候,出现一个错误提示:
 row cannot be located for updating,some value may have been changed since it was last
read.
而且A是另外一个tadoquery的detail 类型的dataset,还有这个错误是用户在点击DBGridEh时候
出现的,不知道是否是DBGridEh的一个bug.
谢谢各位高手帮忙,分数不够QQ联系加给你,每天加,每时加,每秒加!

解决方案 »

  1.   

    我的问题代码如下:
    : 
    for i:=1 to NullItemCount do
       begin
         IdCan:=MatList[NullList[i]].MatID;
         if DM.T_ForPscDetail.Locate('原料ID',IdCan,[]) then
         begin
           if DM.T_ForPscDetail.State<>dsEdit then
           DM.T_ForPscDetail.edit;
           DM.T_ForPscDetail.FieldByName('需要量').AsFloat:=x[i];
           DM.T_ForPscDetail.Post;
         end;
       end;
       if FItemCount>0 then   //只有有填充物时候,才执行
       begin
         IdCan:=FMatList[FNullList[1]].MatID;
         if DM.T_ForPscDetail.Locate('原料ID',IdCan,[]) then
         begin
           if DM.T_ForPscDetail.State<>dsEdit then
               DM.T_ForPscDetail.edit;
           DM.T_ForPscDetail.FieldByName('需要量').AsFloat:=fx;
           DM.T_ForPscDetail.Post;
         end;
       end;