起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 243|回复: 10

【结帖】关于数据集更新**

[复制链接]
发表于 2008-7-15 18:04:49 | 显示全部楼层 |阅读模式
如图错误:
我是在两个业务信息下建立了同一个物资库存表的数据集
代码是
info1.info.applyupdates;
...........
info2.info.applyupdates;
这样是先后顺序更新同一个表的相同记录


但是在最后的时候报错误

123123.gif

14.08 KB, 下载次数: 143

回复

使用道具 举报

 楼主| 发表于 2008-7-15 18:05:57 | 显示全部楼层
这是什么原因导致的啊?
回复 支持 反对

使用道具 举报

发表于 2008-7-16 08:34:54 | 显示全部楼层
你应该是info1.info.applyupdates; 执行这个前,打开的info2.info.applyupdates  这个数据集吧,
这取决于更新语句的Where部分,如果Where条件中的字段被info1 修改了并提交,那么肯定会报错的,
不知道楼主想实现啥需求,是否可以Where后面仅仅放主键

或者在 info1.info.applyupdates; 执行这个后,再打开的info2.info.applyupdates  这个数据集,
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-16 09:53:25 | 显示全部楼层
我现在把那个info2 里的那个数据集关闭了  
然后在执行了info1.info.applyupdates后  打开那个关闭的数据集  然后再执行info2.info.applyupdates   还是报上面的错误
这两个info.applyupdates都是写在同一个事件中   就是流程的afterflowout事件中
我感觉是不是到最后两个业务信息是同时applyupdates的?
因为执行好info1的applyupdate事件后  因为后面有报错  所以info2的applyupdate事件没有执行
然后我看数据库  发现info1虽然执行了applyupdate但是数据库的数据并没有更新
回复 支持 反对

使用道具 举报

发表于 2008-7-16 10:06:11 | 显示全部楼层
数据集的更新语句Where部分仅仅是主键不可以吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-16 10:17:52 | 显示全部楼层
select * from zbmroler.wzkcxxb where wzbm in (230101009,230101008,230101007,230101006,230101005,230101004,230101003,230101002,230101001) and gsbm='JBCK'
这是那个sql语句  查出这个记录的sql语句 程序中是没法用主键确定那个记录的
因为要求的是用物资编码和公司编码确定一个记录  
但是info1并没有修改这个sql语句的where部分的任何东西
他更新的是库存数量等之类的数量信息
回复 支持 反对

使用道具 举报

发表于 2008-7-16 10:47:58 | 显示全部楼层
哦,5楼说的是你数据集的更新选项这里的属性是怎么设置的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-16 10:53:37 | 显示全部楼层
数据集的更新选项里什么都没有   我没有用数据集的更新选项
我就是把这个数据集的数据都找出来
然后用 TSQLDataSet(wzkc.DataSet).edit;
              TSQLDataSet.fieldbyname().asstring:=XXX;
              .................
              TSQLDataSet(wzkc.DataSet).post;
所以我觉得这样做的话where部分应该和查询的时候where部分差不多
回复 支持 反对

使用道具 举报

发表于 2008-7-16 11:07:04 | 显示全部楼层
你把你数据集的更新选项第一页贴出来看看。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-16 11:28:51 | 显示全部楼层
是把更新选项的那个改成主键就好了
我一直以为是数据集的sql那里设置的   
谢谢了  结贴吧
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-19 07:55 , Processed in 0.043633 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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