QueryBySQL() public method

在指定的地图上,执行 SQL 查询。
public QueryBySQL ( string mapName, QueryParameterSet queryParameterSet ) : QueryResult
mapName string 地图名称。
queryParameterSet SuperMap.Connector.Utility.QueryParameterSet 查询参数集。可对某个地图的多个图层进行查询,单个图层的查询参数在queryParameters.queryParams[i]中进行设置。
return SuperMap.Connector.Utility.QueryResult
Example #1
0
        public void QueryTextLayerTest()
        {
            Map map = new Map("http://" + ip + ":8090/iserver/services/map-world/rest");
            QueryParameterSet queryParameterSet = new QueryParameterSet();
            queryParameterSet.QueryOption = QueryOption.ATTRIBUTEANDGEOMETRY;
            queryParameterSet.QueryParams = new QueryParameter[1];
            queryParameterSet.QueryParams[0] = new QueryParameter("ContinentLabel@World");
            queryParameterSet.QueryParams[0].AttributeFilter = "SmID<20";
            queryParameterSet.ReturnContent = true;
            QueryResult qr = map.QueryBySQL("世界地图", queryParameterSet);

            Assert.IsTrue(qr != null);
        }
Example #2
0
 public void QueryBySQLTest_Error()
 {
     Map map = new Map("http://" + ip + ":8090/iserver/services/map-world/rest");
     QueryParameterSet queryParameterSet = new QueryParameterSet();
     queryParameterSet.ExpectCount = 10;
     queryParameterSet.QueryOption = QueryOption.ATTRIBUTE;
     queryParameterSet.QueryParams = new QueryParameter[1];
     queryParameterSet.QueryParams[0] = new QueryParameter();
     queryParameterSet.QueryParams[0].AttributeFilter = "smid>1";
     //queryParameterSet.QueryParams[0].Name = "Countries@World";
     queryParameterSet.ReturnContent = true;
     queryParameterSet.ReturnCustomResult = true;
     QueryResult qr = null;
     try
     {
         qr = map.QueryBySQL("世界地图", queryParameterSet);
     }
     catch (ServiceException e)
     {
         Assert.AreEqual(e.Message, "查询目标图层不存在。(null)");
     }
 }
Example #3
0
        public void QueryBySQLTest_QueryParams()
        {
            Map map = new Map("http://" + ip + ":8090/iserver/services/map-world/rest");
            QueryParameterSet queryParameterSet = new QueryParameterSet();
            queryParameterSet.ExpectCount = 20;
            queryParameterSet.QueryOption = QueryOption.ATTRIBUTE;
            queryParameterSet.QueryParams = new QueryParameter[2];
            queryParameterSet.QueryParams[0] = new QueryParameter();
            queryParameterSet.QueryParams[0].AttributeFilter = "smid<10";
            queryParameterSet.QueryParams[0].Name = "Countries@World";
            queryParameterSet.QueryParams[1] = new QueryParameter();
            queryParameterSet.QueryParams[1].AttributeFilter = "smid>1";
            queryParameterSet.QueryParams[1].Name = "ContinentLabel@World";
            queryParameterSet.ReturnContent = true;
            QueryResult qr = map.QueryBySQL("世界地图", queryParameterSet);

            Assert.AreEqual(qr.Recordsets.Length, 2);
            Assert.AreEqual(qr.Recordsets[0].Features.Length, 9);
            Assert.AreEqual(qr.Recordsets[1].Features.Length, 11);
            Assert.AreEqual(qr.Recordsets[0].Features[5].FieldNames[6], "COLOR_MAP");
            Assert.AreEqual(qr.Recordsets[0].Features[5].FieldValues[6], "4");
            Assert.IsNull(qr.Recordsets[1].Features[5].Geometry);
            Assert.AreEqual(qr.Recordsets[0].FieldCaptions.Length, 11);
            Assert.AreEqual(qr.Recordsets[0].FieldCaptions[4], "SQKM");
            Assert.AreEqual(qr.Recordsets[0].Fields.Length, 11);
            Assert.AreEqual(qr.Recordsets[0].Fields[6], "COLOR_MAP");
            Assert.AreEqual(qr.Recordsets[0].DatasetName, "Countries@World");
            Assert.AreEqual(qr.Recordsets[0].FieldTypes[5].ToString(), "DOUBLE");
        }
Example #4
0
 public void QueryBySQLTest_QueryParams1()
 {
     Map map = new Map("http://" + ip + ":8090/iserver/services/map-world/rest");
     QueryParameterSet queryParameterSet = new QueryParameterSet();
     queryParameterSet.ExpectCount = 20;
     queryParameterSet.QueryOption = QueryOption.ATTRIBUTE;
     queryParameterSet.QueryParams = new QueryParameter[2];
     queryParameterSet.QueryParams[0] = new QueryParameter();
     queryParameterSet.QueryParams[0].AttributeFilter = "smid>1";
     queryParameterSet.QueryParams[0].Name = "ContinentLabel@World";
     queryParameterSet.QueryParams[1] = new QueryParameter();
     queryParameterSet.QueryParams[1].AttributeFilter = "smid<10";
     queryParameterSet.QueryParams[1].Name = "Countries@World";
     queryParameterSet.ReturnContent = true;
     QueryResult qr = map.QueryBySQL("世界地图", queryParameterSet);
     Assert.AreEqual(qr.Recordsets.Length, 2);
     Assert.AreEqual(qr.Recordsets[0].Features.Length, 13);
     Assert.AreEqual(qr.Recordsets[1].Features.Length, 7);
 }
Example #5
0
 public void QueryBySQLTest_ReturnResourceInfo()
 {
     Map map = new Map("http://" + ip + ":8090/iserver/services/map-world/rest");
     QueryParameterSet queryParameterSet = new QueryParameterSet();
     queryParameterSet.ExpectCount = 10;
     queryParameterSet.QueryOption = QueryOption.ATTRIBUTE;
     queryParameterSet.QueryParams = new QueryParameter[1];
     queryParameterSet.QueryParams[0] = new QueryParameter();
     queryParameterSet.QueryParams[0].AttributeFilter = "smid>1";
     queryParameterSet.QueryParams[0].Name = "Countries@World";
     queryParameterSet.ReturnContent = false;
     queryParameterSet.ReturnCustomResult = true;
     QueryResult qr = map.QueryBySQL("世界地图", queryParameterSet);
     Assert.AreEqual(qr.CurrentCount, 0);
     Assert.IsNull(qr.Recordsets);
     Assert.IsNotNull(qr.ResourceInfo);
     Assert.AreEqual(qr.TotalCount, 0);
     Assert.AreEqual(qr.ResourceInfo.Bounds.LeftBottom.X, 0);
     Assert.IsNotNull(qr.ResourceInfo.NewResourceID);
     Assert.IsNotNull(qr.ResourceInfo.NewResourceLocation);
     Assert.IsTrue(qr.ResourceInfo.Succeed);
 }