⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmaddsdedata.frm

📁 ArcEngine 这是基于AE组件的源代码
💻 FRM
字号:
VERSION 5.00
Begin VB.Form frmAddSdeData 
   BorderStyle     =   1  'Fixed Single
   Caption         =   "数据连接"
   ClientHeight    =   6075
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   6780
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   6075
   ScaleWidth      =   6780
   StartUpPosition =   2  'CenterScreen
   Begin VB.Frame FeatureClass 
      Caption         =   "Feature Layer"
      Height          =   1575
      Left            =   0
      TabIndex        =   16
      Top             =   3960
      Width           =   6615
      Begin VB.ListBox ListFeature 
         Height          =   1230
         Left            =   120
         Sorted          =   -1  'True
         TabIndex        =   17
         Top             =   240
         Width           =   6375
      End
   End
   Begin VB.CommandButton ComCancel 
      Caption         =   "取消"
      Height          =   375
      Left            =   5280
      TabIndex        =   14
      Top             =   5640
      Width           =   1215
   End
   Begin VB.CommandButton ComOk 
      Caption         =   "应用"
      Height          =   375
      Left            =   3840
      TabIndex        =   13
      Top             =   5640
      Width           =   1335
   End
   Begin VB.Frame Frame2 
      Caption         =   "版本"
      Height          =   1095
      Left            =   0
      TabIndex        =   10
      Top             =   2760
      Width           =   6615
      Begin VB.CommandButton ComChangeVersion 
         Caption         =   "修改版本"
         Height          =   375
         Left            =   5040
         TabIndex        =   12
         Top             =   360
         Width           =   1335
      End
      Begin VB.CheckBox CheckSaveVersion 
         Caption         =   "保存版本"
         Height          =   255
         Left            =   120
         TabIndex        =   11
         Top             =   360
         Value           =   1  'Checked
         Width           =   1095
      End
      Begin VB.Label LabelVersion 
         Caption         =   "SDE.DEFAULT"
         Height          =   255
         Left            =   1320
         TabIndex        =   15
         Top             =   360
         Width           =   3495
      End
   End
   Begin VB.Frame Frame1 
      Caption         =   "口令"
      Height          =   1695
      Left            =   30
      TabIndex        =   4
      Top             =   960
      Width           =   6615
      Begin VB.CommandButton ComTestConnect 
         Caption         =   "测试连接"
         Height          =   375
         Left            =   5040
         TabIndex        =   9
         Top             =   1200
         Width           =   1335
      End
      Begin VB.TextBox Password 
         Height          =   375
         Left            =   1080
         TabIndex        =   8
         Text            =   "sde"
         Top             =   720
         Width           =   5295
      End
      Begin VB.TextBox User 
         Height          =   375
         Left            =   1080
         TabIndex        =   7
         Text            =   "sde"
         Top             =   240
         Width           =   5295
      End
      Begin VB.Label Label4 
         Caption         =   "密    码"
         Height          =   255
         Left            =   120
         TabIndex        =   6
         Top             =   960
         Width           =   975
      End
      Begin VB.Label Label3 
         Caption         =   "用户名"
         Height          =   255
         Left            =   120
         TabIndex        =   5
         Top             =   360
         Width           =   975
      End
   End
   Begin VB.TextBox Database 
      Height          =   375
      Left            =   1080
      TabIndex        =   3
      Text            =   "esri_sde"
      Top             =   600
      Width           =   5295
   End
   Begin VB.TextBox Server 
      Height          =   375
      Left            =   1080
      TabIndex        =   0
      Text            =   "james"
      Top             =   120
      Width           =   5295
   End
   Begin VB.Label Label2 
      Caption         =   "SDE数据库"
      Height          =   255
      Left            =   120
      TabIndex        =   2
      Top             =   600
      Width           =   975
   End
   Begin VB.Label Label1 
      Caption         =   "SDE服务器"
      Height          =   255
      Left            =   120
      TabIndex        =   1
      Top             =   120
      Width           =   975
   End
End
Attribute VB_Name = "frmAddSdeData"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub ComCancel_Click()
     Unload Me
End Sub
Private Sub ComChangeVersion_Click()
 If Not m_pWorkspace Is Nothing Then
  If m_pWorkspace.Type = esriRemoteDatabaseWorkspace Then
    If TypeOf m_pWorkspace Is IVersionedWorkspace Then
      Set m_pVersionedWorkspace = m_pWorkspace
    End If
  End If
 End If
  'Open the VersionManager if have a valid VersionedWorkspace
  If Not m_pVersionedWorkspace Is Nothing Then
    frmVersionManager.DoModal m_pVersionedWorkspace
  End If
End Sub

Private Sub ComTestConnect_Click()
     If Server.Text <> "" And User.Text <> "" And Database.Text <> "" And Password.Text <> "" Then
       addSDEData Server.Text, Database.Text, User.Text, Password.Text, "", LabelVersion.Caption
     Else
     
     End If
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'加入数据
'
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Public Function addSDEData(ByVal Server As String, ByVal Instance As String, ByVal User As String, _
ByVal Password As String, ByVal FeatureClass As String, Optional ByVal version As String = "SDE.DEFAULT")
    
    On Error GoTo EH
    
    Set m_pWorkspaceFactory = New SdeWorkspaceFactory
    Set m_pPropSet = New PropertySet

    With m_pPropSet '设置ArcSDE连接属性
        .SetProperty "SERVER", Server
        .SetProperty "INSTANCE", Instance
        .SetProperty "USER", User
        .SetProperty "PASSWORD", Password
        .SetProperty "VERSION", version '可选,缺省为SDE.DEFAULT版本
    End With
    
    Set m_pWorkspace = m_pWorkspaceFactory.Open(m_pPropSet, 0)
    Set m_pFeatureWorkspace = m_pWorkspace
    
    ''''''''''''''''''''''''''''''
    Dim pSdeDSName As IDatasetName
    Dim pEnumDSName As IEnumDatasetName
    Set pEnumDSName = m_pWorkspace.DatasetNames(esriDTFeatureClass)
    Set pSdeDSName = pEnumDSName.Next
    ListFeature.Clear
    While Not pSdeDSName Is Nothing
      ListFeature.AddItem pSdeDSName.name
      Set pSdeDSName = pEnumDSName.Next
    Wend
    ''''''''''''''''''''''''''''''''''''''''
    Exit Function
EH:
    MsgBox Err.Description, vbInformation, "加载数据错误"
    ListFeature.Clear
End Function
Private Sub ComOk_Click()

    If ListFeature.SelCount > 0 Then
        ' Set pFeatureDataset = pWorkspace.OpenFeatureDataset("esri_sde")
        Dim pClass As IFeatureClass
        Dim pFeatureDataset As IFeatureDataset
        Dim player As IFeatureLayer
        Dim pSelectFeature As String
        pSelectFeature = Right(ListFeature.Text, Len(ListFeature.Text) - InStr(ListFeature.Text, "."))
        Set pClass = m_pFeatureWorkspace.OpenFeatureClass(pSelectFeature)
        
        Set player = New FeatureLayer
        Set player.FeatureClass = pClass
        player.name = pClass.AliasName
    
        player.Visible = True
        '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
         'Dim pFLDef As IFeatureLayerDefinition
        ' Set pFLDef = player
         ' QI from the FeatureLayer
         'pFLDef.DefinitionExpression = "PARCEL_ID = '53003'"    ' set the definition expression
         'pMxDoc.ActiveView.refresh
         ' frmMDIMap.MapControl.AddLayer player
        '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        'frmMDIMap.MapControl.AddLayer player
       ' m_pDocument.Map.AddLayer pLayer
        Call frmMDIMain.ReRefreshMapControl
        Call frmMDIMain.ReInsertActiveBarTarget
        
     End If
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -