mapinfo数据库绑定的问题(急)

问题描述

///<summary>///绑定图层///</summary>///<paramname="pStrSql">提取图层的sql语句</param>///<paramname="lyrName">图层名称</param>///<paramname="Index">数据库连接字符串</param>publicMapXLib.LayerlyrBind(AxMapXLib.AxMapAxMap,stringpStrSql,stringlyrName,intIndex){MapXLib.Layerre=null;if(string.IsNullOrEmpty(strConString)){//读取ini,连接数据库,为提取空间图层生成数据库连接字符串ClassIniFilereadIni=newClassIniFile(Application.StartupPath+@"inisystem.ini");ComputerSNcomputerSn=newComputerSN("GIS1212");stringstrHead="db";stringstrServerName="ServerName";stringstrUserName="LogId";stringstrPassWord="LogPassword";stringstrDefult=string.Empty;stringSerever=readIni.GetString(strHead,strServerName,strDefult);stringUserid=readIni.GetString(strHead,strUserName,strDefult);stringPasswd=readIni.GetString(strHead,strPassWord,strDefult);//*********************加密后的数据库密码Passwd=computerSn.GetSourceText(Passwd);strConString="UID="+Userid+";PWD="+Passwd+";srvr="+Serever;}try{MapXLib.LayerInfoLayerInfoObject=newMapXLib.LayerInfoClass();LayerInfoObject.Type=MapXLib.LayerInfoTypeConstants.miLayerInfoTypeServer;LayerInfoObject.AddParameter("name",lyrName);LayerInfoObject.AddParameter("ConnectString",strConString);LayerInfoObject.AddParameter("Query",pStrSql);LayerInfoObject.AddParameter("toolkit","ORAINET");LayerInfoObject.AddParameter("AutoCreateDataset",1);if(lyrName=="高压线路"||lyrName=="高压杆塔"){LayerInfoObject.AddParameter("Cache","all");}LayerInfoObject.AddParameter("DatasetName",lyrName);re=AxMap.Layers.Add(LayerInfoObject,Index);LayerUserInfoList.Add(newLayerUserInfo(LayerInfoObject,lyrName,Index));}catch{MessageBox.Show("加载图层“"+lyrName+"”失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Asterisk);}returnre;}///<summary>///绑定图层///</summary>///<paramname="pStrSql">提取图层的sql语句</param>///<paramname="lyrName">图层名称</param>///<paramname="Index">数据库连接字符串</param>publicMapXLib.LayerInfolyrBind(stringpStrSql,stringlyrName){if(string.IsNullOrEmpty(strConString)){//读取ini,连接数据库,为提取空间图层生成数据库连接字符串ClassIniFilereadIni=newClassIniFile(Application.StartupPath+@"inisystem.ini");ComputerSNcomputerSn=newComputerSN("GIS1212");stringstrHead="db";stringstrServerName="ServerName";stringstrUserName="LogId";stringstrPassWord="LogPassword";stringstrDefult=string.Empty;stringSerever=readIni.GetString(strHead,strServerName,strDefult);stringUserid=readIni.GetString(strHead,strUserName,strDefult);stringPasswd=readIni.GetString(strHead,strPassWord,strDefult);//*********************加密后的数据库密码Passwd=computerSn.GetSourceText(Passwd);strConString="UID="+Userid+";PWD="+Passwd+";srvr="+Serever;}MapXLib.LayerInfoLayerInfoObject=newMapXLib.LayerInfoClass();LayerInfoObject.Type=MapXLib.LayerInfoTypeConstants.miLayerInfoTypeServer;LayerInfoObject.AddParameter("name",lyrName);LayerInfoObject.AddParameter("ConnectString",strConString);LayerInfoObject.AddParameter("Query",pStrSql);LayerInfoObject.AddParameter("toolkit","ORAINET");LayerInfoObject.AddParameter("AutoCreateDataset",1);LayerInfoObject.AddParameter("DatasetName",lyrName);returnLayerInfoObject;}以上是将存储在空间数据库(Oracle)中的信息绑定到图层上,下面的对上面函数的调用://指定生成图层的sql语句stringstrsql="select*frombdz_test_new";//在axmap上添加图层MapXLib.LayerlyrLineTemp=LayerSet.lyrBind(axMap1,strsql,layerName,1);//设置该图层可以样式覆盖lyrLineTemp.OverrideStyle=true;//设置线的宽度和颜色lyrLineTemp.Style.LineWidth=5;lyrLineTemp.Style.LineColor=785914;lyrLineTemp.Visible=true;但是,程序运行后,图层上并没有显示出新添加的图层,这是怎么回事呢?我猜想是不是一下原因:我上面做的只是告诉mapx数据源在哪里,需要查询哪些数据,下面还没有告诉mapx应该怎样呈现这些数据,是不是还应该在绑定的图层中说明一下应该显示哪些字段、怎样显示(点、线、面)?请高手帮助解答!!!

解决方案

解决方案二:
不懂,帮顶了!

时间: 2024-10-26 06:32:37

mapinfo数据库绑定的问题(急)的相关文章

servlet-利用servet跳转页面然后刷新绑定数据 (急!!!!)

问题描述 利用servet跳转页面然后刷新绑定数据 (急!!!!) 请问我最近在做一个练手项目:主要的是利用mvc模式及servlet来做一个类似于淘宝的网站,绑定完数据后连接数据库对单条数据进行删除,然后再跳回原来页面的时候,数据库中的数据删除了,可是为什么网站上的数据不及时刷新呢? 急!!!!求答 解决方案 看下是不是你的浏览器有缓存,加上一个随机数构成的参数,强制浏览器刷新.

asp.net中将数据库绑定到DataList控件的实现方法与实例代码

解决方法1: datalist databind() 解决方法2: 查看MSDN上的详细说明资料 解决方法3: 在DataList的模板中用table表格,如: 复制代码 代码如下: <asp:DataList ID="dlDetailedInfo" runat="server" OnItemDataBound="dlDetailedInfo_ItemDataBound" Width="100%"> <Ite

Spring MVC 数据库绑定对象的对象

问题描述 Spring MVC 数据库绑定对象的对象 例如对象public class Boss { private int name; private Car car;} 数据库语句为<select id=""select"" resultType=""Boss"">select b.* c.* from Boss b Car c where ...</select> 怎么把查出来的c.*与 Boss

access-C#winform数据库绑定问题

问题描述 C#winform数据库绑定问题 我想在comboBox1里读取access里的数据,想实现数据库改变时,comboBox1也作出相应改变.就是控件与数据库绑定,实现实时刷新?用哪一个指令呀??请帮帮忙,谢谢啦! 解决方案 参考:http://blog.csdn.net/stamina88/article/details/5317303 解决方案二: 可以参考以下代码 SqlConnection con = new SqlConnection(conn); con.Open(); Sq

使用linq to sql 把数据库绑定到listview中

问题描述 使用linq to sql 把数据库绑定到listview中 请问怎么使用linq to sql 把数据库绑定到listview中,谢谢 解决方案 使用LINQ to SQL更新数据库ASP.NET MVC 学习 --- 第五课(使用Linq to SQL数据库)LINQ To SQL 中 聚合函数的使用问题 解决方案二: var query = from x in db.Table where 条件 select x; foreach (var item in query) { Li

select-关于数据库sql拼写!急!!!!

问题描述 关于数据库sql拼写!急!!!! 从2015-01-01开始到2015-01-31,提取每天22点到第二天9点的数据,注意有开始时间(START_TIME)和结束时间(END_TIME) 我的sql: select A.BILLING,sum(out + in) from inf.EVEN_TGAS A where A.START_TIME between '2015-01-01 22:00:00' and '2015-01-31 09:00:00' and A.end_TIME be

数据库自定义函数。急!!!

问题描述 数据库自定义函数.急!!! 通过序列的名字查询出该序列的last_value. 把这个需求自定义成一个数据库的函数,数据库是postgre. 求大神告知怎么写!!! 解决方案 http://blog.csdn.net/iihero/article/details/8218753

asp.net中将数据库绑定到DataList控件的实现方法与实例代码_实用技巧

解决方法1: datalist databind() 解决方法2: 查看MSDN上的详细说明资料 解决方法3: 在DataList的模板中用table表格,如: 复制代码 代码如下: <asp:DataList ID="dlDetailedInfo" runat="server" OnItemDataBound="dlDetailedInfo_ItemDataBound" Width="100%"> <Ite

vb 6.0 中MSFlexGrid1组件与数据库绑定 怎么用? 语句如何写?

问题描述 MSFlexGrid1组件与数据库绑定 解决方案 解决方案二:DimsqlAsStringsql="..."DimrsAsNewADODB.Recordsetrs.Opensql,Conn,adOpenKeyset,adLockReadOnly,adCmdTextDimiAsIntegermsCharpter.Rows=rs.RecordCount+1i=1DoWhileNotrs.EOFMSFlexGrid1.TextMatrix(i,0)=rs!字段名rs.MoveNex