起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 496|回复: 24

【结贴】数据集更新选项**

[复制链接]
发表于 2007-12-4 12:49:25 | 显示全部楼层 |阅读模式
版本:2819
问题描述:
我的数据集是从3个表中选择的数据,其中两张表不需要更新,于是我把这两张表的更新字段,条件全部取消了,只保留了需要更新的那张表的更新字段和条件(条件中只选择了我需要更新的字段和主键)
数据集更新选项中,我的更新模式选择了主键和修改字段,结果在生成语句时,where条件中只有主键,没有更新字段;
因为我要实现并发,所以必须以主键和修改字段做条件。
回复

使用道具 举报

 楼主| 发表于 2007-12-4 12:57:41 | 显示全部楼层
UPDATE中的语句:
UPDATE MAT_REQ_APPLY_B
SET  CHECK_ID = :CHECK_ID  ,
CHECK_NUM = :CHECK_NUM  ,
CHECK_IDEA = :CHECK_IDEA  ,
CHECK_NAM = :CHECK_NAM  ,
CHECK_TIM = :CHECK_TIM  ,
IS_USED = :IS_USED  ,
UPDATE_MAN = :UPDATE_MAN  ,
UPDATE_TIM = :UPDATE_TIM  
WHERE  ( MATER_COD = :OLD__MATER_COD )
AND  ( CHECK_ID = :OLD__CHECK_ID )
AND  ( CHECK_IDEA = :OLD__CHECK_IDEA )
AND  ( CHECK_NAM = :OLD__CHECK_NAM )
AND  ( CHECK_TIM = :OLD__CHECK_TIM )
AND  ( FID = :OLD__FID )
AND  ( IS_USED = :OLD__IS_USED )
AND  ( UPDATE_MAN = :OLD__UPDATE_MAN )
AND  ( UPDATE_TIM = :OLD__UPDATE_TIM )

本来只有主键的,更新模式选择了所有字段后生成的语句变成这样,这些字段就是我要更新的字段和主键,其中FID和MATER_COD是联合主键。在数据发生变化后,保存时报错,如图

error.jpg

13.66 KB, 下载次数: 176

回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-4 13:46:53 | 显示全部楼层
....
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-4 13:56:36 | 显示全部楼层
着急。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-4 14:21:31 | 显示全部楼层
哎。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-4 14:55:24 | 显示全部楼层
。。。好歹给个音信,即使说让我稍等下也可以。。。
回复 支持 反对

使用道具 举报

发表于 2007-12-4 15:03:35 | 显示全部楼层
提示的非常明显了,update语句找不到old的值。
也就是在执行这个update语句时,老的值已经不存在了。
你看看是不是这两个更新语句不能放在一块执行?
回复 支持 反对

使用道具 举报

发表于 2007-12-4 15:08:48 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-4 15:12:08 | 显示全部楼层
这分明只是对一个表进行的更新。。。只是一个更新语句
回复 支持 反对

使用道具 举报

发表于 2007-12-4 15:17:02 | 显示全部楼层
抱歉看错了。7楼的意思没有说错,你只能手工改动那个更新语句,既然有主键,把那个两个是联合主键的条件保留试试。
看看8楼的wiki。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-5 00:29 , Processed in 0.041466 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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