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

QQ登录

只需一步,快速开始

查看: 4561|回复: 13

[处理中3] 删除之后获取主键id到其他表删除相关数据

[复制链接]

3

主题

11

帖子

37

积分

新手上路

Rank: 1

积分
37
QQ
发表于 2019-8-26 19:22:04 | 显示全部楼层 |阅读模式
版本:BeX5_V3.7
如题,请问我想删除之后,或者之前拿到这条数据的id(或者其他字段的值),再到其他表删除相关的数据应该如何操作?
现在知道w文件里的data组件有onBeforeDelete和onAfterDelete事件,但是不知道如何拿到它的id,this.comp("mainData") 吗?
拿到id以后怎么去删其他表的数据呢?自己写action,然后调用吗?求指教,谢谢。

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2019-8-27 09:03:17 | 显示全部楼层
这样的推荐到后端saveAction的执行事件中操作,获取数据后用ksql或sql去操作其他的表
http://bbs.wex5.com/forum.php?mo ... 6&pid=164970552
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

3

主题

11

帖子

37

积分

新手上路

Rank: 1

积分
37
QQ
 楼主| 发表于 2019-8-27 09:57:16 | 显示全部楼层
jishuang 发表于 2019-8-27 09:03
这样的推荐到后端saveAction的执行事件中操作,获取数据后用ksql或sql去操作其他的表
http://bbs.wex5.com/ ...

public static void mainDataAfterDelete(){
               Table table = (Table) ContextHelper.getActionContext().getParameter("table");
               
                Iterator<Row> rows = table.iterator(com.justep.system.data.ModifyState.DELETE);
               
                Row row;
               
                HashMap<String, String> deleteMap = new HashMap<String, String>();
               
                while(rows.hasNext()){
                        row = rows.next();
                       
                        String id = row.getString("ID");
                       
                        String deleteSQL = "delete MM_E3_stock_I where [PID]='"+id+"'";
                       
                        deleteMap.clear();
                       
                        deleteMap.put(DatabaseProduct.MSSQL.name(), deleteSQL);
                       
                        int count = SQL.executeUpdate(deleteMap, null, "/MM/MM019/data");
                       
                        System.out.println("delete complete "+count+" rows effect");
                }
}

这样写应该没问题吧?可是我删除以后没有进到这个方法里面去,请问前端怎么跟自己写的action关联起来?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2019-8-27 10:29:10 | 显示全部楼层
删除后要保存,保存的时候执行的啊
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

3

主题

11

帖子

37

积分

新手上路

Rank: 1

积分
37
QQ
 楼主| 发表于 2019-8-27 11:05:52 | 显示全部楼层
jishuang 发表于 2019-8-27 10:29
删除后要保存,保存的时候执行的啊

是onAfterSave事件吗?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2019-8-27 11:25:00 | 显示全部楼层
2楼发的链接中的事件啊,链接看了吗?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

3

主题

11

帖子

37

积分

新手上路

Rank: 1

积分
37
QQ
 楼主| 发表于 2019-8-27 14:30:55 | 显示全部楼层
jishuang 发表于 2019-8-27 11:25
2楼发的链接中的事件啊,链接看了吗?

看了,浏览器报错 justep.xbl is not a function,请问应该用什么函数去哪当前的id或者其中一个字段的值呢?谢谢
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2019-8-27 15:34:52 | 显示全部楼层
后端事件中处理的啊
跟前端有什么关系
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

3

主题

11

帖子

37

积分

新手上路

Rank: 1

积分
37
QQ
 楼主| 发表于 2019-9-3 11:19:17 | 显示全部楼层
jishuang 发表于 2019-8-27 15:34
后端事件中处理的啊
跟前端有什么关系

在BIZ的action文件中新增saveAction,然后保存生成代码,再写相应操作的代码。在process文件中的mainActivity的动作设置添加这个saveAction,但是我在页面进行删除操作时,没有进到我写的代码,请问是哪里出错了吗?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2019-9-3 13:21:58 | 显示全部楼层
bizData的directDelete设置为false,删除后执行保存数据
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-29 16:42 , Processed in 0.121667 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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