我有一个定制表,其中有一个prodid引用,其中引用了prodtable。
我需要从这个自定义的表记录中删除Prod表记录。但是,当我访问Prod表并试图删除它时,控件只是出来而不执行操作
我试过使用
delete_from ProdTable where prodTable.prodid == 'abc';也是
select prodtable where prodTable.prodid =='abc';
prodTable.delete();有没有人能告诉我为什么会这样
向您致敬,TJ
发布于 2012-03-23 16:41:22
首先,我要检查select是否返回了所需的记录:
select prodtable where prodtable .prodid =='abc';
info(strFmt('ProdId: %1, RecId: %2', prodtable.ProdId, prodtable .RecId));注意:您需要一个select for update并在一个事务中才能删除(如果不在事务中或没有使用forupdate,应该会生成一个错误)
ttsbegin;
select forupdate prodtable where prodtable .prodid =='abc';
info(strFmt('ProdId: %1, RecId: %2', prodtable.ProdId, prodtable .RecId));
prodtable.delete();
ttscommit;(假设prodtable是定制表)
发布于 2012-03-23 15:20:57
我假设您没有使用'abc‘,而是使用自定义表中的字段进行连接。
也许定制表中的ProdId是左调整的,而ProdTable中的字段是右调整的?
您还检查过类方法ProdTableType.delete中是否调用了prodTable.doDelete吗
发布于 2012-03-26 01:38:40
控件只是出来而不执行操作
调用refresh the form方法后是否需要删除?
https://stackoverflow.com/questions/9830344
复制相似问题