找回密码
 立即注册

QQ登录

只需一步,快速开始

Leo888

中级会员

87

主题

268

帖子

991

积分

中级会员

积分
991
Leo888
中级会员   /  发表于:2020-12-16 15:19  /   查看:2677  /  回复:4
1金币
系统报“FOREIGN KEY constraint failed”错误,找不到原因所在
数据库详见附件
1、打开销售订单列表页(默认启动页)——单击“添加”按钮;
2、然后在销售订单详情页选择“客户”,再单击“批量选择物料”,选择对应的物料,如下图所示
3、然后在对应行输入“数量”和“单价”,单击“添加”按钮,系统报错(没有找到是什么地方没有设置好)

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

你好,问题回答如下: 问题原因: 您的服务端命令——新建销售订单1中,第一个数据表操作命令的新纪录参数名为:NewRow。 然后,在循环命令添加子表时的数据表操作命令中——新纪录参数名也为:NewRow。 这样就导致参数名一样,跟写代码一样,两个一样的参数名就会导致歧义,系统不知道要存的NewRow.ID从哪个参数里取,所以就导致了报错。 解决办法: 只要保证两个新纪录参数名不一致即可,比如第一个为NewRow, ...

4 个回复

倒序浏览
最佳答案
最佳答案
Erik.Xue讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2020-12-16 15:19:16
来自 5#
本帖最后由 Erik.Xue 于 2020-12-17 09:47 编辑

你好,问题回答如下:
问题原因:
您的服务端命令——新建销售订单1中,第一个数据表操作命令的新纪录参数名为:NewRow。


然后,在循环命令添加子表时的数据表操作命令中——新纪录参数名也为:NewRow。


这样就导致参数名一样,跟写代码一样,两个一样的参数名就会导致歧义,系统不知道要存的NewRow.ID从哪个参数里取,所以就导致了报错。

解决办法:

只要保证两个新纪录参数名不一致即可,比如第一个为NewRow,第二个为NewRow1,这样就没有问题了。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
bkad活字格认证
金牌服务用户   /  发表于:2020-12-16 16:04:46
2#
根据字面意思来看可能是外键约束的问题
回复 使用道具 举报
绿之雪
金牌服务用户   /  发表于:2020-12-16 16:05:39
3#
外键  错误
回复 使用道具 举报
Leo888
中级会员   /  发表于:2020-12-16 16:28:38
4#
本帖最后由 Leo888 于 2020-12-16 16:53 编辑

能找出是那个地方的外键有误?我把“添加”按钮的服务器命令禁用,改用“数据表操作“命令,就可以增加的。是不是问题应该就是在服务器命令或对应的参数里呢?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部