//3/10/2009	删除工作空间内的所有要素类
        public static void DeleteAllFeatCls(IWorkspace pworkspace)
        {
            IEnumDataset    pEnumFeatDataset = default(IEnumDataset);
            IDataset        pDataset         = default(IDataset);
            IFeatureDataset pFeatDataset     = default(IFeatureDataset);

            pEnumFeatDataset = pworkspace.get_Datasets(esriDatasetType.esriDTAny);
            pEnumFeatDataset.Reset();
            pDataset = pEnumFeatDataset.Next();
            while ((pDataset != null))
            {
                if (pDataset.CanDelete())
                {
                    if (pDataset.Type == esriDatasetType.esriDTFeatureDataset)
                    {
                        pFeatDataset = (IFeatureDataset)pDataset;
                        pFeatDataset.Delete();
                    }
                    else
                    {
                        pDataset.Delete();
                    }
                    //pDataset.Delete()
                    pDataset = pEnumFeatDataset.Next();
                }
            }
        }
示例#2
0
        /// <summary>
        /// 删除工作空间里的所有要素
        /// </summary>
        /// <param name="workspace">工作空间</param>
        public void DeleteAllFeatureClass(IWorkspace workspace)
        {
            IEnumDataset enumDataset = workspace.get_Datasets(esriDatasetType.esriDTAny);

            enumDataset.Reset();
            IDataset dataset = enumDataset.Next();

            while (dataset != null)
            {
                if (dataset.CanDelete())
                {
                    if (dataset.Type == esriDatasetType.esriDTFeatureDataset)
                    {
                        IFeatureDataset featureDataset = dataset as IFeatureDataset;
                        featureDataset.Delete();
                    }
                    else
                    {
                        dataset.Delete();
                    }
                    dataset = enumDataset.Next();
                }
            }
        }
示例#3
0
        private static void WriteOutputBack(IFeatureDataset theInFDataset, IFeatureDataset theOutFDataset)
        {
            //Debug.Print("Can delete " + theInFDataset.Name + "? " + theInFDataset.CanDelete());
            //Debug.Print("Can rename " + theOutFDataset.Name + "? " + theOutFDataset.CanRename());
            string origName = theInFDataset.Name;
            theInFDataset.Delete();
            theOutFDataset.Rename(origName);

            IEnumDataset theEnumDS = theOutFDataset.Subsets;
            IDataset theDS = theEnumDS.Next();

            while (theDS != null)
            {
                //Debug.Print("Need to rename " + theDS.Name);

                string theNewName = theDS.Name;
                while (theNewName.EndsWith("_1"))
                    theNewName = theNewName.Substring(0, theNewName.Length - 2);

                theDS.Rename(theNewName);
                //Debug.Print("Renamed to " + theNewName);
                theDS = theEnumDS.Next();
            }
        }