阅读:1333回复:1
SDE的网络层中添加要素出错
<P>我在sde中生成了一个网络(注册了版本),现在想在网络中增加一条边,采用了如下代码:
If connectSdeDB = False Then Exit Sub Set pFeatureWorkspace = netWS '''添加网络层 Set pFeatureClass = pFeatureWorkspace.OpenFeatureClass("route_test_NET_JUNCTIONS") Set pFeatLyr = New FeatureLayer Set pFeatLyr.FeatureClass = pFeatureClass pFeatLyr.Name = "路径结点" zsbGisFrmMain.MapDisp.Map.AddLayer pFeatLyr <FONT color=#ff0000>Set pFeatureClass = pFeatureWorkspace.OpenFeatureClass("route_test")</FONT> Set pFeatLyr = New FeatureLayer Set pFeatLyr.FeatureClass = pFeatureClass pFeatLyr.Name = "route" zsbGisFrmMain.MapDisp.Map.AddLayer pFeatLyr Dim pDataset As esrigeodatabase.IDataset Dim pWorkspaceEdit As esrigeodatabase.IWorkspaceEdit Set pDataset = pFeatureClass Set pWorkspaceEdit = pDataset.Workspace If Not pWorkspaceEdit.IsBeingEdited Then pWorkspaceEdit.StartEditing True pWorkspaceEdit.StartEditOperation End If Dim pFeature As IFeature Set pFeature = pFeatureClass.CreateFeature 最后一句提示如下错误: “object in this class cannot be updated outside an edit session” </P> <P>若将上面的红色的一行代码改为: </P> <P><FONT color=#0033ff>Set pFeatureClass = pFeatureWorkspace.OpenFeatureClass("rail")</FONT> ' 非网络层</P> <P>则不会出现错误,盼高人给予指导,不胜感谢!</P> [此贴子已经被作者于2005-5-16 16:31:54编辑过]
|
|
1楼#
发布于:2005-05-18 09:58
<P>对的,我也遇到过这样的问题</P><P>当然是接口的原因了,你只有使用geometric network的接口去编辑网络</P><P>不能用你说的方法</P>
|
|
|