阅读:2400回复:3
[求助]c#编写InsertFeature程序
<P>要用C#写代码向一个featureclass里加入一个feature</P>
<P>可是运行总是出错</P> <P>请哪位帮我看看</P> <P>private void button1_Click(object sender, System.EventArgs e) { IWorkspace ws = null; IWorkspaceFactory wsf = new AccessWorkspaceFactoryClass(); IFeatureClass fc; string geodbname=@"E:<a href='http://www.gisempire.com/bbs/mailt=@"e:/' target="_blank" ><FONT color=#000000>\</FONT></A>首都机场\sdairport.mdb"; ws = wsf.OpenFromFile(geodbname,0); IFeatureWorkspace fws=(IFeatureWorkspace)ws;</P> <P> fc =fws.OpenFeatureClass("allobjects"); //开始编辑 IFeatureBuffer featBuffer=fc.CreateFeatureBuffer(); IWorkspaceEdit workspaceEdit; workspaceEdit =(IWorkspaceEdit) ws; workspaceEdit.StartEditing (true); workspaceEdit.StartEditOperation();</P> <P> //以下生成新feature IFeatureCursor featCursor= fc.Insert(true); IFeature feat = (IFeature)featBuffer;</P> <P> IPoint point; IGeometry geometry; object q; point=new PointClass(); point.PutCoords(120,30); geometry=(IGeometry)point; featBuffer.Shape=geometry; <FONT color=#2222dd> featBuffer.set_Value(2,1);</FONT> q=featCursor.InsertFeature(featBuffer); featCursor.Flush();</P> <P> workspaceEdit.StopEditOperation(); workspaceEdit.StopEditing (true);</P> <P> }</P> <P>运行到蓝色的代码,就出现异常</P> <P><FONT color=#d52b6f>未处理的“System.Runtime.InteropServices.COMException”类型的异常出现在 test.exe 中。其他信息: 这个集合中找不到此项目。</FONT></P> <P><FONT color=#000000>谢谢了</FONT></P> <P><FONT color=#d52b6f></FONT></P> [此贴子已经被作者于2004-11-19 18:39:46编辑过]
|
|
|
1楼#
发布于:2004-12-23 13:02
<P> 我曾经也出现过这种错误,后来使用IEditor就行了</P><P> UID pUid = new UIDClass();
pUid.Value = "esriEditor.Editor"; IEditor pEditor = null; pEditor = m_pApp.FindExtensionByCLSID(pUid) as IEditor;</P><P> 先设置pEditor开始编辑,然后开始更新要素<FONT color=#2222dd>featBuffer.set_Value(2,1);</FONT></P><P><FONT color=#2222dd>使用</FONT><FONT color=#000000>IWorkspaceEdit 设置开始编辑就不行,不知为什么!</FONT></P> |
|
2楼#
发布于:2004-12-17 08:21
<P> IFeature pfeature = pFeatureClass.CreateFeature
Set pfeature.Shape = pGeometry pfeature.Store </P><P>看看行不行!</P> |
|
3楼#
发布于:2004-12-16 22:17
你要插入要素的要素类“allobjects”有几个字段?字段索引为2的字段是否存在?如果存在,该字段类型是否为数值型的?
|
|