阅读:1435回复:1
[求助]在图层记录集中无法写入数据
<P> IMoTableDescPtr desc;<BR> IMoMapLayerPtr layer;<BR>.........................................</P>
<P>//设置图层的字段</P> <P> desc->set_FieldCount(2);<BR> desc->set_FieldType(0,moString);<BR> desc->set_FieldName(0,WideString("Number"));<BR> desc->set_FieldLength(0,10);</P> <P> desc->set_FieldType(1,moString);<BR> desc->set_FieldName(1,WideString("Name"));<BR> desc->set_FieldLength(1, 10); <BR>.............................................................. </P> <P>//创建图层<BR> IMoGeoDatasetPtr geoDataset;<BR> geoDataset=pMoCon->AddGeoDataset(WideString("水系_polyline"), moShapeTypePoint,<BR> desc, Variant(False), Variant(False));<BR> layer=(IDispatch*)CreateOleObject("MapObjects2.MapLayer");</P> <P><BR><FONT size=2>//</FONT>设置图层的记录集 <BR> layer->GeoDataset=pMoCon->FindGeoDataset(WideString("水系_polyline"));<BR> IMoRecordsetPtr recs(layer->Records);<BR> IMoFieldsPtr fields(layer->Records->Fields);<BR> <BR> recs->AddNew();<BR> fields->Item(Variant("Name"))->set_ValueAsString(WideString("A1"));</P> <P> recs->_Update();</P> <P>编译通过,但在写入时总是提示出错。我是参考vc++的例子(<a href="http://blog.csdn.net/zswzwy/archive/2004/05/29/18875.aspx" target="_blank" >http://blog.csdn.net/zswzwy/archive/2004/05/29/18875.aspx</A>)改的c++builder.</P> <P>谁能告诉我错在哪??</P> |
|
1楼#
发布于:2006-08-07 01:01
<P>解决了.被esri忽悠了一把</P>
<P>它给出的例子:</P> <P>IMOFieldPtr fld = flds->Item("ID"); //5.0<BR><BR>IMOFieldPtr fld = flds->Item(Variant("ID")); //6.0<BR></P> <P>实际上 上面有2个错误.应该这样。</P> <P>IMoFieldPtr fld =flds->Item(TVariant("ID")); </P> |
|