起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7765|回复: 16

[处理中6] 删除数据时遍历的问题

[复制链接]

77

主题

217

帖子

518

积分

高级会员

Rank: 4

积分
518
QQ
发表于 2016-4-12 11:54:58 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
5.3.4版本,主从表要删除明细数据(从表设置directDelte为false),从表保存前动作执行以下语句,结果执行时第一个被删除的数据总是不能清空销售订单明细表,一定要从第二条才开始清空,请问如何处理:
                //删除时清空销售订单明细表fPlanSign , fSeOrderPlanID
                Iterator <Row> rows = table.iterator(com.justep.system.data.ModifyState.DELETE);
                String sql = null ;
                Integer FInterID = 0 , FEntryID = 0;
                String fMainID = null;
                while (rows.hasNext()){
                        Row row = rows.next();
                        FInterID = (Integer)row.getValue("fOrderInterID");
                        FEntryID = (Integer)row.getValue("fOrderEntryID");
                        System.out.println(FInterID + "  " + FEntryID + (String)row.getValue("fMaterialNumber"));
                        sql = "update SEOrderEntry set fPlanSign = '' , fSeOrderPlanID = '' where FInterID = " + FInterID;
                        sql = sql + " and FEntryID = " + FEntryID;
                        SQL.executeUpdate(sql, null, "/aaERP/produce/data");
                }

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2016-4-12 15:22:22 | 显示全部楼层
java中调试一下看看可以把sql打出来看看第一个条数据是否执行sql了
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

77

主题

217

帖子

518

积分

高级会员

Rank: 4

积分
518
QQ
 楼主| 发表于 2016-4-12 16:13:13 | 显示全部楼层
第一条数据已删除,但是没有执行sql,请问怎么处理?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2016-4-12 17:39:02 | 显示全部楼层
第一条删除的时候不会执行java代码?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

77

主题

217

帖子

518

积分

高级会员

Rank: 4

积分
518
QQ
 楼主| 发表于 2016-4-13 08:22:59 | 显示全部楼层
是的,如果删除三条数据,那么循环内部只执行两次
回复 支持 反对

使用道具 举报

77

主题

217

帖子

518

积分

高级会员

Rank: 4

积分
518
QQ
 楼主| 发表于 2016-4-13 10:24:37 | 显示全部楼层
请问怎么处理?能尽快回复吗?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2016-4-13 13:28:28 | 显示全部楼层
具体操作步骤是什么,本地测试没问题,删除3条数据
public static void masterProcessBeforeSaveAP_CBAction() {
                Table table = (Table) ContextHelper.getActionContext().getParameter("table");
                Iterator<Row> rows = table.iterator(com.justep.system.data.ModifyState.DELETE);
                while (rows.hasNext()) {

                        Row row = rows.next();
                        System.out.println(row.getValue("fName").toString());

                        }
               
        }
中输出的就是三个值
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

77

主题

217

帖子

518

积分

高级会员

Rank: 4

积分
518
QQ
 楼主| 发表于 2016-4-13 16:29:49 | 显示全部楼层
1.png 2.png 问题如图所示,打印出来的结果显示只执行了两次
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2016-4-13 18:05:04 | 显示全部楼层
本地也是在3.4版本中测试的啊
输出一下table.size()看看对不对
如果还不对,把BIZ和UI2对应的资源文件发一下
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

77

主题

217

帖子

518

积分

高级会员

Rank: 4

积分
518
QQ
 楼主| 发表于 2016-4-14 08:29:53 | 显示全部楼层
文件太大了,发不了资源,能加一下QQ吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-3 11:21 , Processed in 0.071984 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表