CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  企业开发 >  地理信息系统

delphi6+mapx4+oracle8的CMapXBindLayer问题!!

楼主JCC0128(代码写到手抽筋)2003-09-03 01:22:52 在 企业开发 / 地理信息系统 提问

delphi6+mapx4+oracle8的CMapXBindLayer问题!!  
  实在没分,解决者可再另加分@@@@先谢过!!!!!!!!  
   
  oracle中表LINE     四个字段,ID,NAME   都是字符串     X,Y   为浮点数  
   
  我的一般数据绑定可以执行,如下  
  var   ds   :TMaxLayer   ;  
  ...  
  ds   :=Map.Datasets.Add(miDataADO,ADOQuery1.Recordset,  
                    Uppercase(Layer.Name),'ID',   EmptyParam,Layer,   fields,EmptyParam);  
  ************  
  第一个问题  
  ****************  
  但我发现ds.RowCount是原.tab表中记录条数,而不是ADOQuery1中记录条数,为什么?  
   
   
   
  我看Mapx中文帮助介绍使用CMapXBindLayer   可以用数据库中表的数据直接创建为图元,我的代码如下:  
   
  procedure   TForm1.Button3Click(Sender:   TObject);  
  var  
      BindLayerObject   :   CMapXBindLayer   ;  
      flds   :CMapXFields   ;  
      rs   :_RecordSet   ;  
        i   :integer   ;  
  begin  
   
      //得到数据源  
      with   ADOQuery1   do  
      begin  
          ADOQuery1.Close   ;  
          ADOQuery1.SQL.Clear   ;  
          ADOQuery1.SQL.Add('select   *   from   line');  
          ADOQuery1.Open   ;  
      end   ;  
   
   
      rs   :=   ADOQuery1.Recordset   ;  
      rs.MoveLast   ;  
   
  //     showmessage(inttostr(i))   ;  
      //创建数据列  
      flds   :=   CoFields.Create   ;  
      flds.Add('ID',   'ID',   miAggregationAuto,   0)   ;  
      flds.Add('NAME',   'NAME',   miAggregationAuto,   0)   ;  
      flds.Add('X',   'X',   miAggregationAuto,   3)   ;  
      flds.Add('Y',   'Y',   miAggregationAuto,   3)   ;  
      //创建BinLayer  
   
      BindLayerObject   :=   CoBindLayer.Create   ;  
      //BindLayerObject.  
  //     BindLayerObject.LayerName   :=   'NewLayer'   ;  
      BindLayerObject.RefColumn1   :=   'X'   ;  
      BindLayerObject.RefColumn2   :=   'Y   '   ;  
      BindLayerObject.LayerType   :=     miBindLayerTypeXY   ;  
      ds   :=   Map1.Datasets.Add(miDataADO,   rs   ,   'NewLayer',   'X',   'Y',  
                                  BindLayerObject,   EmptyParam,   false     )   ;  
  end;  
   
  调试通过,执行到最后一句就报错:   unable   to   complete   this   type   of   bind   with   the   reference   column(s)   specified.  
  将datasets.add方法中的倒数第二个字段改为flds一样报错。  
  ************  
  第二个问题  
  *************  
  这是什么原因?应如何修改?  
   
   
   
   
   
  问题点数:0、回复次数:4Top

1 楼JCC0128(代码写到手抽筋)回复于 2003-09-20 13:54:27 得分 0

准备结贴Top

2 楼JCC0128(代码写到手抽筋)回复于 2003-09-26 21:17:00 得分 0

楼上一位接分Top

3 楼yfrzn(杨子)回复于 2003-09-27 09:33:35 得分 0

关注Top

4 楼yfrzn(杨子)回复于 2003-09-27 14:29:14 得分 0

顶Top

相关问题

  • delphi+mapx如何连接oracle数据库
  • delphi 与 oracle
  • 用delphi,powerbuilder还是oracle?
  • 如何用Delphi连接Oracle
  • 在delphi中连接oracle
  • 关于 Delphi Ado连接 oracle
  • oracle+delphi出现怪问题
  • delphi+mapx的问题,求救!
  • delphi mapx 奇怪问题!急
  • WINNT装上ORACLE后,DELPHI如何使用?

关键词

  • 数据
  • ds
  • oracle
  • cmapxbindlayer
  • adoquery1
  • mapx
  • 表
  • 问题
  • recordset
  • rs

得分解答快速导航

  • 帖主:JCC0128

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo