|
wenmier :
怎么用MAPX查出一个数据库中各表的数据呢?(因为我一个城市的图是放在一个库中的)
先前各位的列子都是指定了表的,能查出并显示出单表的图层,可我要从库中读出整幅图(多个图层,当然就有多个表了),怎么办呢? 然后怎么整合? 谢谢,愁死我了?
?也即 我想在MAPX连接到ORACLE数据库时下载多表的数据,可是该怎么下呢?只是在 Dim Lyr As MapXLib.Layer Dim LayerInfo As New MapXLib.LayerInfo LayerInfo.Type = miLayerInfoTypeServer LayerInfo.AddParameter "NAME", TableName LayerInfo.AddParameter "connectstring", "uid=system;pwd=manager;srvr=TRANDB" LayerInfo.AddParameter "query", "select * from " + TableName LayerInfo.AddParameter "cache", "off" LayerInfo.AddParameter "MBRSearch", "on" LayerInfo.AddParameter "toolkit", "ORAINET" LayerInfo.AddParameter "AutoCreateDataset", 1 LayerInfo.AddParameter "datasetname", TableName Set Lyr = MainFrm.MainMap.Layers.Add(LayerInfo, 1) Set Lyr = Nothing Set LayerInfo = Nothing 中能添加一层,即一个表的数据,可再要添加下一层 我还是用上述代码,只改了表名;但出错,就说 “Run-time error'1006': Non-Unique Name specified.(Name alresdy in use by another object),” 怎么回事,有办法解决吗?
wenmier :解决了,就是读出的图层重命个名就是。
leocq :
我这里有个基于列表框的循环,希望有用~ Dim i As Integer For i = 0 To List1.ListCount - 1 Dim LayerInfo As MapXLib.LayerInfo Set LayerInfo = New MapXLib.LayerInfo LayerInfo.Type = miLayerInfoTypeServer LayerInfo.AddParameter "NAME", List1.List(i) LayerInfo.AddParameter "connectstring", "uid=xxx;pwd=xxx;srvr=xxx" LayerInfo.AddParameter "query", "select * from " + List1.List(i) LayerInfo.AddParameter "cache", "off" LayerInfo.AddParameter "MBRSearch", "on" LayerInfo.AddParameter "toolkit", "ORAINET" LayerInfo.AddParameter "AutoCreateDataset", i LayerInfo.AddParameter "datasetname", List1.List(i) frmMain.Map.Layers.Add LayerInfo Set LayerInfo = Nothing Next i
|