在MapX中,查询一个值,可以使用layer.Search,对效率无要求时完全无问题. 稍微要求点效率, 可以给要查询的字段加上索引(MapX加索引方法至今我不知道,MapBasic宏可以使用Create Index On TabName (FieldName)方法实现)。
但若效率要求比较高,怎么办?有个方法:给查询字段加上索引,这里是指单字段查询!然后设置layer的KeyField,再使用 Layer.FeatureKeyFromFeatureName(KeyValue),keyvalue就是你要查的数据,返回一个FieldKey,若未查到会抛出一个异常,好像是#1077。这个方法的效率一般情况比Search高N倍!!!
但若效率要求比较高,怎么办?有个方法:给查询字段加上索引,这里是指单字段查询!然后设置layer的KeyField,再使用 Layer.FeatureKeyFromFeatureName(KeyValue),keyvalue就是你要查的数据,返回一个FieldKey,若未查到会抛出一个异常,好像是#1077。这个方法的效率一般情况比Search高N倍!!!