快速业务通道

DatabaseFilter学习笔记 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20

DatabaseFilter学习笔记

时间:2011-01-21

首先建立数据库控件canton.jcx

这里主要用到该控件的getAllBCanton

/** * @jc:sql command-type="grid" * rowset-name="B_CANTONRowSet" * max-rows="1000" * statement="SELECT CANTON_ID,PLACENAME,ZIP,PRE_PHONE,REMARK,DELETED,CANTON_LEVEL,UPPER_CANTON_ID FROM HAPPYTREE.HT_B_CANTON {sql: filter.getWhereClause ()} {sql: filter.getOrderByClause ()}" */ public RowSet getAllBCanton(DatabaseFilter filter) throws SQLException;

可以看见上面方法的参数是DatabaseFilter类型,我们的主要任务就是传递一个参数到该方法中,方法返回RowSet类型的数据

构建一个jpf页面流

在该页面流中有一个jsp页面负责输入查询的条件select.jsp

代码如下:

新建 Web 应用程序页

Canton_id:

有一个负责显示查询结果的页面grid.jsp

代码为:

select页面表单的action为select,这样在页面流中的方法select如下: /** * @jpf:action * @jpf:forward name="success" path="grid.jsp" */ protected Forward select(DatabaseForm form) { sortFilterService = SortFilterService.getInstance(getRequest()); //实例化一个SortFilterService DatabaseFilter filter = new DatabaseFilter(); //创建一个DatabaseFilter对象filter List list = new ArrayList();//用于存储查询条件FilterTerm DatabaseFilter.FilterTerm query = new DatabaseFilter.FilterTerm(); query.sColumnName = "canton_id";//查询的列为caton_id,canton_id数据库中的一个字段 query.op = DatabaseFilter.opGreater;//比较条件是大于 //这里还有大于、小于、不等于、为空、不为空等条件,根据情况具体设定 //query.value = "000000";//比较的值 query.value = form.getCanton_id(); list.add(query);//比较条件加入 DatabaseFilter.FilterTerm[] term = new DatabaseFilter.FilterTerm[list.size()]; //设定FilterTerm把比较的内容,即where后面的条件 for(int i=0;i term[i] = (DatabaseFilter.FilterTerm)list.get(i);//把条件加入terms } DatabaseFilter.SortTerm[] sterm = new DatabaseFilter.SortTerm[1];//设定排序字段 sterm[0] = new DatabaseFilter.SortTerm(); sterm[0].sColumnName = "placename";//排序字段 sterm[0].op = DatabaseFilter.opDesc;//降序排列 filter = new DatabaseFilter(term,sterm);//构造databasefilter try{ allRows = myControl.getAllBCanton(filter);//执行查询语句,并付给allRows }catch(Exception e){ e.printStackTrace(); } return new Forward("success",new DatabaseForm()); }

至此就ok了,这里只是一个简单的例子,多条件查询只要往list内加入条件就行了.

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号