zoukankan      html  css  js  c++  java
  • 打开数据库的另一种方式

    1.IName(名称对象)介绍

     
    数据集对象可以分为两大类,一种是Table,我们无法将Table存储在要素数据集中(可以尝试下),一种是Geodataset,这个是要素类的容器。数据集对象有一个很重要的属性,就是这个Fullname,用这个可
    以返回和数据集相关的名称对象,而这个名称对象有一个很重要的方法Open(),这个可以获取和这个名称对象相关的对象(内存中的),Open()方法的返回值是object,所以用Open方法的时候,我们必须
    心里清楚,自己到底是要得到那个对象,然后QI到我们要的对象上。

    IName对象是一个代表性对象。通过使用IName对象,可以访问它所代表的对象的一些基本属性,而不用将整个对象调入内存。我们用IWorkspace获得一个Workspace,那可是会调入内存的,而IWorkspaceNa
    则不会,除非你用了IWorkspaceName.open.在我看来,那些继承IName的接口,在数据转换和叠加分析时候经常要用到这个。
    IName 是一个抽象类,拥有很多子类,借助它的子类IWorkspaceName也可以打开数据库。打开一个数据库我们要指定它的类型,是个人数据库,还是文件数据库。IWorkspaceName的
    IWorkspaceName.WorkspaceFactoryProgID 属性用于完成这一操作,这个属性是一个枚举的常量类型
      esriDataSourcesGDB.AccessWorkspaceFactory 
      esriDataSourcesFile.ArcInfoWorkspaceFactory 
      esriDataSourcesFile.C adWorkspaceFactory 
      esriDataSourcesGDB.FileGDBWorkspaceFactory 
      esriDataSourcesOleDB.OLEDBWorkspaceFactory 
      esriDataSourcesFile.PC C overageWorkspaceFactory 
      esriDataSourcesRaster.RasterWorkspaceFactory 
      esriDataSourcesGDB.SdeWorkspaceFactory 
      esriDataSourcesFile.ShapefileWorkspaceFactory 
      esriDataSourcesOleDB.TextFileWorkspaceFactory 
      esriDataSourcesFile.TinWorkspaceFactory 

      esriDataSourcesFile.VpfWorkspaceFactory 

       public IWorkspace Get_Workspace(string _pWorkspacePath)
        {
            
            IWorkspaceName pWorkspaceName = new WorkspaceNameClass();
     
            pWorkspaceName.WorkspaceFactoryProgID = "esriDataSourcesGDB.AccessWorkspaceFactory";
     
            pWorkspaceName.PathName = _pWorkspacePath;
            
            IName pName = pWorkspaceName as IName;
     
     
            IWorkspace pWorkspace = pName.Open() as IWorkspace;
     
            return pWorkspace;
     
        }

  • 相关阅读:
    Java实现第九届蓝桥杯螺旋折线
    Java实现第九届蓝桥杯递增三元组
    强大的Mockito测试框架
    搭建eclipse环境下 Nutch+Mysql 二次开发环境
    mysql操作查询结果case when then else end用法举例
    查看mysql数据库及表编码格式
    mysql如何更改character-set-server默认为latin1
    (原创)Linux下MySQL 5.5/5.6的修改字符集编码为UTF8(彻底解决中文乱码问题)
    Ubuntu14连接MySql报错“can't connect to local mysql server through socket '/var/run/mysqld/mysqld.sock'”
    inux下设置mysql数据库字符集utf8
  • 原文地址:https://www.cnblogs.com/qiushuixizhao/p/3242508.html
Copyright © 2011-2022 走看看