📄 frmaddsdedata.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 + -