`

ADF11g: VO SQL中存在绑定in查询

    博客分类:
  • ADF
 
阅读更多

 

select xs.xsid,
       xs.xh,
       xs.xm,
       xs.sfzh,
       xs.nj,
       xs.xqdm,
       xs.xqmc,
       xs.yxdm,
       xs.yxmc,
       xs.zydm,
       xs.zymc,
       xs.bjdm,
       xs.bjmc,
       yj.xn,
       nvl(sum(decode(yj.fylx, 1, jl.je)), 0) xf, --已缴学费  
       nvl(sum(decode(yj.fylx, 2, jl.je)), 0) zsf --已缴住宿费  
  FROM sfgl_xsxx xs,
       sfgl_yjfy yj,
       (SELECT t.je, t.yjfyid, t.xn, t.create_by, t.create_time FROM sfgl_jfjl t 
        WHERE t.jflx in (select * from TABLE(CAST(:p_jflx AS IN_VARCHAR))) 
        and t.pjh is null
        and (t.create_by like:p_czr or :p_czr is null)
        and (to_char(t.create_time,'yyyy-MM-dd HH24:mi:ss') >=:p_kssj or :p_kssj is null)
        and (to_char(t.create_time,'yyyy-MM-dd HH24:mi:ss') <=:p_jssj or :p_jssj is null)
        ) jl 
 where 
 xs.xsid = yj.yjyh(+)
 AND yj.yjfyid = jl.yjfyid
 group by xs.xsid,
          xs.xh,
          xs.xm,
          xs.sfzh,
          xs.nj,
          xs.xqdm,
          xs.xqmc,
          xs.yxdm,
          xs.yxmc,
          xs.zydm,
          xs.zymc,
          xs.bjdm,
          xs.bjmc,
          yj.xn
 order by xs.xh

 上图代码中 条件 

t.jflx in (select * from TABLE(CAST(:p_jflx AS IN_VARCHAR))) 等于 t.jflx in (:p_jflx)


绑定变量 选 Array 类型,并且勾选Required。

然后oracle 数据中创建 in_varchar 类型:


 

然后voImpl 中则可以使用查询变量了:



 
 

        String[] jflxs = jflx.split(",");
        Array jflxArr = new Array(jflxs);
        HashMap context = new HashMap();
        context.put(DomainContext.ELEMENT_SQL_NAME, "IN_VARCHAR");
        context.put(DomainContext.ELEMENT_TYPE, String.class);
        jflxArr.setContext(null, null, context);
        this.setNamedWhereClauseParam("p_jflx", jflxArr);
        this.setp_jflx(jflxArr);
        this.executeQuery();

 

 
 功能摘自--收费系统 发票批量打印的查询

 

 

 

 

  • 大小: 53.8 KB
  • 大小: 42.5 KB
  • 大小: 59.9 KB
  • 大小: 33.3 KB
分享到:
评论

相关推荐

    Oracle EBS OAF(ADF) VO(View Object)开发中的绑定方式(Binding Style)的介绍

    VO开发过程中,绑定方式(Binding Style)是VO中定义数据绑定策略的关键技术点,主要涉及如何在VO的whereclause中动态地传值。了解这些绑定方式对于有效开发和优化Oracle EBS应用程序是必不可少的。 在Oracle EBS ...

    Oracle ADF开发实战指南

    - **使用SQL查询创建VO**:直接使用SQL查询创建VO。 - **使用静态列表创建VO**:适用于固定数据集的情况。 - **常用的VO属性**:如查询模式、WHERE子句等。 - **VO工作原理**:VO通过查询数据源获取数据,并支持...

    ADF应用程序样例(中文)

    - **概念**:VO用于操作通过SQL查询返回的结果集。 - **作用**:提供了一种方式来查询数据,并可以通过关联EO来更新数据库。 ##### **2.3 Application Module (AM)** - **概念**:AM作为VO或AM的容器,并管理事务...

    ADF学习教程

    - **View Object (VO)**:VO基于SQL查询生成,用于操作查询结果集。VO可以执行所有SQL操作,并且必须与EO关联才能影响数据库。 - **Application Module (AM)**:AM是VO和其他AM的容器,同时管理事务。通过AM,...

    Oracle-ADF-Projects:第一个项目

    在这个"Oracle-ADF-Projects:第一个项目"中,我们将探讨Oracle ADF的基础知识以及如何开始你的第一个Oracle ADF项目。 1. **Oracle ADF简介**: Oracle ADF包含一系列的组件和服务,如ADF Faces、ADF Model、ADF ...

Global site tag (gtag.js) - Google Analytics