3张表:tb1,tb2
   tb1字段  A1 ,B1  其中A1为主键,也为tb2 的外键,并级联更新,删除
   tb2字段  A2,B2    
   功能:应该时修改了tb1中的A1字段,在tb2中的A2字段自动更新或者删除
,在sql server中可以修改,删除tb1中A1字段,在tb2中A2也改变
   但是,用delphi编程时出现错误
   语句很简单
   ADOTable1.Edit;
   ADOTable1.FieldByName('A1').Value:=edit1.text;
   ADOTable1.Post;  出现错误:”无法为更新定位行,一些值可能在最后一次读取后已经更改“
  请各位指教

解决方案 »

  1.   

    1、如果A1处于identity类型的时候,是不能修改的
    2、原来记录已经被其它程序修改过,这种情况只能重新打开过数据然后继续操作
      

  2.   

    级连并不是很好,不过你这样简单的操作应该没有问题!
    检查一下你是否写有触发器,有时候触发器中Update纪录为0的话也会出现你说的错误!
      

  3.   

    我想也许是触发器的问题
    谢谢   xiaocuo_zrf(谁知我情深似海,全都是泪来灌溉)
      

  4.   

    1、如果A1处于identity类型的时候,是不能修改的
    2、原来记录已经被其它程序修改过,这种情况只能重新打开过数据然后继续操作