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

QQ登录

只需一步,快速开始

查看: 1684|回复: 9

[结贴] 将从表中的培训产品字段设为唯一

[复制链接]

133

主题

513

帖子

925

积分

高级会员

Rank: 4

积分
925
发表于 2014-4-30 15:41:24 | 显示全部楼层 |阅读模式
将从表中的培训产品字段设为唯一,写了代码:
mainActivity.dataDetailSaveError = function(event){
         var errornode = event.errorNode.stack;
        if (errornode.indexOf("违反唯一约束条件")) {
                throw new Error("产品编号必须唯一");
        } else
                throw new Error("请看控制台的详细错误信息");
};


不起作用啊


310

主题

4938

帖子

4767

积分

论坛元老

Rank: 8Rank: 8

积分
4767
QQ
发表于 2014-4-30 15:44:58 | 显示全部楼层
你可以再保存前savebefor进行判断,产品字段是否唯一,如果已经存在,则event.cancel = true;取消保存

这个方法,是保存出错的时候才会执行
QQ:179785966
回复 支持 反对

使用道具 举报

133

主题

513

帖子

925

积分

高级会员

Rank: 4

积分
925
 楼主| 发表于 2014-4-30 15:52:50 | 显示全部楼层
本帖最后由 Nacy 于 2014-4-30 15:55 编辑
yinlun 发表于 2014-4-30 15:44
你可以再保存前savebefor进行判断,产品字段是否唯一,如果已经存在,则event.cancel = true;取消保存

这 ...

我的表中有2条一样的数据也可以保存
回复 支持 反对

使用道具 举报

45

主题

4492

帖子

3960

积分

论坛元老

Rank: 8Rank: 8

积分
3960
QQ
发表于 2014-4-30 16:01:52 | 显示全部楼层
Nacy 发表于 2014-4-30 15:52
我的表中有2条一样的数据也可以保存

在概念的关系上设置 唯一
向前进,向前进,我们……
回复 支持 反对

使用道具 举报

310

主题

4938

帖子

4767

积分

论坛元老

Rank: 8Rank: 8

积分
4767
QQ
发表于 2014-4-30 16:02:44 | 显示全部楼层
Nacy 发表于 2014-4-30 15:52
我的表中有2条一样的数据也可以保存

你可以在选择产品的时候,循环去判断产品是否已经存在,好像bizData有个find的方法,也可以用这个方法试试;
QQ:179785966
回复 支持 反对

使用道具 举报

17

主题

355

帖子

772

积分

高级会员

Rank: 4

积分
772
QQ
发表于 2014-4-30 16:07:27 | 显示全部楼层
将从表的字段设置为唯一,用代码控制你就得查询一次数据库,返回结果,之后再判断。
也可以在概念、关系中设置唯一性。
可以在数据库中设置唯一索引,

然后在onSaveError中去抛出自己的异常信息
参考
mainActivity.dataMainSaveError = function(event){
var errornode = event.errorNode.stack;
if(errornode.indexOf("违反唯一约束条件")){
    throw new Error("身份证号必须唯一");
}
else
    throw new Error("请看控制台的详细错误信息");
};
一步一步走向那迦南地......
回复 支持 反对

使用道具 举报

133

主题

513

帖子

925

积分

高级会员

Rank: 4

积分
925
 楼主| 发表于 2014-5-8 10:08:11 | 显示全部楼层
undar 发表于 2014-4-30 16:07
将从表的字段设置为唯一,用代码控制你就得查询一次数据库,返回结果,之后再判断。
也可以在概念、关系中 ...

我在关系中设置唯一后,写代码如下
mainActivity.dataMainSaveError = function(event){
        var errornode = event.errorNode.stack;
        alert(errornode);
        if (errornode.indexOf("违反唯一约束条件")) {
                throw new Error("该客户信息已添加!");
        } else
                throw new Error("请看控制台的详细错误信息");
};

报错如下:Duplicate entry '1234567' for key 2
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2014-5-8 11:32:58 | 显示全部楼层
不同的数据库这个报错是不一样的,违反唯一约束条件是oracle的,那看mysql中报错是什么,自己改一下判断条件
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

133

主题

513

帖子

925

积分

高级会员

Rank: 4

积分
925
 楼主| 发表于 2014-5-8 14:39:10 | 显示全部楼层
jishuang 发表于 2014-5-8 11:32
不同的数据库这个报错是不一样的,违反唯一约束条件是oracle的,那看mysql中报错是什么,自己改一下判断条 ...

数据库时MySQL,报错的意思就是说,添加的数据有2条不能再添加了!
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2014-5-8 15:31:06 | 显示全部楼层
http://bbs.justep.com/forum.php? ... 4&pid=165002550这个帖子不是你发的吗?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-7 07:27 , Processed in 0.114600 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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