资源简介

这个范例主要是实现SQL查询中的分组查询,可以查询在一定的空间范围内各个地物的数目,这个在实践中很用的较广,比如查询某一区域内A类建筑、B类建筑、C类建筑的数目,有利于后续的小区的建设等等,但是这个查询只能属性查询,不能进行空间查询。

资源截图

代码片段和文件信息

package com.supermap.Query;

import com.supermap.data.CursorType;
import com.supermap.data.DatasetVector;
import com.supermap.data.Datasource;
import com.supermap.data.DatasourceConnectionInfo;
import com.supermap.data.EngineType;
import com.supermap.data.QueryParameter;
import com.supermap.data.Recordset;
import com.supermap.data.Workspace;

public class Query {

public static void main(String[] args){

//打开工作空间
Workspace wksp = new Workspace();
DatasourceConnectionInfo dsinfo = new DatasourceConnectionInfo();
String path = “D:/Program Files (x86)/eclipse32-3.6-adt/Workspace/testdata/testdata.udb“;
dsinfo.setServer(path);
dsinfo.setEngineType(EngineType.UDB);

Datasource ds = wksp.getDatasources().open(dsinfo);
if(ds==null){
System.out.println(“数据源打开失败“);
return;
}else{
DatasetVector dt = (DatasetVector)ds.getDatasets().get(0);

//定义一个查询参数对象
QueryParameter qpt = new QueryParameter();
qpt.setHasGeometry(false);
qpt.setCursorType(CursorType.STATIC);

//设置分组查询参数
qpt.setGroupBy(new String[]{“test“});

//设置查询条件
qpt.setAttributeFilter(“SmX>100“);
qpt.setAttributeFilter(“SmX<105“);
qpt.setAttributeFilter(“SmY>20“);
qpt.setAttributeFilter(“SmY<25“);
qpt.setResultFields(new String[]{“test““count(smid) as testu“});

//进行查询
Recordset rdst = dt.query(qpt);

//将查询结果输出
int number = 0;
while(!rdst.isEOF()){
rdst.getFieldValue(“testu“);
System.out.println(“--------test=“+number+“总共“+rdst.getFieldValue(“testu“)+“条----------“);
rdst.moveNext();
number++;
}
}
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        437  2014-08-13 08:55  QueryParameter\.classpath

     文件        390  2014-08-13 08:54  QueryParameter\.project

     文件        629  2014-08-13 08:55  QueryParameter\.settings\org.eclipse.jdt.core.prefs

     文件       3052  2014-08-25 14:02  QueryParameter\bin\com\supermap\Query\Query.class

     文件       1701  2014-08-25 14:02  QueryParameter\src\com\supermap\Query\Query.java

     文件      38768  2014-08-13 11:03  QueryParameter\testdata\testdata.udb

     文件     319488  2014-08-13 11:35  QueryParameter\testdata\testdata.udd

     目录          0  2014-08-13 08:56  QueryParameter\bin\com\supermap\Query

     目录          0  2014-08-13 08:56  QueryParameter\src\com\supermap\Query

     目录          0  2014-08-13 08:56  QueryParameter\bin\com\supermap

     目录          0  2014-08-13 08:56  QueryParameter\src\com\supermap

     目录          0  2014-08-13 08:56  QueryParameter\bin\com

     目录          0  2014-08-13 08:56  QueryParameter\src\com

     目录          0  2014-08-13 08:54  QueryParameter\.settings

     目录          0  2014-08-13 08:56  QueryParameter\bin

     目录          0  2014-08-13 11:35  QueryParameter\Dumps

     目录          0  2014-08-13 08:56  QueryParameter\src

     目录          0  2014-08-22 14:44  QueryParameter\testdata

     目录          0  2014-08-22 16:27  QueryParameter

----------- ---------  ---------- -----  ----

               364465                    19


评论

共有 条评论