起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 143|回复: 8

UpdateOptions中的新增,删除可否用定制?**

[复制链接]
发表于 2008-10-6 10:42:02 | 显示全部楼层 |阅读模式
UpdateOptions中的新增,删除语句可否定制成Update语句?


如:在UpdateOptions中的提交SQL语句页面中的Insert页中定制成
Update tablename set 目的  where 条件

在删除页中定制成Update tablename set 目的  where 条件?
回复

使用道具 举报

发表于 2008-10-6 11:10:19 | 显示全部楼层
可以是可以的。但是要注意主键、约束、刷新等相关的控制。(我在update页中用insert语句测试后,修改一条数据,然后刷新后有一条新记录产生)
不过还是建议楼主自己写sql来更新更方便。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-6 15:12:30 | 显示全部楼层
表A,表B,表C三个表,其中C与B关联,B做主表,B与A关联,A做主表,均级联操作,
现如果对A表进行数据删除,则A,B,C数据均同步删除了,而对B表删除时,是代码Delete,可C表并没有同步操作,这是为啥?

其中C表的删除SQL语句为:update MMS_MATDEMANDLIST set Anum=0,PLANLISTGUID='' where Guid=:OLD__GUID
回复 支持 反对

使用道具 举报

发表于 2008-10-6 16:04:03 | 显示全部楼层
如果数据集定义了主从,那么要级联删除,不需要通过代码或者自定义SQL语句来做,直接在从数据集的主从关系的 规则 中设置级联删除就可以了,见附件。像楼主B删除,C没有同步,那么请检查一下,C的主从关系的 规则 页面是否定义了级联删除
(当然如果更新也同步,那么更新那边也定义级联)

1.gif

15 KB, 下载次数: 86

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-6 16:48:28 | 显示全部楼层
楼上说的我明白,如果按你说的这样做,应该是不会有问题.

而现在我这删除前要判断某一字段的值是否选择,选择才删除,B表数据在删除前,需要做检查,如果同时选择多条记录一起删除,肯定是要通过代码来Delete的,我这现在就是通过代码Delete时,C表没有同步
回复 支持 反对

使用道具 举报

发表于 2008-10-6 17:15:45 | 显示全部楼层
哦,那从监控日志看,看到执行删除C的SQL语句了吗?
如果没有,说明时机或者SQL有问题,你可以先把语句写到一个按钮上,单步执行看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-8 09:40:02 | 显示全部楼层
从哪看监控日志?
回复 支持 反对

使用道具 举报

发表于 2008-10-8 10:24:52 | 显示全部楼层
从客户端,把 Config.xml 的
<SystemMonitor MonitorEnable="False"
修改为
<SystemMonitor MonitorEnable="True"

这样,在运行的目录会出现一个MonitorLog.sqb 这个文件,用SystemMonitor.exe打开就可以了
如果是原先的版本,产生的应该是bizmonitor.db,也有一个 Optimizer.exe 这个打开
回复 支持 反对

使用道具 举报

发表于 2008-10-10 09:12:02 | 显示全部楼层
??
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-23 03:47 , Processed in 0.044804 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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