临时表解决:

情景:输入条码,需要从一数据源A表查询数据,将查询结果显示在基于line表的block上面。

假设BLOCK是基于表line,然后新建临时表line_tmp,并新建唯一索引。

item:barcode 和 indate,其中barcode是条码,indate是条码之后紧接的一个item。

新增数据 :

barcode(post-change):

先将条码匹配的数据查询出来,insert于line_tmp;

indate(when-new-item-instance):

这个触发器每刷一次条码就会触发一次,且紧接着barcode(post-change)。

从line_tmp查询数据,然后一行一行copy到block上。

在block级的post-insert或update后,delete临时表line_tmp数据。

更改数据:

首先查询出block数据,在post-query将block数据装入临时表。

重复上面新增数据的步骤。


以下转载

由于when-validate-item 不能使用go_item(),first_record等,而when-new-item-instance却允许,所以,可以这样处理: 以基本表(id主键,name ,remark,20行每页界面)
  
  在id(主键)的下一导航项,设置为check_uniqueness_button.
  check_uniqueness_button为这个块内的一个按钮,它的when-new-item-instance担任检查该行的重复情况的功能,代码见本贴附录。
  
  另外,手工按check_uniqueness_button,也会执行这段代码,产生手工检查重复情况的功能。
  
  附录代码:
  
  declare
  temprecord number;
  tempval varchar2(20);
  temp_count number :=0;
  
  BEGIN
  go_item('base_table.id');  
  
    temprecord := :system.cursor_record;
    tempval := :base_table.id;
  
    first_record;
    
  if :system.current_value is not  then  ---如果有记录,开始运算
    loop
      if :base_table.id = tempval and :system.cursor_record <> temprecord then
        temp_count := temp_count + 1;
         message('代码有重复,请检查第:' || :system.cursor_record 
         || '行,代码:'|| :base_table.id ||',名称:' ||:base_table.name);
         message('代码有重复,请检查第:' || :system.cursor_record 
         || '行,代码:'|| :base_table.id ||',名称:' ||:base_table.name);
  
      end if;
      next_record;
        if :system.current_value is then
         exit;
        end if;  
    end loop;
    
    if temp_count = 0 then
       message('该行代码没有重复');
    end if;   
    go_record(temprecord);
     go_item('base_table.name');  
  else
   message('光标所有行没有代码为空,请先将光标放在有数值的地方');     
   message('光标所有行没有代码为空,请先将光标放在有数值的地方');         
  end if;
  END;
  
  附录
  check_record_uniqueness 可以检查一个数据块(Data Block)内,主键有无重复的记录。 
  
  使用方法举例: 
  1.Block 上,先设定一个item是主键。 
  2。在主键字段的 when-validate-item trigger 上,加入如下代码: 
    
  check_record_uniqueness; 
  if not form_sucess then 
   clear message; 
   message(数据有重复!"); 
  end if; 
  
  以上代码,可以使用户每输入一条记录时,系统自动检查主键有无重复。 
  
  优点:速度快,代码简单。 
  
  缺点:只能应用于主键。 
  
  最致命的缺点:经测试后发现,它只能检查新输入的数据,与已存盘的数据有无重复。如果新输入的记录与未存盘的记录重复,它不会报警! 
  
  使用建议: 
  
  1。只可用于比较简单的场合,及用户每次输入的资料数目比较少的情况。如果用户大批量输入:如每次输入几十条,甚至上百条,使用check_record_uniqueness便会心惊胆跳了,因为谁也不能保证 ,新输入的数据内会否有重复。 
  
  2。如果不是应用于主键,如果每次用户输入量可能比较大,建议自行编写查重复的代码

转载于:https://www.cnblogs.com/liuweicong39/archive/2012/06/01/2530677.html

判断画布中有重复纪录相关推荐

  1. JS的表单序列化,数组去重,判断数组是否重复等方法

    一.背景 本篇主要是记录一下JS中常用的工具方法.包括表单序列化,判断数组是否重复,数组去重等.做个笔记 二.工具方法 1.表单元素序列化为对象 public function serializeOb ...

  2. 判断字符串中有多少汉字

    如何判断字符串中有多少汉字代码实例: <html xmlns="http://www.w3.org/1999/xhtml" ><head> <titl ...

  3. 给定一个整数数组,判断是否存在重复元素。

    存在重复元素 给定一个整数数组,判断是否存在重复元素. 如果存在一值在数组中出现至少两次,函数返回 true .如果数组中每个元素都不相同,则返回 false 示例 1: 输入: [1,2,3,1] ...

  4. java检测用户是否重复登录_Java web工程判断用户是否重复登录

    前几天,网上找了些朋友的资料,做了一个小功能,验证用户是否重复登录. 原理就是:每一个用户,登录前有一个验证,当第一次登录时,会把其session信息,添加到一个特定的静态变量中.当第二次登录时,验证 ...

  5. SQL Server 表中有重复的数据,无法对重复数据进行更新或删除。

    SQL Server 表中有重复的数据,无法对重复数据进行更新或删除. 弹出错误信息提示窗口提示"已更新或删除的行值要么不能使该行成为唯一行,要么改变了多个行(2行). 通常这种情况是因为表 ...

  6. BZOJ1654 奶牛舞会+tarjan算法(入门题目)+判断图中有几个环

    题目大意: 判断图中有几个环 #include<cstdio> #include<cstring> #include<algorithm> using namesp ...

  7. html怎么校验用户名重复,layui的表单验证支持ajax判断用户名是否重复的实例

    如下所示: 在一个表单中,在提交前我们想判断该用户名是否存在,在layui中不支持.onblur()失去焦点事件,用按钮来手动触发,表单又不太美观,可以使用form表单的verify来进行验证. ht ...

  8. python 判断list 中重复元素最后1次出现的位置

    方法 1 把list 转string 之后使用rfind python 判断list 中重复元素最后1次出现的位置 ,list 中没有直接方法判断 不过string 有find 和 rfind的 ,f ...

  9. js判断数组中重复元素并找出_面试中常遇见的数组去重

    导读 JS数组去重是面试中并不少见的问题,听起来很简单,当你兴高采烈地回答了你的方法之后,你以为这道题就结束了吗?No,一般来说,面试官会继续问你"除了你刚刚说的方法,还有其他更好的方法吗? ...

最新文章

  1. rsync+inotify实现服务器之间文件实时同步--转
  2. Java中的门面设计模式,非常有用!
  3. Chrome安装metamask
  4. CSS实现div悬浮框的代码(兼容IE6)
  5. 【SDOI2013】项链【莫比乌斯反演】【Polya定理】【递推式求通项】【数论】
  6. 第一个smarty例子--分页显示数据
  7. 图像处理算法工程师——1必备技能总结——2面试题大全
  8. JavaScript服务器端开发(函数实参对象arguments使用的几个注意事项)
  9. 管理感悟:一偷懒,必出错
  10. 使用TRADOS翻译软件助力论文写作-基本软件设置、谷歌GOOGLE和百度翻译平台接入
  11. CAMERA效果中有关SHADING的概述
  12. 计算机网络状态机,计算机网络之七:TCP协议(1)
  13. ABAP总结之十一,Enhancement(5)--Field Exits
  14. TaWRKY19/61/82激活糖转运蛋白TaSTP3从而增强小麦条锈病敏感性
  15. vue组件中的data为什么是一个函数
  16. Python服务器开发(1)
  17. 命令行下批量下载网易相册
  18. eplan和西门子plc的对接_Eplan成为西门子PLM解决方案合作伙伴:集成Eplan和Teamcenter系统...
  19. python获取网页验证码_Python识别网站验证码
  20. 宝藏APP,小众但好用

热门文章

  1. python string转int_Python int与string之间的转化
  2. oracle利用游标添加数据库,Oracle数据库游标的类型及使用实例全解
  3. 大数据学习笔记:Hadoop生态系统
  4. 【BZOJ2440】完全平方数,莫比乌斯反演+二分答案+容斥思想
  5. 【BZOJ3531】旅行,树链剖分+开点线段树
  6. android+proguard目录,Android proguard问题:路径可能不是null或空字符串.路径=“空”...
  7. 2017.3.31 棋盘制作 失败总结
  8. Linux下配置简单的图形桌面环境
  9. 【Python】理解Python(1) - Python数据模型,is关键字,类型
  10. 【英语学习】【Level 08】U04 What I love L5 Breathe in, breathe out