eyes
路人甲
路人甲
  • 注册日期2005-02-27
  • 发帖数6
  • QQ
  • 铜币146枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1572回复:3

图层和表join时出现的问题?

楼主#
更多 发布于:2005-10-10 21:21
<P>Public Function JoinTabletoLayer(ByVal pFeaLayer As IFeatureLayer)<BR>Dim pDispLTable As IDisplayTable<BR>Dim pFCLayer As IFeatureClass<BR>Dim pTLayer As ITable</P>
<P>Set pDispLTable = pFeaLayer<BR>Set pFCLayer = pDispLTable.DisplayTable<BR>Set pTLayer = pFCLayer</P>
<P><BR>Dim pTTable As ITable<BR>Dim pPropSet As IPropertySet<BR>Dim pFeatWorkspace As IFeatureWorkspace<BR>Dim pWorkspaceFact As IWorkspaceFactory</P>
<P>Set pPropSet = New PropertySet</P>
<P>With pPropSet '设置ArcSDE连接属性<BR>        .SetProperty "SERVER", serverName<BR>        .SetProperty "INSTANCE", "esri_sde"<BR>        .SetProperty "USER", CurrentUser.Name<BR>        .SetProperty "PASSWORD", CurrentUser.Password<BR>        .SetProperty "VERSION", "SDE.DEFAULT"  '可选,缺省为SDE.DEFAULT版本<BR>    End With<BR>Set pWorkspaceFact = New SdeWorkspaceFactory<BR>Set pFeatWorkspace = pWorkspaceFact.Open(pPropSet, 0)<BR>Set pTTable = pFeatWorkspace.OpenTable("BlockResult_SHY2")</P>
<P><BR>Dim pMemRelFact As IMemoryRelationshipClassFactory<BR>Dim pRelClass As IRelationshipClass</P>
<P><BR>Set pMemRelFact = New MemoryRelationshipClassFactory<BR>Set pRelClass = pMemRelFact.Open("tabletolayer", pTLayer, "OID", pTTable, "OID", "forward", "backward", esriRelCardinalityOneToMany)<BR>'Set pRelClass = pMemRelFact.Open("tabletolayer", pTTable, "OID", pTLayer, "OID", "forward", "backward", esriRelCardinalityOneToOne)</P>
<P><BR>Dim pDispRC As IDisplayRelationshipClass<BR>Set pDispRC = pFeaLayer<BR><FONT color=#f70909>pDispRC.DisplayRelationshipClass pRelClass, esriLeftOuterJoin</FONT></P>
<P><BR>Set pPropSet = Nothing<BR>Set pWorkspaceFact = Nothing<BR>Set pMemRelFact = Nothing</P>
<P>End Function</P>
<P>出现了以下的出错提示:run-time error '-2147467259(80004005)' ; </P>
<P>Automation error</P>
<P>unspecified error</P>
<P>debug后是红色的代码出错,请问是什么原因呀?</P>
喜欢0 评分0
pengdeyou
路人甲
路人甲
  • 注册日期2006-06-23
  • 发帖数19
  • QQ
  • 铜币156枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2006-09-12 10:27
up
举报 回复(0) 喜欢(0)     评分
hsghxm
路人甲
路人甲
  • 注册日期2004-10-27
  • 发帖数517
  • QQ4604052
  • 铜币1枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2006-09-12 11:29
<P>代码没错,是你的图层或对应的表有问题:</P>
<P><FONT color=#008000>'++ handle E_FAIL; likely cause is use of IMap::Layers when no layers match the IID</FONT><BR>        <CODE><FONT color=#0000ff>Case</FONT></CODE> <FONT style="BACKGROUND-COLOR: #0a246a" color=#ffffff>-2147467259</FONT>:<BR>           </P>
MSN:hsghxm@163.com QQ:4604052 (很少用,最好别加) Email:hsghxm@163.com 我的BOLG:http://www.gisempire.com/blog/user1/864/index.htm
举报 回复(0) 喜欢(0)     评分
ldj
ldj
路人甲
路人甲
  • 注册日期2003-10-19
  • 发帖数161
  • QQ
  • 铜币737枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2006-10-18 11:27
[注意]
但是,即使不抱错,成功后,地图数据没有变化,这个原因在那?
举报 回复(0) 喜欢(0)     评分
游客

返回顶部