很久没解决的问题!!!

anonyman 2003-09-19 11:01:40
已知:
1、已知一个图层对象objLayer,并有属性数据且字段project_id唯一,另有字段project_name
2、已知一个结果集对象objRs,并有同objLayer相对应project_id记录,另有字段project_name、project_status、address、phone等等
求解:
如何将objRs数据同objLayer一一对应的记录合并起来,即绑定起来,最后达到操作objLayer能输出objRs的同objLayer合并后所有数据
...全文
79 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
anonyman 2003-09-23
  • 打赏
  • 举报
回复
还是没有实现绑定,我要对图层实现数据库中有而它自己没有字段的条件查询,所以只得从数据库查出结果同图层对比输出符合条件的结果了,要图层是因为要得到坐标点,要不就直接查数据库了,郁闷搞了这么久还是得对这样的图层做特殊处理了
jedy 2003-09-22
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
On Error GoTo MapXErr
Dim ds As Dataset
Dim flds As New MapXLib.Fields
' Adodc1 is a Microsoft ADO Data Control, which must be
' placed on the VB form.
' Change the "Data Source=" line if MapX was installed in
' a different location.
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;" & _
"Data Source=C:\Program Files\MapInfo\MapX 4.0\Data\MapStats.mdb"
Adodc1.RecordSource = "Select * from USA"
Adodc1.Refresh ' Bring in the data from the database

' Add a dataset to the map and create a simple theme from it.
Set ds = Map1.DataSets.Add(miDataSetADO, Adodc1.Recordset, "ADOset", "GEOABBR")
'这里你可以根据自己改写一下,不过他是如何匹配大概是通过索引吧。具体我不大清楚
Debug.Print ds.Fields(3).Name
flds.Add ds.Fields(3)
ds.Themes.Add miThemeRanged, ds.Fields(3)
Exit Sub
MapXErr:
Debug.Print "Error #" & Err.Number & ": " & Err.Description
End Sub
这里的ds.Fields(3).Name就是数据库里的,因为表tab里只有2个字段
banner90 2003-09-22
  • 打赏
  • 举报
回复
怎么不算绑定?第二个你要绑定图层,才能提取图层的信息查找数据库
banner90 2003-09-22
  • 打赏
  • 举报
回复
这个只是绑定数据库把,但不能同时操作
little_sophy 2003-09-19
  • 打赏
  • 举报
回复
属性数据可以进行合并;图形也可以进行合并
但是我觉得你现在的意思好像是把属性数据和图形数据合并起来
因为字段都不一样。
你可以把objRS和objLayer的属性数据合并起来,但是输出的时候不能从对象objLayer这里输出,可以把合并的数据保存到另外一个RS中输出就可以了。
anonyman 2003-09-19
  • 打赏
  • 举报
回复
我现在是需要一个feature和datasets对象,它们都含有数据库表的数据,如果象楼上的朋友那样说就不算绑定了,mapx里的绑定到底怎么实现
banner90 2003-09-19
  • 打赏
  • 举报
回复
这样不是很好使,你这样就像有两个同样的数据库,同时两个数据库一起操作,你说这样好么?
如果想操作层,就把层绑定到的图上,如果你想操作数据库,有两种方法:
1/直接把数据库绑定到地图上,需要地理位置信息
2/在层和数据库里建一个同样名称的字段,然后可以从层里提取一个数据来查找数据库,这是最容易实现的.
anonyman 2003-09-19
  • 打赏
  • 举报
回复
好像不管用,有没有代码或例子,请大家指点
jedy 2003-09-19
  • 打赏
  • 举报
回复
首先project_id,project_name是索引,然后用
Set ds = Map1.Datasets.Add(miDataSetADO, objRs, 自己起的名字, , , objLayer)
这是ds.field.item()里应该有你的数据库字段

anonyman 2003-09-19
  • 打赏
  • 举报
回复
我的意思是要objLayer中带有它没有而objRs有的字段的数据,请问怎么放到另外一个RS中,那其中不是没有了坐标数据?

2,143

社区成员

发帖
与我相关
我的任务
社区描述
它是一种特定的十分重要的空间信息系统。它是在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。
社区管理员
  • 地理信息系统
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧