博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MapXtreme 2005 学习心得 一些问题(八)
阅读量:6206 次
发布时间:2019-06-21

本文共 1368 字,大约阅读时间需要 4 分钟。

先上一张MapXtreme的丑陋的图片

这个是我历经千山才弄出来的效果。

在处理的过程中,会有一些问题经常报错,网上几乎找不到资料可以解决了,本人经过大量实践,反复点击报错,代码步步注释的方法。

终于小有成果。

Table.BeginAccess(TableAccessMode.Write);这句代码,报错率非常高。

我们在修改一个表的时候,通常要begin一下,然后处理,处理完之后再end一下

在反复的begin与end中,一旦拿不到锁,就报错了。通常这个问题引起,是另一个表正在处理时,发生异常,你try完之后,没有endAccess引起的

 Table.DeleteFeature(feature);这句代码的报率也很高,网上流传这么一些代码:

foreach
(Featrue fea 
in
 Table)
{
Table.DeleteFeature(feature);
}

说明:

ExpandedBlockStart.gif
用来删除表的数据,这里报错率通常是由于Table.BeginAccess(TableAccessMode.Write);这个异常引起的
所以最好处理就是try一下Table.BeginAccess(TableAccessMode.Write);正常后,再执行删除表数据
这里有一点提的,其实里面的东西最后还是执行delete from table 
where
 mkey
=
@mkey之类的语句,这样等于一条一条执行。
还不如直接执行delete from table就OK了,foreach来干什么。那个MISql操作的,几乎和ADO.net的操作一个样,不用担心不会。

 

 

最后一个就是最严重的问题了。

产生的问题是这样的:地图上画上的点,一开始好好的,然后点一下放大或细小,一会正常,一会又点不见了,再点一下,点又出来了,就这样反反复复。
一会正常,一会不正常。
经常反复大量研究表明:地图是存在Session中的,在研究中发现,Session经常不确定性的会丢失,所以,最好在画点的逻辑里加上一些处理:

 

 

我是这样处理的:

ExpandedBlockStart.gif
if
 (CommonHelper.Get
<
string
>
(
"
Command
"
""
==
 
""
 
||
 map.CustomProperties[
"
layerCount
"
==
 
null
 
||
 (
int
)map.CustomProperties[
"
layerCount
"
!=
 map.Layers.Count)
            {
                
                RUnitMapView mapView 
=
 
new
 RUnitMapView(map);
                map.CustomProperties[
"
layerCount
"
=
 map.Layers.Count;
//
预防Session的layer丢失
            }

 

说明:

找了一个地方保存下地图的图层数,由于生成了点之后,地图的图层一定会和初始图层不一样。所以,用了这个来做为判断Session是否丢失.
如果Session丢失,重新加载一下数据点的处理。这样,终于解决了问题.

 

版权声明:本文原创发表于博客园,作者为路过秋天,原文链接:

http://www.cnblogs.com/cyq1162/archive/2009/11/16/1603567.html

你可能感兴趣的文章
知识管理在客户关系管理中的应用领域
查看>>
python字符串和List:索引值以 0 为开始值,-1 为从末尾的开始位置;值和位置的区别哦...
查看>>
开始写技术博客
查看>>
制作 Windows8 to Go
查看>>
CSS邮件相关
查看>>
bash知识点:文件测试
查看>>
使用Docker镜像和仓库
查看>>
linux gdb使用
查看>>
在没有域环境的情况下配置完整安装的SharePoint2010和2013
查看>>
java温故笔记(二)java的数组HashMap、ConcurrentHashMap、ArrayList、LinkedList
查看>>
kubeadm安装kubernetes 1.13.2多master高可用集群
查看>>
计算mView在view周围的位置
查看>>
有关MSHTML
查看>>
让自己的头脑极度开放
查看>>
我的友情链接
查看>>
前端优化实例
查看>>
review what i studied `date` - 2017-3-31
查看>>
Adding text to Access Gateway (AGEE) Enterprise Logon Page
查看>>
一些会用到的知识
查看>>
用脚本控制虚拟机
查看>>