起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3376|回复: 13

[处理中3] 请问一下保存失败的问题

[复制链接]

10

主题

36

帖子

77

积分

初级会员

Rank: 2

积分
77
发表于 2016-4-14 22:02:42 | 显示全部楼层 |阅读模式
请问一下,这个保存失败是怎么回事?

HTTP Status 500-
com.justep.baas.action.ActionException:
执行Class[food.User__do]
Method[saveUser]失败

12

主题

2627

帖子

2866

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2866
发表于 2016-4-15 09:28:59 | 显示全部楼层
服务端控制台是否有错误信息? 有的话, 发上来看看
回复 支持 反对

使用道具 举报

10

主题

36

帖子

77

积分

初级会员

Rank: 2

积分
77
 楼主| 发表于 2016-4-15 09:42:21 | 显示全部楼层
hecr 发表于 2016-4-15 09:28
服务端控制台是否有错误信息? 有的话, 发上来看看

感觉好像是数据库外键的问题,但是不知道怎么改.......

四月 15, 2016 9:37:36 上午 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet WeX5_Baas_Servlet threw exception
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails (`food`.`healthydiet_plan`, CONSTRAINT `FK_healthydiet_plan_user` FOREIGN KEY (`uname`) REFERENCES `user` (`uname`))
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:400)
        at com.mysql.jdbc.Util.getInstance(Util.java:383)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:973)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3847)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3783)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2447)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2594)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2545)
        at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1901)
        at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1193)
        at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)
        at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)
        at com.justep.baas.data.DataUtils.saveData(Unknown Source)
        at com.justep.baas.data.DataUtils.saveData(Unknown Source)
        at com.justep.baas.action.CRUD.save(Unknown Source)
        at food.Healthydiet_plan__do.saveHealthydiet_plan(Healthydiet_plan__do.java:75)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at com.justep.baas.action.Engine.execAction(Unknown Source)
        at com.justep.baas.action.Engine.execAction(Unknown Source)
        at com.justep.baas.servlet.BaasServlet.execService(Unknown Source)
        at com.justep.baas.servlet.BaasServlet.service(Unknown Source)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:745)
回复 支持 反对

使用道具 举报

12

主题

2627

帖子

2866

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2866
发表于 2016-4-15 09:58:17 | 显示全部楼层
Cannot add or update a child row: a foreign key constraint fails (`food`.`healthydiet_plan`, CONSTRAINT `FK_healthydiet_plan_user` FOREIGN KEY (`uname`) REFERENCES `user` (`uname`))

对, 外键约束的问题, 最简单的处理方式, 把外键删除, 或调整sql执行的顺序, 使得不违反外键的限制
回复 支持 反对

使用道具 举报

10

主题

36

帖子

77

积分

初级会员

Rank: 2

积分
77
 楼主| 发表于 2016-4-15 10:34:31 | 显示全部楼层
hecr 发表于 2016-4-15 09:58
Cannot add or update a child row: a foreign key constraint fails (`food`.`healthydiet_plan`, CONSTRA ...

那如果想关联起两个表的信息,怎么设置?

例如:有用户和计划两个表,界面和案例中简单数据相似,列表中只显示计划的信息,点击详细信息的时候显示出用户信息和计划信息,用户信息要怎么和计划相对应呢?是需要添加两个baasdata,还是一个里面建两个表的action?建两个表的action的话有什么需要具体设置的么?要怎么做呢?
回复 支持 反对

使用道具 举报

12

主题

2627

帖子

2866

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2866
发表于 2016-4-15 10:41:38 | 显示全部楼层
我的意思只是删除数据库表中的外键,并不删除那个字段, 保留那个字段(字段作为一般的字段来用,并不设置为外键)
回复 支持 反对

使用道具 举报

10

主题

36

帖子

77

积分

初级会员

Rank: 2

积分
77
 楼主| 发表于 2016-4-15 10:49:54 | 显示全部楼层
hecr 发表于 2016-4-15 10:41
我的意思只是删除数据库表中的外键,并不删除那个字段, 保留那个字段(字段作为一般的字段来用,并不设置 ...

额...你的意思我懂了,其实...我不太懂那个两个表的信息要怎么对应起来
回复 支持 反对

使用道具 举报

12

主题

2627

帖子

2866

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2866
发表于 2016-4-15 11:10:07 | 显示全部楼层
在计划表中,加一个字段存储用户的id;
有两个action, 一个是查询计划表的action, 一个是查询用户表的action
这两个actoin分别根据条件查出数据即可(例如查询计划时,用计划的id, 查询用户时, 用用户的id过虑)
回复 支持 反对

使用道具 举报

10

主题

36

帖子

77

积分

初级会员

Rank: 2

积分
77
 楼主| 发表于 2016-4-18 10:08:53 | 显示全部楼层
hecr 发表于 2016-4-15 11:10
在计划表中,加一个字段存储用户的id;
有两个action, 一个是查询计划表的action, 一个是查询用户表的actio ...

那这个是需要在sqlquery中的sql中添加select语句吗?看上去很简单,但是我刚开始入门,还是不太明白具体要怎么做.....
回复 支持 反对

使用道具 举报

12

主题

2627

帖子

2866

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2866
发表于 2016-4-18 14:14:10 | 显示全部楼层
那你先做简单的计划列表查询页面, 以及看计划详细页面, 之后再那个计划详细中查出用户信息
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-18 07:28 , Processed in 0.071674 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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