阅读:1495回复:1
[原创]c#给sde中的空间数据库添加字段出现错误了?
<P>if(m_pCurrentLayer==null)return;<BR> IFeatureLayer pFeatureLayer = (IFeatureLayer)m_pCurrentLayer;<BR> IDataset pDataset = (IDataset)pFeatureLayer.FeatureClass;<BR> if (pDataset== null) return;<BR> <BR> IWorkspaceEdit pWorkspaceEdit = (IWorkspaceEdit)pDataset.Workspace;<BR> if (!pWorkspaceEdit.IsBeingEdited())<BR> {<BR> pWorkspaceEdit.StartEditing(true);<BR> pWorkspaceEdit.EnableUndoRedo();<BR> } <BR> IField pField=new FieldClass();<BR> IFieldEdit pFieldEdit=(IFieldEdit)pField;</P>
<P> pFieldEdit.Length_2=30;<BR> string name=Microsoft.VisualBasic.Interaction.InputBox("请输入字段名","Please Input","",0,0); <BR> pFieldEdit.Name_2=name;<BR> pFieldEdit.Type_2=esriFieldType.esriFieldTypeString;<BR> <BR> if(name!="")<BR> {<BR> pFeatureLayer.FeatureClass.AddField(pField);//错误在这里</P> <P> }<BR> <BR> if (pWorkspaceEdit.IsBeingEdited())<BR> {<BR> pWorkspaceEdit.StopEditing(true);<BR> <BR> }</P> <P>其中m_pCurrentLayer已经获取到值,但程序运行到 pFeatureLayer.FeatureClass.AddField(pField);总出错,如果不使用sde程序边能顺利通过,这是为什么?</P> |
|
1楼#
发布于:2007-03-26 09:04
<P>同样的代码,在我未使用SDE的AE开发中,却是可以的,大家帮帮忙吧?</P>
|
|