上限和/或下限查询值jdeveloper

时间:2015-01-20 18:16:12

标签: oracle11g jdeveloper

我在jspx文件中有一个查询表单,并且我试图将一些值定义为区分大小写,这意味着我希望能够找到一个名字,所有字母都是大写字母和/或小写,并获取我正确插入名称后将获得的值。 有人能指出我在哪里可以找到完成的事情吗?

提前致谢

--------更新

我的jspx文件中的代码

<af:query id="qryId1" headerText="Search" disclosed="true" 
          value="#bindings.ImplicitViewCriteriaQuery.queryDescriptor}"
          model="#bindings.ImplicitViewCriteriaQuery.queryModel}"
          queryListener="#bindings.ImplicitViewCriteriaQuery.processQuery}"
          queryOperationListener="#{bindings.ImplicitViewCriteriaQuery.processQueryOperation}"
          resultComponentId="::resId1"
          binding="#{backingBeanScope.backing_SearchCustomer.qryId1}"
          maxColumns="3" rows="2" fieldWidth="30%"
          displayMode="compact" saveResultsLayout="never"
          saveQueryMode="hidden" modeChangeVisible="false"/>

1 个答案:

答案 0 :(得分:1)

在视图条件中,对于每个条件项,都有一个复选框Ignore Case。如果要使搜索字段区分大小写,请取消选中它。

如果您使用所有可查询属性来创建搜索,则可以在查询组件的queryListner方法中进行设置。以下是步骤:

为查询组件创建queryListener方法

<af:query id="qryId1" headerText="Search" disclosed="true" value="#{bindings.ImplicitViewCriteriaQuery.queryDescriptor}" model="#{bindings.ImplicitViewCriteriaQuery.queryModel}" queryListener="#{backingBeanScope.searchBean.queryListener}" queryOperationListener="#{bindings.ImplicitViewCriteriaQuery.processQueryOperation}" resultComponentId="::resId1"/>

在queryListener方法中使查询属性不区分大小写

  public void queryListener(QueryEvent queryEvent)
  {
    QueryDescriptor qdesc = (QueryDescriptor) queryEvent.getDescriptor();
    ConjunctionCriterion conCrit = qdesc.getConjunctionCriterion();
    //access the list of search fields
    List<Criterion> criterionList = conCrit.getCriterionList();
    for (Criterion criterion: criterionList)
    {
      ((AttributeCriterion) criterion).setMatchCase(false);
    }
    invokeMethodExpression( "#{bindings.ImplicitViewCriteriaQuery.processQuery}", queryEvent);
  }

  private void invokeMethodExpression(String expr, QueryEvent queryEvent)
  {
    FacesContext fctx = FacesContext.getCurrentInstance();
    ELContext elContext = fctx.getELContext();
    ExpressionFactory eFactory =
      fctx.getApplication().getExpressionFactory();
    MethodExpression mexpr =
      eFactory.createMethodExpression(elContext, expr, Object.class,
                                      new Class[]
        { QueryEvent.class });
    mexpr.invoke(elContext, new Object[]
        { queryEvent });
  }