GP工具生成的table,如何打开成itable


            Geoprocessor GP = null;
            IGeoProcessorResult results = null;
            IQueryFilter pQueryFilter = null;
            IGPUtilities pGPUtil = null;
            try
            {
                GP = new Geoprocessor();
                GP.OverwriteOutput = true;
                pGPUtil = new GPUtilitiesClass();
                ZonalStatisticsAsTable pZonalSta = new ZonalStatisticsAsTable();
                pZonalSta.in_zone_data = inZoneData;
                pZonalSta.zone_field = zoneField;
                pZonalSta.in_value_raster = inValueRaster;
                pZonalSta.out_table = outTable;
                results = (IGeoProcessorResult) GP.Execute(pZonalSta, null);
                pGPUtil.DecodeTableView(results.GetOutput(0), out dt, out pQueryFilter);
                dt.RowCount(pQueryFilter);
            }
            catch (Exception e)
            {
                StringBuilder errorBuilder = new StringBuilder();
                for (int i = 0; i < GP.MessageCount; i++)
                    errorBuilder.Append(GP.GetMessage(i));
                throw new Exception("区域分析:" + errorBuilder.ToString());

            }
 
使用gp生成的table,然后使用
 ITable pTable;
            IFeatureWorkspace pFeatureWorkspace = null;
            try
            {
                pFeatureWorkspace = OpenFeatureWorkspace(filePath);
                pTable = pFeatureWorkspace.OpenTable(tableName);
                return pTable;
            }
            catch (Exception ex)
            {

                throw new FailToOpenDataException(ex);
            }
进行打开,结果报错异常来自 HRESULT:0x80040351,用arcgis能够正常打开,请问是什么原因
已邀请:
1,pGPUtil.DecodeTableView(results.GetOutput(0), out dt, out pQueryFilter);返回的dt就是ITable吧?
2,可以试下执行完GP工具后,关闭程序,然后代码打开该table是否正常,如果正常的话,可能是因为执行完GP工具,该Table仍然被占用导致的,可以释放掉再重新打开试试。

要回复问题请先登录注册