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

字段重复检验问题

[复制链接]
lzcoco 发表于 2016-2-18 15:20:12 | 显示全部楼层 |阅读模式
本帖最后由 karrman 于 2016-3-1 21:55 编辑

我弄了一段代码进行重复判断,我放在字段的检验里面,能正常的是检验,可是当我点开一条数据编辑后保存后,一直提示重复,请教是不是我放的位置不对?或者是代码有什么问题?
  1. var retvar = "";
  2. var doc=getCurrentDocument();
  3. var tab=doc.getFormname();
  4. var dql1 = "$formname  = '"+tab+"'";
  5. dql1+=" and Phone1='"+getItemValue("Phone1")+"'and Name='"+getItemValue("Name")+"'";
  6. var doc1 = findByDQL (dql1);
  7. if (doc1 !=null)
  8. {
  9. retvar  = "已存在重复!";
  10. }
  11. retvar;
复制代码
myApps 发表于 2016-2-18 15:45:50 | 显示全部楼层
if (doc1 !=null && doc1 != "")
回复

使用道具 举报

 楼主| lzcoco 发表于 2016-2-18 16:17:50 | 显示全部楼层
myApps 发表于 2016-2-18 15:45
if (doc1 !=null && doc1 != "")

还是一样的.是放在表单字单检验里面吧?
回复

使用道具 举报

myApps 发表于 2016-2-18 16:43:43 | 显示全部楼层
你还需要校验查出来的文档 不是当前文档;否则查出来的文档为当前文档时,就无限重复了
回复

使用道具 举报

karrman 发表于 2016-2-19 22:42:52 | 显示全部楼层
你的脚本是逻辑的问题,需要去掉当前记录进行判断,要不然sql可能在数据库查询到当前的记录,就会一直报错
var retvar = "";
var doc=getCurrentDocument();
var docid=doc.getId();
var tab=doc.getFormname();
var dql1 = "$formname  = '"+tab+"'";
dql1+=" and Phone1='"+getItemValue("Phone1")+"'and Name='"+getItemValue("Name")+"' and $id!='"+docid+"'";
var doc1 = findByDQL (dql1);
if (doc1 !=null)
{
retvar  = "已存在重复!";
}
retvar;
回复

使用道具 举报

 楼主| lzcoco 发表于 2016-2-20 15:24:05 | 显示全部楼层
karrman 发表于 2016-2-19 22:42
你的脚本是逻辑的问题,需要去掉当前记录进行判断,要不然sql可能在数据库查询到当前的记录,就会一直报错
...

确实是这样的,谢谢!!!
回复

使用道具 举报

karrman 发表于 2016-2-20 20:17:55 | 显示全部楼层
感谢楼主反馈,可以结贴
回复

使用道具 举报

本版积分规则

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

GMT+8, 2026-8-14 02:18

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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