zoukankan      html  css  js  c++  java
  • 多表级联查询

                DataPage dataPage = this.getDataPage(request);
                String orderBy = request.getParameter(ContextArgument.GRID);
                SH_AREAS sh_areas = this.bean(request, SH_AREAS.class, false);
                
                sh_areas = service.getPcid(sh_areas); 
                DataTable table = service.table(SH_AREASSql.class,sh_areas, orderBy,dataPage);
                FormSource source = this.source(request);
                source.add(ContextArgument.GRID, table, orderBy );
                source.add(ContextArgument.PGINFO, dataPage );
                source.put(modelMap);
    

      

    public DataTable getArea() throws Exception {
    		DataTable result = null;
    
    		SqlCommand command = new SqlCommand();
    		command.setCommandText(SH_AREASSql.cascade);
    		result = this.sqlProvider().executeQuery(command);
    		return result;
    
    	}
    
    	public SH_AREAS getPcid(SH_AREAS sh_areas) {
    		if (!NoneType.isNullOrEmpty(sh_areas.getTEMP1())) { // 将级联属性赋给临时字段TEMP1
    			String split = ",";
    			String[] areasid = StringUtil.split(sh_areas.getTEMP1(), split);
    			if (areasid.length > 1) {
    				if (!NoneType.isNullOrEmpty(areasid[0])) {
    					sh_areas.setTEMP2(areasid[0]); // areasid[0] 省份码
    					sh_areas.setCITYID(areasid[1]); //areasid[1] 城市码
    				} else {
    					sh_areas.setCITYID(areasid[1]);
    				}
    
    			} else {
    				sh_areas.setTEMP2(areasid[0]);
    			}
    		}
    		return sh_areas;
    	}
    

      

    /**
    	 * table方法所需的SQL语句
    	 */
    	public static final String table = "SELECT SH_AREAS.ID, SH_PROVINCE.PNAME, SH_CITIES.CNAME, SH_AREAS.ANAME "   
    									 + "FROM SH_PROVINCE "
    									 + "RIGHT JOIN SH_CITIES ON SH_CITIES.PROVINCEID = SH_PROVINCE.PROVINCEID "
    									 + "RIGHT JOIN SH_AREAS ON SH_AREAS.CITYID = SH_CITIES.CITYID "
    									 + "WHERE {SH_PROVINCE.PROVINCEID = SH_AREAS.TEMP2 } "
    									 + "AND {SH_CITIES.CITYID  = SH_AREAS.CITYID } ";
    	
    	/**
    	 * cascade方法级联获取省市的SQL语句
    	 */
    	public static final String cascade = "SELECT SH_PROVINCE.PROVINCEID  AS VAL ,  SH_PROVINCE.ALEVEL AS ALEVEL, " 
    									   + "SH_PROVINCE.PARENT_ID AS MODUL, SH_PROVINCE.PNAME AS KEY "
    									   + "FROM SH_PROVINCE " 
    									   + "UNION SELECT SH_CITIES.CITYID , SH_CITIES.ALEVEL, SH_CITIES.PROVINCEID ,SH_CITIES.CNAME " 
    									   + "FROM  SH_CITIES";
    	}
    

      

    -------------------------------------------------------------------------
    ## 极客时间全网最便宜最优惠购买方式,优惠券返现 百度网盘 微信关注公众号“选门好课”
    扫描下方二维码关注我的公众号"选门好课",与我一起交流知识
  • 相关阅读:
    this.get_element .style为空或不是对象
    在server2008R2的IIS7中调试asp程序遇到的错误
    Server.Transfer 在两个窗体之间传递参数用法
    页面事务处理 ContextUtil.SetComplete(); 没有 MTS 对象上下文
    VS2008切换设计视图卡死 停止响应
    javascript对象小结
    [JavaScript] 最低公用标准的浏览器文档对象层次
    Linq 此提供程序只支持对返回实体或投影(包含所有标识列)的有序查询使用 问题的解决
    [Design] Factory Pattern
    [Database] SqlServer: Linq to Sql THE DATACONTEXT Change Processing
  • 原文地址:https://www.cnblogs.com/singworld/p/9754778.html
Copyright © 2011-2022 走看看