ThinkGeo.com    |     Documentation    |     Premium Support

Query Tool get distinct values

Hi



I am trying to use the query tool but can’t get it to work 



I have loaded a shapefile into a ShapeFileLayer and then try to get a distinct list of values from one of the columns




ShapeFileFeatureLayer.BuildIndexFile(file, BuildIndexMode.DoNotRebuild);
               var layer = new ShapeFileFeatureLayer(file, ShapeFileReadWriteMode.ReadOnly);
               layer.Open();
         
          
                   // set style categories
                   var sql = String.Format(“Select distinct [{0}] from [{1}]”, CategoryColumn, file);
                   var columns = layer.QueryTools.ExecuteQuery(sql);

This however does not work



Is this not the correct way to do this?



Thanks



Murray

I think my initial problem was the name of the layer. 
  
 I now set the name   
  
 [Code]
  layer.Name = "test";
                    // set style categories
                    var sql = String.Format("Select distinct  {0} from test", CategoryColumn);
                    var columns = layer.QueryTools.ExecuteQuery(sql); 
  
 And I get an error StartIndex cannot be less than zero 
  
 Any ideas?

Hi Murray, 
  
 Thanks for your post, we tried to recreate the problem but the problem didn’t show up on our end, following is our test code, would you please check it and tell us what we missed? 
  
             ShapeFileFeatureLayer worldLayer = new ShapeFileFeatureLayer(@"…\SampleData\Data\Countries02.shp"); 
             worldLayer.Open(); 
             string sql = “select distinct CNTRY_NAME from Countries02”; 
             worldLayer.QueryTools.ExecuteQuery(sql); 
  
 If the problem is still there? if possible, would you please provide us your data for a further test, you could upload it or  send it to forumsupport@thinkgeo.com
  
 Waiting for your further information 
  
 Summer

Thanks Summer 
  
 your example helped me work out where I went wrong. 
  
 Its all working now 
  
 regards 
  
 Murray

Hi Murray, 
  
 Great to hear it helped, if you have any more question, please feel free to let us know. 
  
 Best Regards 
  
 Summer