ArcEngine属性表连接mdb表

 public void Join(ILayer layer, ITable table, string field1, string field2)
        {
            IFeatureLayer f = layer as IFeatureLayer;
            IFeatureClass ifc = f.FeatureClass;
            //join
            IMemoryRelationshipClassFactory pMemRelClassFactory = new MemoryRelationshipClassFactoryClass();
            IRelationshipClass pRelaClass = pMemRelClassFactory.Open("JOIN", ifc, field1, (IObjectClass)table, field2, "forward", "backward", esriRelCardinality.esriRelCardinalityOneToOne);
            IDisplayRelationshipClass pDisplayRelationshipC = f as IDisplayRelationshipClass;
            pDisplayRelationshipC.DisplayRelationshipClass(pRelaClass, esriJoinType.esriLeftInnerJoin);
            IDisplayTable displaytable = pDisplayRelationshipC as IDisplayTable;
            //IFeatureClass outf = displaytable.DisplayTable as IFeatureClass;
            //return outf;
            //pDisplayRelationshipC.RelationshipClass.DeleteRelationship((IObject)ifc, (IObject)table);
        }
  public ITable itable()
        {
            string filePath = @"C:\Users\54061\Desktop\HWSDData\HWSD.mdb";
            AccessWorkspaceFactory fac = new AccessWorkspaceFactory();
            IFeatureWorkspace pFWS = (IFeatureWorkspace)fac.OpenFromFile(filePath, 0);// 这是用的最多的一种方式.
            return pFWS.OpenTable("HWSD_DATA");
        }

QQ交流群:607330463 GIS开发技术最强交流群   未经允许 禁止转载  可以参考 

猜你喜欢

转载自blog.csdn.net/qq_30430463/article/details/112294765