zoukankan      html  css  js  c++  java
  • C#粘贴复制数据库中的内容

    // Create new workspace name objects. IWorkspaceName sourceWorkspaceName = new WorkspaceNameClass();
    IWorkspaceName targetWorkspaceName = new WorkspaceNameClass();
    IName targetName = (IName)targetWorkspaceName;

    // Set the workspace name properties.
    sourceWorkspaceName.PathName = @
        "C:\arcgis\ArcTutor\BuildingaGeodatabase\Montgomery.gdb";
    sourceWorkspaceName.WorkspaceFactoryProgID =
        "esriDataSourcesGDB.FileGDBWorkspaceFactory";
    targetWorkspaceName.PathName = @"PartialMontgomery.gdb";
    targetWorkspaceName.WorkspaceFactoryProgID =
        "esriDataSourcesGDB.FileGDBWorkspaceFactory";

    // Create a name object for the source feature class.
    IFeatureClassName featureClassName = new FeatureClassNameClass();

    // Set the featureClassName properties.
    IDatasetName sourceDatasetName = (IDatasetName)featureClassName;
    sourceDatasetName.WorkspaceName = sourceWorkspaceName;
    sourceDatasetName.Name = "Blocks";
    IName sourceName = (IName)sourceDatasetName;

    // Create an enumerator for source datasets.
    IEnumName sourceEnumName = new NamesEnumeratorClass();
    IEnumNameEdit sourceEnumNameEdit = (IEnumNameEdit)sourceEnumName;

    // Add the name object for the source class to the enumerator.
    sourceEnumNameEdit.Add(sourceName);

    // Create a GeoDBDataTransfer object and a null name mapping enumerator.
    IGeoDBDataTransfer geoDBDataTransfer = new GeoDBDataTransferClass();
    IEnumNameMapping enumNameMapping = null;

    // Use the data transfer object to create a name mapping enumerator.
    Boolean conflictsFound = geoDBDataTransfer.GenerateNameMapping(sourceEnumName,
        targetName, out enumNameMapping);
    enumNameMapping.Reset();

    // Check for conflicts.
    if (conflictsFound)
    {
        // Iterate through each name mapping.
        INameMapping nameMapping = null;
        while ((nameMapping = enumNameMapping.Next()) != null)
        {
            // Resolve the mapping's conflict (if there is one).
            if (nameMapping.NameConflicts)
            {
                nameMapping.TargetName = nameMapping.GetSuggestedName(targetName);
            }

            // See if the mapping's children have conflicts.
            IEnumNameMapping childEnumNameMapping = nameMapping.Children;
            if (childEnumNameMapping != null)
            {
                childEnumNameMapping.Reset();

                // Iterate through each child mapping.
                INameMapping childNameMapping = null;
                while ((childNameMapping = childEnumNameMapping.Next()) != null)
                {
                    if (childNameMapping.NameConflicts)
                    {
                        childNameMapping.TargetName = childNameMapping.GetSuggestedName
                            (targetName);
                    }
                }
            }
        }
    }

  • 相关阅读:
    JavaScript之事件委托
    js中的事件委托(事件代理)详解
    CentOS已经安装命令,但提示找不到
    在Linux下创建7种类型的文件
    python源码安装的包的卸载
    新建文件所属组设置
    FFmpeg基础
    微服务架构概念
    一台 Java 服务器可以跑多少个线程?
    「学习的真正作用」​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​写出我心(一百三十八)
  • 原文地址:https://www.cnblogs.com/zuiyirenjian/p/1909657.html
Copyright © 2011-2022 走看看