找回密码
 注册成为天翎用户
查看: 3010|回复: 16

[已解决] 导入数据Duplicate entry 错误

[复制链接]
zhudongjinyang 发表于 2012-11-23 11:29:07 | 显示全部楼层 |阅读模式
本帖最后由 bess 于 2012-11-27 14:38 编辑

如图:

未命名.jpg

数据会成功导入数据库,但报错,请问如何解决??
bess 发表于 2012-11-23 11:36:47 | 显示全部楼层
本帖最后由 bess 于 2012-11-23 11:41 编辑

您好,烦请将您的excel配置截图显示,同时,请告知您是否勾选了是否为主键,平台的版本号,及异常的回退方式,谢谢!
回复

使用道具 举报

 楼主| zhudongjinyang 发表于 2012-11-23 11:43:09 | 显示全部楼层
配置如下图:
未命名.jpg


并且未勾选主键(勾选后的也测过,一样的效果),其中在“企业名称”的校验脚本中代码如下图:

未命名1.jpg
回复

使用道具 举报

bess 发表于 2012-11-23 11:49:16 | 显示全部楼层
您好,看您的代码,好像是说,如果企业名称这条记录存在,就提示记录存在,不存在,则更新记录进去??
如果是,那么您可以不用写脚本,直接勾选是否为主键即可实现.

如果不是,请告知您具体的需求.
回复

使用道具 举报

 楼主| zhudongjinyang 发表于 2012-11-23 14:30:24 | 显示全部楼层
具体需求:如果导入的企业名称这条记录存在,就提示记录存在;
不存在,则查询用户表。如果用户表中存在扩展字段为当前导入的企业名称的记录(通过企业名称查找用户),则向用户与角色关系表中写入一条数据(为用户分配一角色)。
回复

使用道具 举报

spiral 发表于 2012-11-23 14:52:11 | 显示全部楼层
1.使用queryBySQL()查询数据,该方法返回的是一个对象,这个时候如果一条数据都没有的情况下,datas.size()也会大于0的,因此您if语句里面的判断应该添加一个非空判断
2.“为用户分配一角色”,请问您是指使用脚本模拟在后台为用户分配软件角色的操作,如果您这部分是这样的设计的话,我们是不建议的,因为其中的逻辑比较复杂并不能通过简单的sql语句实现
3.如果您要插入数据和更新数据的话,请使用insertByDSName()和updateByDSName()而不是使用queryBySQL()
回复

使用道具 举报

 楼主| zhudongjinyang 发表于 2012-11-23 15:11:26 | 显示全部楼层
使用queryBySQL()查询数据返回后,我增加了判空的语句,如下图:
未命名1.jpg


结果报错,无详细信息,如下图:
未命名.jpg
回复

使用道具 举报

 楼主| zhudongjinyang 发表于 2012-11-23 15:41:19 | 显示全部楼层
导入配置图表一直加载中,打不开了,应该是系统的BUG

产生原因,校验脚本中包含代码:

           user_datas = queryBySQL(sql_query_user);

        if(user_datas<1){
                                hof_value="001";
               
        }else{
                hof_value="000";
        }
回复

使用道具 举报

bess 发表于 2012-11-23 15:43:24 | 显示全部楼层
您好,请问您这里配置excel导入配置,主要的需求,是向动态表单导入数据,还是主要用来操作用户表和角色表????

同时,这里是校验脚本,为何您一定要在这里通过数据层面操作系统表??
回复

使用道具 举报

 楼主| zhudongjinyang 发表于 2012-11-23 15:55:29 | 显示全部楼层
本帖最后由 zhudongjinyang 于 2012-11-23 15:57 编辑

现在不是操作系统表的问题,使用queryBySQL()查询数据返回结果后,我增加了判空的语句,user_datas!=null后就报错了,这个判空的方法是什么啊??

如下图:
未命名.jpg
回复

使用道具 举报

本版积分规则

手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-14 19:21

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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