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

📄 frmsub.frm

📁 ao例子
💻 FRM
字号:
VERSION 5.00
Begin VB.Form frmSub 
   Caption         =   "Form1"
   ClientHeight    =   6405
   ClientLeft      =   60
   ClientTop       =   450
   ClientWidth     =   6825
   LinkTopic       =   "Form1"
   ScaleHeight     =   6405
   ScaleWidth      =   6825
   Begin VB.CommandButton Command2 
      Caption         =   "加载sde"
      Height          =   495
      Left            =   3840
      TabIndex        =   17
      Top             =   5640
      Width           =   1215
   End
   Begin VB.CommandButton Command1 
      Caption         =   "显示"
      Height          =   495
      Left            =   1920
      TabIndex        =   16
      Top             =   5640
      Width           =   1215
   End
   Begin VB.ComboBox Combo1 
      Height          =   300
      Left            =   2400
      TabIndex        =   14
      Top             =   4320
      Width           =   3855
   End
   Begin VB.Frame frmsde 
      Caption         =   "SDE选项"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   11.25
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   3495
      Left            =   0
      TabIndex        =   0
      Top             =   0
      Width           =   6975
      Begin VB.TextBox Txtservice 
         Height          =   375
         Left            =   4560
         TabIndex        =   7
         Text            =   "esri_sde"
         Top             =   360
         Width           =   1935
      End
      Begin VB.TextBox Txtserver 
         Height          =   375
         Left            =   1320
         TabIndex        =   6
         Text            =   "lhb"
         Top             =   360
         Width           =   1935
      End
      Begin VB.TextBox Txtdb 
         Height          =   375
         Left            =   1320
         TabIndex        =   5
         Text            =   "upgis"
         Top             =   960
         Width           =   1935
      End
      Begin VB.TextBox Txtuser 
         Height          =   375
         Left            =   1320
         TabIndex        =   4
         Top             =   1680
         Width           =   1935
      End
      Begin VB.TextBox Txtpassword 
         Height          =   375
         Left            =   4560
         TabIndex        =   3
         Top             =   1680
         Width           =   1935
      End
      Begin VB.TextBox Txtversion 
         Height          =   375
         Left            =   4560
         TabIndex        =   2
         Top             =   960
         Width           =   1935
      End
      Begin VB.CommandButton cmdconnect 
         Caption         =   "测试连接(&T)"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   11.25
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   495
         Left            =   3840
         TabIndex        =   1
         Top             =   2640
         Width           =   1815
      End
      Begin VB.Label Label3 
         Caption         =   "服 务:"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   11.25
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   255
         Left            =   3480
         TabIndex        =   13
         Top             =   360
         Width           =   975
      End
      Begin VB.Label Label2 
         Caption         =   "服务器:"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   11.25
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   375
         Left            =   240
         TabIndex        =   12
         Top             =   360
         Width           =   975
      End
      Begin VB.Label Label4 
         Caption         =   "数据库:"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   11.25
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   255
         Left            =   240
         TabIndex        =   11
         Top             =   960
         Width           =   975
      End
      Begin VB.Label Lbluser 
         Caption         =   "用 户:"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   11.25
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   255
         Left            =   240
         TabIndex        =   10
         Top             =   1800
         Width           =   975
      End
      Begin VB.Label Lblpassword 
         Caption         =   "密 码:"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   11.25
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   255
         Left            =   3480
         TabIndex        =   9
         Top             =   1680
         Width           =   975
      End
      Begin VB.Label Lblversion 
         Caption         =   "版 本:"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   11.25
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   255
         Left            =   3480
         TabIndex        =   8
         Top             =   960
         Width           =   975
      End
   End
   Begin VB.Label Label1 
      Caption         =   "入库栅格图像列表"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   10.5
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Left            =   120
      TabIndex        =   15
      Top             =   4200
      Width           =   1815
   End
End
Attribute VB_Name = "frmSub"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'设计思路;通过验证sde连接,之后把所有栅格图像显示在combo1上。点击按钮后就能显示图像
Option Explicit
   Public strserver As String
    Public strservice As String
    Public strDB As String
    Public struser As String
    Public strPWD As String
    Public strversion As String


Public Property Let Application(ByRef pApp As IApplication)

  Set m_pApp = pApp
    
End Property
Public Sub cmdconnect_Click()
    On Error GoTo errortip:

 
    '以上为sde的信息
    
    strserver = Txtserver.Text
    strservice = Txtservice.Text
    strDB = Txtdb.Text
    struser = Txtuser.Text
    strPWD = Txtpassword.Text
    strversion = Txtversion.Text

    Dim psdeppset As IPropertySet
    Set psdeppset = New PropertySet
    
    '设置信息
    With psdeppset
        .SetProperty "server", strserver
        .SetProperty "instance", strservice
        .SetProperty "user", struser
        .SetProperty "database", strDB
        .SetProperty "password", strPWD
        .SetProperty "version", strversion
    End With
    
    Dim pFact As IWorkspaceFactory
    Set pFact = New SdeWorkspaceFactory
    Dim ws As IWorkspace
    Set ws = pFact.Open(psdeppset, 0)   'ws是一个打开的数据库,传回的一个量
 
    If ws Is Nothing Then
        MsgBox "SDE连接失败!", vbInformation, "测试结果"
'        cmdinput.Enabled = False
    Else
    
    MsgBox "SDE连接成功!", vbInformation, "测试结果"

End If

Exit Sub

errortip:
MsgBox "出错"

End Sub


Private Sub Command1_Click()
Dim pprop As IPropertySet
Set pprop = New PropertySet
With pprop '连接属性设置
    .SetProperty "server", strserver
    .SetProperty "instance", strservice
    .SetProperty "user", struser
    .SetProperty "database", strDB
    .SetProperty "password", strPWD
    .SetProperty "version", strversion
End With

Dim pFact As IWorkspaceFactory
Dim mfact As IWorkspaceFactory
Set mfact = New RasterWorkspaceFactory
Set pFact = New SdeWorkspaceFactory '实例化
Dim ws As IWorkspace
Set ws = pFact.Open(pprop, 0) '连接SDE数据库
Dim penumdataset As IEnumDataset '查询esriDTRasterDataset数据集枚举,检索是否已存在该数据集
Set penumdataset = ws.Datasets(esriDTRasterDataset)

Dim mrdataset As IRasterDataset
Set mrdataset = penumdataset.Next

Dim mdataset As IDataset

Do While Not mrdataset Is Nothing
    Set mdataset = mrdataset
    MsgBox mdataset.Name
    Combo1.AddItem mdataset.Name
    Set mrdataset = penumdataset.Next
Loop
 
End Sub

Private Sub Command2_Click()


   Dim pRasterData As IRasterDataset
   Set pRasterData = GetRasterFromSDE(strserver, strservice, strDB, struser, strPWD, "ABC")
    MsgBox "A"
    AddRasterLayer pRasterData
''
'  Dim pSDEWs As IWorkspaceName
'  Dim pSDEPropertySet As IPropertySet
'  Dim pSDERasterDataset As IRasterDataset
'  Dim pDsName As IDatasetName
'  Dim pName As IName
'  Dim sQualifiedName As String
''
'
'   ' Get connection propertyset
'   Set pSDEPropertySet = New PropertySet
'  With pSDEPropertySet
'   .SetProperty "server", strserver
'    .SetProperty "instance", strservice
'    .SetProperty "user", struser
'    .SetProperty "database", strDB
'    .SetProperty "password", strPWD
'    .SetProperty "version", strversion
'  End With
'
' '   **************************************
''    MsgBox "connection propertyset is ok"
'
'   ' Get workspacename
'   Set pSDEWs = New WorkspaceName
'  pSDEWs.ConnectionProperties = pSDEPropertySet
'  pSDEWs.WorkspaceFactoryProgID = "esricore.sdeworkspacefactory"
'
' '   **************************************
''     MsgBox "workspacename is ok"
'
'  '??????????????????????????????下面是何意
'   ' Get qualified ArcSDE raster name
''  If Len(strDB) > 0 Then
''    sQualifiedName = strDB + "." + struser + "." + "ABC"
''  Else
'    sQualifiedName = struser + "." + "ABC"
''  End If
'
'
'   ' Get raster dataset name
'
'   Set pDsName = New RasterDatasetName
'   pDsName.Name = sQualifiedName
'   Set pDsName.WorkspaceName = pSDEWs
'
'
'    Set pName = pDsName
'
'
'
'   ' Open ArcSDE raster dataset
'   Set pSDERasterDataset = pName.Open
'  MsgBox "AAA"
'
'   Set pRasterData = pSDERasterDataset
'' Cleanup
'
'  Set pSDEWs = Nothing
'  Set pSDERasterDataset = Nothing
'  Set pSDEPropertySet = Nothing
'  Set pName = Nothing
'  Set pDsName = Nothing
'
' AddRasterLayer pRasterData
  
    
End Sub



Private Sub Form_Load()

strserver = Txtserver.Text
strservice = Txtservice.Text
strDB = Txtdb.Text
struser = Txtuser.Text
strPWD = Txtpassword.Text
strversion = Txtversion.Text
Txtserver.Text = "lhb"
Txtservice.Text = "esri_sde"
Txtdb.Text = "upgis"
Txtdb.ToolTipText = "本选项可以不进行输入"
Txtversion.Text = "sde.DEFAULT"
'If cmbRaster.Text <> "" Then
'cmdrefference.Enabled = False
'End If

End Sub

⌨️ 快捷键说明

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