Exporting selected features to a new shapefile

Well something like this should do it:

Dim featureLayer As IFeatureLayer = CType(layer, IFeatureLayer)
Dim queryFilter As IQueryFilter = New QueryFilter()
queryFilter.SubFields = "*"
queryFilter.WhereClause = "TestDone<>0"

Dim featCur As IFeatureCursor = featureLayer.Search(queryFilter, False)

See the SQL reference


You are using the IExportOperation interface, it allows you to specify the query filter when exporting data so that you do not need to deal with cursors yourself.

You can modify your code by first creating the query filter:

var queryFilter = new QueryFilterClass();
queryFilter.SubFields = "*";
queryFilter.WhereClause = "NOT TestDone=0";

Then adding the query filter as a parameter to your export function and using it in your IExportOperation.ExportFeatureClass call:

public void ExportFeatureClass(string strLayerName, IFeatureClass pFeatureClass, IWorkspace pOutWorkspace, ISpatialReference pSpatialReference, IGeometryDef pGeometryDef, IQueryFilter pQueryFilter)
{
    ...
    pExportOperation.ExportFeatureClass((IDatasetName)pInFeatureClassName, pQueryFilter, null, pGeometryDef, pOutFeatureClassName, 0);
    ...
}

Tags:

Arcobjects