起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 262|回复: 17

【搞定】[问题]更新时出错。**

[复制链接]
发表于 2007-12-19 21:09:20 | 显示全部楼层 |阅读模式
版本2611:

保存时出错,见下图,查发到数据库的SQLSQL有错。
Update null 。。。
Insert null。。。

111.jpg

42.47 KB, 下载次数: 128

回复

使用道具 举报

发表于 2007-12-19 21:16:51 | 显示全部楼层
这个是主从表在保存的时候出错。执行 MasterDataSet.ApplyUpdates(True); 这个动作的时候,出现的上述错误。
在MasterDataSet数据集上设置的更新选项里面的更新模式为所有字段
回复 支持 反对

使用道具 举报

发表于 2007-12-19 22:00:11 | 显示全部楼层
数据集从两个或者多个表中select出数据,如果不手工填写数据集的更新选项就会出现这个问题
回复 支持 反对

使用道具 举报

发表于 2007-12-19 23:08:02 | 显示全部楼层
不是从两个表查出来的。是两个数据集,分别对应两个表,这两个数据集建立了主从关系。
回复 支持 反对

使用道具 举报

发表于 2007-12-20 08:56:25 | 显示全部楼层
1、如果不执行MasterDataSet.ApplyUpdates(True); 而是执行MasterDataSet.ApplyUpdates(False); 报错吗?
2、如果报错,把MasterDataSet数据集上设置的更新选项里面的更新模式为主键和修改的字段 是否正常。如果不报错,那么检查从数据集的更新选项设置,也修改一下更新模式看看
回复 支持 反对

使用道具 举报

发表于 2007-12-20 09:18:43 | 显示全部楼层
1、我使用MasterDataSet.ApplyUpdate(True)这种方法,更新模式为所有字段,一定是报错的,生成的SQL我已经贴图了。如果在提交SQL语句那里我选择生成SQL的话,他也不会出错。
2、我使用MasterDataSet.ApplyUpdate(True)这种方法,更新模式为关键字模式,如果在提交SQL语句那里我选择生成SQL的话,他也不会出错。
3、只要我在提交SQL语句那里我选择生成SQL的话,他也不会出错。

我是想知道正常按照所有字段更新。并且不选择生成SQL的话,他也应该是可以保存的。我想知道原因。。是Bug吗?
回复 支持 反对

使用道具 举报

发表于 2007-12-20 09:42:18 | 显示全部楼层
你的意思,只要具备
1、执行MasterDataSet.ApplyUpdate(True)这种方法
2、更新模式为所有字段,
3、在提交SQL语句那里不生成SQL
这样一定会出错,是这样吗?如果是,我这里没有能重现(2819版本,系统数据库和业务数据库都是MSSQL2K),请问
1、你是用Studio的版本号是多少
2、系统数据库、和业务数据库类型分别是啥,小版本号是多少
3、提供你的资源或者重现的例子,
我们回复环境来跟踪一下吧
回复 支持 反对

使用道具 举报

发表于 2007-12-20 10:08:40 | 显示全部楼层
上面生成的SQL我们贴 图了。。
用的是2611的版本。。。。。
Server 端是SQLserver2005
回复 支持 反对

使用道具 举报

发表于 2007-12-20 10:11:54 | 显示全部楼层
对于一个数据集,例用默认的方式 ,更新没有问题。。不知道是不是这种主从关系引起的。。
这种问题似乎很难重现。现在我们新建一个数据集,执行保存都不会出错,不知道问题的根本原因在哪里。
之前我们调整过这两个数据集之间的关联的关键字。但是按道理来说这个应该不影响更新。
回复 支持 反对

使用道具 举报

发表于 2007-12-20 10:34:42 | 显示全部楼层
上面生成的SQL我们贴 图了。。
抱歉,我看不清楚。且这些字段分别是啥类型的也不知道,

如果不能稳定重现,请提供现有的资源。或者你到其他的数据库上新初始化一个数据库,导入这些相关的资源,看看是否能重新。现在仅仅根据这些描述很难定位问题。

当然,如果楼主不需要继续跟踪,那么可以通过你前面的描述,把SQL加上来解决
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-4 01:56 , Processed in 0.043218 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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