salut
je dispose d'une arcsde sqlserver geodatabase , qui contient des tables et des featureclass je veux faire des requettes sur cette base
j'ai vu le code qui ce trouve dans le lien suivant
http://help.arcgis.com/en/sdk/10.0/v...0000000t000000
ça marche pour la connexion avec la base de donne mais pour la création de l'instance de Iquerydef malheureusement non
voici mon code:
dans l'instruction Set pQueryDef = pFeatureWorkspace.CreateQueryDef
le message suivant s'affiche
"object doesn 't support this action"
merci
je dispose d'une arcsde sqlserver geodatabase , qui contient des tables et des featureclass je veux faire des requettes sur cette base
j'ai vu le code qui ce trouve dans le lien suivant
http://help.arcgis.com/en/sdk/10.0/v...0000000t000000
ça marche pour la connexion avec la base de donne mais pour la création de l'instance de Iquerydef malheureusement non
voici mon code:
Code:
Dim pPropSet As IPropertySet
Dim pSdeFact As IWorkspaceFactory
Dim pFeatureWorkspace As IFeatureWorkspace
Set pPropSet = New PropertySet
With pPropSet
.SetProperty "SERVER", "sde:sqlserver:SAM-PC "
.SetProperty "INSTANCE", "sde:sqlserver:SAM-PC\SAMIA"
.SetProperty "DATABASE", "sam"
.SetProperty "USER", "sa"
.SetProperty "PASSWORD", "1561994"
.SetProperty "VERSION", "SDE.DEFAULT"
End With
Set pSdeFact = New SdeWorkspaceFactory
Set pFeatureWorkspace = pSdeFact.Open(pPropSet, 0)
MsgBox ("connection avec succee")
Dim pQueryDef As IQueryDef
'la ou ce bloque
Set pQueryDef = pFeatureWorkspace.CreateQueryDef
With pQueryDef
.Tables = "COUNTIES, STATES"
.SubFields = "COUNTIES.SHAPE, COUNTIES.OBJECTID, COUNTIES.NAME, STATES.STATE_ABBR"
.WhereClause = "COUNTIES.STATE_FIPS = STATES.STATE_FIPS"
End With
'Get the feature class
Dim pFeatureClass As IFeatureClass
Dim pFeatureClassContainer As IFeatureClassContainer
Set pFeatureClassContainer = pFeatureWorkspace.OpenFeatureQuery("My counties join", pQueryDef)
If (pFeatureClassContainer.ClassCount <> 1) Then
MsgBox "Failed to create feature class by query"
Else
Set pFeatureClass = pFeatureClassContainer.Class(0)
End If
'Add feature class as layer to the map
Dim pFeatureLayer As IFeatureLayer
Set pFeatureLayer = New FeatureLayer
Set pFeatureLayer.FeatureClass = pFeatureClass
pFeatureLayer.Name = pFeatureClass.AliasName
Dim pMxDoc As IMxDocument
Set pMxDoc = ThisDocument
Dim pMap As IMap
Set pMap = pMxDoc.FocusMap
pMap.AddLayer pFeatureLayer
Exit Sub
ErrorHandler:
MsgBox Err.Description, vbInformation, "MakeFeatureQueryClass"
End Sub
dans l'instruction Set pQueryDef = pFeatureWorkspace.CreateQueryDef
le message suivant s'affiche
"object doesn 't support this action"
merci