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

QQ登录

只需一步,快速开始

查看: 1829|回复: 3

[处理中1] 请教baasData控件能新增数据却不能修改数据,什么原因?

[复制链接]

6

主题

19

帖子

49

积分

新手上路

Rank: 1

积分
49
QQ
发表于 2016-8-2 18:55:38 | 显示全部楼层 |阅读模式
请教一下,我在list.w 页面中,使用baasData数据,关联数据库中一张表,然后用detail.w页面做“新增数据”和“修改数据”的功能。页面之间使用windowdialog 和 windowreceiver进行页面见交互数据。其中window dialog的mapping也做好了。


在“新增数据”中,完全实现,数据存储也没有问题。在list.w页面中的 windowdialogReceived中进行数据保存 data.savedata(); 一切正常。

奇怪的是,在数据修改的功能上面,总是不能存储成功。

返回的错误信息如下:


版主能指点一下,是哪里出了问题吗?谢谢。

HTTP Status 500 - 执行Action:Laxchary/Laxchary_action/saveTb_twoclass失败,Action[Laxchary/Laxchary_action/saveTb_twoclass]执行失败,SQL执行失败,com.mysql.jdbc.JDBC4PreparedStatement@1c5c430: INSERT INTO tb_twoclass (fTwoClassID,fTwoClassImgUrl,fTwoClassName,fb_OneClassID) VALUES ('C72B357743000001462F18906710B9F0','[{"storeFileName":"C72B3578D2E00001B783F9B01988AC70","realFileName":"list5.jpg"}]','4444','C72B28EEE6C00001AB127240EE841472')

type Exception report

message 执行Action:Laxchary/Laxchary_action/saveTb_twoclass失败,Action[Laxchary/Laxchary_action/saveTb_twoclass]执行失败,SQL执行失败,com.mysql.jdbc.JDBC4PreparedStatement@1c5c430: INSERT INTO tb_twoclass (fTwoClassID,fTwoClassImgUrl,fTwoClassName,fb_OneClassID) VALUES ('C72B357743000001462F18906710B9F0','[{"storeFileName":"C72B3578D2E00001B783F9B01988AC70","realFileName":"list5.jpg"}]','4444','C72B28EEE6C00001AB127240EE841472')

description The server encountered an internal error that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: 执行Action:Laxchary/Laxchary_action/saveTb_twoclass失败,Action[Laxchary/Laxchary_action/saveTb_twoclass]执行失败,SQL执行失败,com.mysql.jdbc.JDBC4PreparedStatement@1c5c430: INSERT INTO tb_twoclass (fTwoClassID,fTwoClassImgUrl,fTwoClassName,fb_OneClassID)  VALUES ('C72B357743000001462F18906710B9F0','[{"storeFileName":"C72B3578D2E00001B783F9B01988AC70","realFileName":"list5.jpg"}]','4444','C72B28EEE6C00001AB127240EE841472')
        com.justep.baas.servlet.BaasServlet.execService(Unknown Source)
        com.justep.baas.servlet.BaasServlet.service(Unknown Source)
root cause

com.justep.baas.action.ActionException: Action[Laxchary/Laxchary_action/saveTb_twoclass]执行失败,SQL执行失败,com.mysql.jdbc.JDBC4PreparedStatement@1c5c430: INSERT INTO tb_twoclass (fTwoClassID,fTwoClassImgUrl,fTwoClassName,fb_OneClassID)  VALUES ('C72B357743000001462F18906710B9F0','[{"storeFileName":"C72B3578D2E00001B783F9B01988AC70","realFileName":"list5.jpg"}]','4444','C72B28EEE6C00001AB127240EE841472')
        com.justep.baas.action.Engine.execAction(Unknown Source)
        com.justep.baas.action.Engine.execAction(Unknown Source)
        com.justep.baas.servlet.BaasServlet.execService(Unknown Source)
        com.justep.baas.servlet.BaasServlet.service(Unknown Source)
root cause

java.lang.reflect.InvocationTargetException
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        java.lang.reflect.Method.invoke(Method.java:497)
        com.justep.baas.action.Engine.execAction(Unknown Source)
        com.justep.baas.action.Engine.execAction(Unknown Source)
        com.justep.baas.servlet.BaasServlet.execService(Unknown Source)
        com.justep.baas.servlet.BaasServlet.service(Unknown Source)
root cause

com.justep.baas.data.sql.SQLException: SQL执行失败,com.mysql.jdbc.JDBC4PreparedStatement@1c5c430: INSERT INTO tb_twoclass (fTwoClassID,fTwoClassImgUrl,fTwoClassName,fb_OneClassID)  VALUES ('C72B357743000001462F18906710B9F0','[{"storeFileName":"C72B3578D2E00001B783F9B01988AC70","realFileName":"list5.jpg"}]','4444','C72B28EEE6C00001AB127240EE841472')
        com.justep.baas.data.DataUtils.saveData(Unknown Source)
        com.justep.baas.data.DataUtils.saveData(Unknown Source)
        com.justep.baas.action.CRUD.save(Unknown Source)
        Laxchary.Laxchary_action__do.saveTb_twoclass(Laxchary_action__do.java:139)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        java.lang.reflect.Method.invoke(Method.java:497)
        com.justep.baas.action.Engine.execAction(Unknown Source)
        com.justep.baas.action.Engine.execAction(Unknown Source)
        com.justep.baas.servlet.BaasServlet.execService(Unknown Source)
        com.justep.baas.servlet.BaasServlet.service(Unknown Source)
root cause

com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry 'C72B357743000001462F18906710B9F0' for key 'PRIMARY'
        sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        java.lang.reflect.Constructor.newInstance(Constructor.java:422)
        com.mysql.jdbc.Util.handleNewInstance(Util.java:400)
        com.mysql.jdbc.Util.getInstance(Util.java:383)
        com.mysql.jdbc.SQLError.createSQLException(SQLError.java:973)
        com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3847)
        com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3783)
        com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2447)
        com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2594)
        com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2545)
        com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1901)
        com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1193)
        org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)
        org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)
        com.justep.baas.data.DataUtils.saveData(Unknown Source)
        com.justep.baas.data.DataUtils.saveData(Unknown Source)
        com.justep.baas.action.CRUD.save(Unknown Source)
        Laxchary.Laxchary_action__do.saveTb_twoclass(Laxchary_action__do.java:139)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        java.lang.reflect.Method.invoke(Method.java:497)
        com.justep.baas.action.Engine.execAction(Unknown Source)
        com.justep.baas.action.Engine.execAction(Unknown Source)
        com.justep.baas.servlet.BaasServlet.execService(Unknown Source)
        com.justep.baas.servlet.BaasServlet.service(Unknown Source)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.41 logs.

Apache Tomcat/6.0.41

1

主题

3232

帖子

1174

积分

金牌会员

Rank: 6Rank: 6

积分
1174
QQ
发表于 2016-8-3 11:55:30 | 显示全部楼层
baasData组件是可以修改数据,看你的报错信息,说是sql执行失败,action执行失败,这个action,你赋予了他 增删改查 的动作了么?
在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

6

主题

19

帖子

49

积分

新手上路

Rank: 1

积分
49
QQ
 楼主| 发表于 2016-8-3 16:15:06 | 显示全部楼层
闰土 发表于 2016-8-3 11:55
baasData组件是可以修改数据,看你的报错信息,说是sql执行失败,action执行失败,这个action,你赋予了他  ...

action中就两个内容,一个是query 另外一个是save. 如果save出问题,根本就不能新增数据的。我是确认都加上了。
回复 支持 反对

使用道具 举报

1

主题

96

帖子

182

积分

初级会员

Rank: 2

积分
182
QQ
发表于 2016-8-3 16:36:40 | 显示全部楼层
你看下你的数据库的类型跟你修改的值的类型一不一致
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-8 00:53 , Processed in 0.061199 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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