基于Cache数据库的数据重复验证
来源:互联网 发布:js遍历数组foreach 编辑:程序博客网 时间:2024/05/17 07:21
此方法基于Cache数据库的索引结构,根据数据rowid,code,desc进行数据重复验证,确保插入数据的code及desc字段保持唯一约束
/// CreatDate:2017-08-05
/// Description:数据校验方法 根据索引校验代码和描述是否存在
/// Table:User.MBDPModule
/// Input:rowid:String code:String desc:String
/// Output:
/// Return:1:数据重复 0:数据不重复
/// Others:
/// w ##class(web.DHCBL.CT.MBDPModule).FormValidate(2,"mokuai1","")
ClassMethod FormValidate(id As %String,code As %String,desc As %String)As %String
{
new (id,code,desc)
s flag="",flagc="",flagd=""
s:code'="" code=$$ALPHAUP^SSUTIL4(code)//此处用于转换成大写
s:desc'="" desc=$$ALPHAUP^SSUTIL4(desc)//此处用于转换成大写
s:code'="" flagc=$d(^MBDP("PMO",0,"Code",code))
s:desc'="" flagd=$d(^MBDP("PMO",0,"Desc",desc))
if (id="")//如果为空,增加时的重复判断
{
if ((flagc>0)||(flagd>0))
{
s flag=1//返回重复标志
}
else
{
s flag=0//返回不重复标志
}
}
else //如果不为空,修改时的重复判断
{
s idc=""
s idd=""
s:code'="" idc=$o(^MBDP("PMO",0,"Code",code,0))
s:desc'="" idd=$o(^MBDP("PMO",0,"Desc",desc,0))
if ((idc'="")&(idc'=id)&(flagc>0))||((idd'="")&(idd'=id)&(flagd>0))s flag=1//返回重复标志
else s flag=0//返回不重复标志
}
q flag
}
当前台传回rowid为空时(此时为新增操作),通过建立在code,desc字段上的索引判断前台传入的code及desc是否在数据库中已存在数据,当数据存在时$d()返回值为01(索引本身没有值,但下一个节点为RowID),此时返回1,表示此数据已存在,否则返回0,表示数据不重复.当前台传回rowid,时,为修改操作,在判断时需忽略自身进行重复验证(idc'=id).
- 基于Cache数据库的数据重复验证
- JQuery validate 验证数据是否与数据库中数据重复
- 基于BootstrapValidator的数据验证
- 基于Retrofit2,okhttp3的数据缓存(cache)技术
- 基于外部OS验证的数据库用户
- 删除数据库中重复数据的技巧
- 删除数据库中重复数据的技巧
- 删除数据库中重复数据的方法
- oracle数据库中的重复数据的删除
- mysql删除数据库的重复数据
- 查找数据库冲重复的数据
- Oracle数据库删除重复数据的情况
- 如何删除数据库中重复的数据
- MySql数据库去除重复的数据
- 删除数据库中重复数据的方法。
- 数据库的连接以及处理重复数据
- 关于数据库重复数据的删除
- 基于ASP.NET的数据验证技术研究
- Leetcode 189. Rotate Array
- 多级反向代理获取真实客户端IP
- Properties文件的解析
- pl/sql 连接数据库
- JSON.stringify兼容
- 基于Cache数据库的数据重复验证
- 高效读写消息队列SafeQueue
- Go 关键字 defer 的一些坑你需要踩踩
- jsonp实现原理及核心代码例子
- 字典序排列之后, 求其中的第m个数
- python 基础编程之求两个数组的交集
- LintCode 子树
- matlab读写文件
- miniui datagrid 多表头