AO中直接加载ArcSDE矢量数据 ,给个思路也行~

解决方案 »

  1.   

    晕,兄弟是搞GIS的吧?
    Public Function addSDEData(Server As String, Instance As String, User As String, _
     Password As String, featureClass As String, Optional version As String = "SDE.DEFAULT") 
     On Error GoTo EH Dim pWorkspaceFactory As IWorkspaceFactory
     Dim pWorkspace As IFeatureWorkspace
     Dim pPropSet As IPropertySet
     Dim pClass As IFeatureClass
     Dim pLayer As IFeatureLayer
     Dim pMxDoc As IMxDocument Set pWorkspaceFactory = New SdeWorkspaceFactory
     Set pPropSet = New PropertySet With pPropSet '设置ArcSDE连接属性
      .SetProperty "SERVER", Server
      .SetProperty "INSTANCE", Instance
      .SetProperty "USER", User
      .SetProperty "PASSWORD", Password
      .SetProperty "VERSION", version '可选,缺省为SDE.DEFAULT版本
     End With Set pWorkspace = pWorkspaceFactory.Open(pPropSet, 0)
     Set pClass = pWorkspace.OpenFeatureClass(featureClass)
     Set pLayer = New FeatureLayer
     Set pLayer.featureClass = pClass
     pLayer.Name = pClass.AliasName
     
     Set pMxDoc = ThisDocument
     pMxDoc.AddLayer pLayer
     pMxDoc.ActiveView.PartialRefresh esriViewGeography, pLayer, Noting
     Exit Function
    EH:
     MsgBox Err.Description, vbInformation, "加载数据错误"
    End Function