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

QQ登录

只需一步,快速开始

查看: 3277|回复: 2

[结贴] data 复制单行后保存报错

[复制链接]

150

主题

599

帖子

1205

积分

金牌会员

Rank: 6Rank: 6

积分
1205
QQ
发表于 2017-6-30 17:34:14 | 显示全部楼层 |阅读模式

build version : 5.3.6.5569
build time : 2016.10.21 19:17:28


复制如下

                var row1 = GridSetForCopy.getCurrentRow();
                 TabGridSet.newData();
                var row = TabGridSet.getCurrentRow();
                TabGridSet.setRowState(row, 'new');
                row.assign(row1);

               TabGridSet.saveData();

报错如下:初步断定是主键重复了,但是已经newData,并且设置了state为new
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at com.justep.system.action.Engine.invokeActions(Native Method)
        at com.justep.system.action.Engine.invokeActions(Unknown Source)
        at com.justep.business.server.BusinessServer.doAction(Unknown Source)
        at com.justep.business.server.BusinessServer.doExcute(Unknown Source)
        at com.justep.business.server.BusinessServer.excute(Unknown Source)
        at com.justep.business.server.BusinessServer.excute(Unknown Source)
        at com.justep.business.server.BusinessServerServlet.execService(Unknown Source)
        at com.justep.business.server.BusinessServerServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at com.justep.x.bs.BusinessServerServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        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)
Caused by: com.justep.exception.BusinessException: 编码: JUSTEP150210; 提示: 执行KSQL出错, KSQL: INSERT INTO WMS_TabGridSet WMS_TabGridSet(WMS_TabGridSet, WMS_TabGridSet.version, WMS_TabGridSet.fFrozenColumns, WMS_TabGridSet.fIsDefault, WMS_TabGridSet.fIsSystemTemp, WMS_TabGridSet.fOpeatorID, WMS_TabGridSet.fParentID, WMS_TabGridSet.fTabName, WMS_TabGridSet.fTempCnName, WMS_TabGridSet.fTempCode, WMS_TabGridSet.fTempEnName, WMS_TabGridSet.fTempType, WMS_TabGridSet.fUsedType, WMS_TabGridSet.tabCreateDate, WMS_TabGridSet.tabCreatorId, WMS_TabGridSet.tabCreatorName, WMS_TabGridSet.tabEditDate, WMS_TabGridSet.tabEditorId, WMS_TabGridSet.tabEditorName, WMS_TabGridSet.tabIsDelete, WMS_TabGridSet.tabRemark) VALUES (:WMS_TabGridSet, :version, :fFrozenColumns, :fIsDefault, :fIsSystemTemp, :fOpeatorID, :fParentID, :fTabName, :fTempCnName, :fTempCode, :fTempEnName, :fTempType, :fUsedType, :tabCreateDate, :tabCreatorId, :tabCreatorName, :tabEditDate, :tabEditorId, :tabEditorName, :tabIsDelete, :tabRemark)
        at com.justep.exception.BusinessException.create(Unknown Source)
        at com.justep.system.data.impl.TableUtilsImplement.ksqlInsert(Unknown Source)
        at com.justep.system.data.impl.TableUtilsImplement.ksqlExecuteUpdate(Unknown Source)
        at com.justep.system.data.KSQL.executeUpdate(Unknown Source)
        at com.justep.system.data.KSQL.executeUpdate(Unknown Source)
        at com.justep.system.data.impl.TableImpl.insert(Unknown Source)
        at com.justep.system.data.impl.TableImpl.save(Unknown Source)
        at com.justep.system.data.impl.TableImpl.save(Unknown Source)
        at com.justep.system.data.BizData.save(Unknown Source)
        at BizProcedure.save(BizProcedure.java:18)
        ... 27 more
Caused by: com.justep.exception.BusinessException: 编码: JUSTEP150039; 提示: 执行sql: INSERT INTO wms_tabgridset (wms_tabgridset.fID, wms_tabgridset.VERSION, wms_tabgridset.FFROZENCOLUMNS, wms_tabgridset.FISDEFAULT, wms_tabgridset.FISSYSTEMTEMP, wms_tabgridset.FOPEATORID, wms_tabgridset.FPARENTID, wms_tabgridset.FTABNAME, wms_tabgridset.FTEMPCNNAME, wms_tabgridset.FTEMPCODE, wms_tabgridset.FTEMPENNAME, wms_tabgridset.FTEMPTYPE, wms_tabgridset.FUSEDTYPE, wms_tabgridset.TABCREATEDATE, wms_tabgridset.TABCREATORID, wms_tabgridset.TABCREATORNAME, wms_tabgridset.TABEDITDATE, wms_tabgridset.TABEDITORID, wms_tabgridset.TABEDITORNAME, wms_tabgridset.TABISDELETE, wms_tabgridset.TABREMARK) VALUES ( ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ), binds: [3B5C631AE0034977ACCACD7E698282DC, 0, null, 1, 0, PSN01, 客户档案信息, wms_tabclient, 客户信息档案爱的色放, ClientInfo, 客户信息档案阿斯蒂芬, forShow, person, null, PSN01, system, null, null, null, 0, null]出错
        at com.justep.exception.BusinessException.create(Unknown Source)
        at com.justep.system.ksql.KSQLUtils.execSqlUpdate(Unknown Source)
        ... 36 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '3B5C631AE0034977ACCACD7E698282DC' for key 'PRIMARY'
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
        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.executeUpdate(PreparedStatement.java:2113)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2049)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2034)
        at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
        at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
        ... 37 more





91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2017-6-30 17:46:35 | 显示全部楼层
复制的时候会把rowid也复制过去,需要自己复制数据后重新给主键复制
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

150

主题

599

帖子

1205

积分

金牌会员

Rank: 6Rank: 6

积分
1205
QQ
 楼主| 发表于 2017-7-3 11:39:29 | 显示全部楼层
jishuang 发表于 2017-6-30 17:46
复制的时候会把rowid也复制过去,需要自己复制数据后重新给主键复制

给主键赋值后,解决问题了。。。。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-26 02:21 , Processed in 0.056842 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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