我们系统现在存在这样的问题,系统有一个GIS做的地图,当一台客户端在GIS地图上定位一个设备的时候(我们做的是网通的项目),数据库插入一条数据,但是另外一个机器再次定位的时候,首先要做一个查询,但是每次查询的结果都是没有定位过该设备,就能不断的重复定位同一个设备,查询方法如下:public static int findFeatureByDeviceID(String deviceType, String deviceID) {
String featureName = PubFunction.EquipnameToLayername(deviceType);
int isExist = -1;
IFeature feature = null;
try {
ClearAllSelection();
SdeConnection.getConnection().getFeatureWorkspace();
SdeConnection.getConnection().startEditWorkspace();
// IFeatureClass featureClass = SdeConnection.getConnection()
// .getFeatureClassByLayerName(deviceType);
IFeatureLayer featurelayer = new IFeatureLayerProxy(CommonVariable
.getcommonVariable().getLayer(featureName));
QueryFilter queryfilter = new QueryFilter();
queryfilter.setWhereClause("SHEBEILX='" + deviceType
+ "' and SHEBEIID='" + deviceID + "'");
if (featurelayer.getFeatureClass().featureCount(queryfilter) != 0) { // MapControl mapControl = null;
// mapControl.getActiveView().partialRefresh(
// esriViewDrawPhase.esriViewGeoSelection, null,
// mapControl.getActiveView().getExtent());
isExist = -2;
return isExist;
}
IFeatureCursor cursor = featurelayer.search(queryfilter, false); if ((feature = cursor.nextFeature()) != null) { isExist = -2; return isExist; } } catch (final AutomationException e) { e.printStackTrace(); } catch (final IOException e) { e.printStackTrace(); }
return isExist; }
为什么老是查询不到已经定位过的数据哪,明明数据库里有了,但是却查询不到,我已经做了一个星期了,各位帮我看下,谢谢了~