shiyanlove
路人甲
路人甲
  • 注册日期2009-03-24
  • 发帖数2
  • QQ
  • 铜币109枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1296回复:0

MapObject:获取到记录(CMoRecordset)后,如何得到各个字段。

楼主#
更多 发布于:2009-09-11 12:49
<P>当我获取到记录(CMoRecordset)和字段集(CMoFields)后:</P>
<P>CMoLayers layers(m_Map1.GetLayers()); <BR> CMoMapLayer layer(layers.Item(COleVariant((short)0)));<BR>  CMoRecordset   morecord(layer.GetRecords());</P>
<P>CMoFields mofields = morecord.GetFields();</P>
<P>到这步后如何得到具体的字段名?</P>
<P>CMoField  idfield = fields.Item(COleVariant(TEXT("ID")));</P>
<P>程序运行到上面语句处没有找到名称为ID的字段: idfield 的IUnknown值有误:__vfptr CXX0030: Error: expression cannot be evaluated。</P>
<P>不知道记录到底包括那几个字段,每个字段的名称是什么?应该如何获取字段名称?</P>
<P>我试图用下面的方式获取(但不知道方法对不对):</P>
<P>CMoTableDesc tabldes = morecord.GetTableDesc();<BR>for(int j=0; j<tabldes.GetFieldCount(); j++)<BR>{  <BR> CString fieldname = tabldes.GetFieldName(j); </P>
<P>  AfxMessageBox(fieldname);  </P>
<P> }</P>
<P>此处fieldname的值分别为:BLANK, TAGNAME, TAGID ,ZTNAME, ZT3DNAME</P>
<P><BR>请高手给小弟指点一下,谢谢!<BR>  </P>
喜欢0 评分0
游客

返回顶部