What is the difference between searching a featurelcass versus a featurelayer?
Returns an object cursor that can be used to fetch feature objects selected by the specified query.
Use this method to return a read-only cursor of the layer’s features.
There is ‘Search; method in both IFeatureLayer and IFeatureClass Interface. Both returns cursor based on search criteria. What is difference between these?. This question is obivious for a novice. If you have gone through Help documentation you can figure out easily. Else here is a straight answer
They are the same unless you have a definition query assigned to the layer. In that case the FeatureLayer.Search will only return features that also meet the definition query criteria, while FeatureClass.Search will return all features regardless of definition query.
This FeatureLayer Search method will not work on joined fields. If the FeaureLayer has any joins, you should use the IGeoFeatureLayer::SeachDisplayFeatures method instead.
You cannot use the cursor returned by IFeatureLayer::Search to update features, instead use IFeatureClass::Update.
I hope this post helps you to understand difference in search method between two interfaces. If you are beginner this tip will be very useful to you. If you have any doubts/clarifications, please feel free to comment. Thanks!