对《Arcgis中使用SearchExpression注意》的补充
2007-05-20 23:34
197 查看
注意Arcgis中使用SearchExpression(对不同数据源的异同)(原创)
Arcgis中使用SearchExpression注意:在使用AO,MO座二次开发中经常要用到属性查询,对于不同数据源表达式有细微差别,请参考:
Remarks
When using SearchExpression, bear in mind that the expressionmay be parsed and executed within MapObjects, or may be passed to theappropriate daat source for parsing and evaluation. This means youshould pay special attention to the syntax according to the data sourceyou are search against. Review the following notes for more information.
我在工作中就遇到这样的问题,当时没有抓图,事后又有同事遇到,专门做了试验抓了图存档。
当时的环境是这样:
1、数据源最初是shape等文件,或者access时调用SearchExpression查询特征的代码运行正常。
2、当将数据import到SDE for Oracle时就不正常了,找了半天都没找到问题。以外入库把数据搞坏了,但是没找到原因。
3、最后把代码跟踪到的条件在ArcMap中试验,发现也查不到特征,确定问题还是出自查询条件写的不规范。
4、测试源存档的入库前shape数据就可以查到,如附件的图。
5、查看帮助发现上边的英文评住,就不翻译了,遇到问题的同志自己看了。
6、原因:查询表达式中原来的写代码时为了格式好看手误多输了一个空格,这个空格在文件数据源时会被自动滤掉 。而在SDE中则不会被滤掉,所以多个空格就查询不出来了。
用shape做实验的结果如图,有兴趣的朋友可以自己实验一下。
另外对常用SDE的朋友提试一下:
如果在查询中用到DBMS特有的函数也是不可以通用的,大多数人并不同事使用多个DBMS所以一般不注意,但是在程序移植时就会出现问题。
比如SUBSTRING()在Access中就么有,而是用MID()代替,等等还有好几个。以后再来总结。
[ 本帖最后由 high_hill 于 2007-5-20 11:29 PM 编辑 ]
图片附件: 无空格.JPG (2007-5-20 23:29, 33.59 K)
图片附件: 无空格正常成功.JPG (2007-5-20 23:29, 7.34 K)
图片附件: 滤出的结果.JPG (2007-5-20 23:29, 116.04 K)
图片附件: 有空格.JPG (2007-5-20 23:29, 31.23 K)
图片附件: 有空格依然成功.JPG (2007-5-20 23:29, 218.96 K)
前些天写Arcgis中使用SearchExpression注意很匆忙,今日补充一下。下文最先发在了ESRI BBS上,现在到BLOG归档。
相关文章推荐
- WCF热门问题编程示例(3):WCF是否使用或者支持IOCP完成端口(整理补充)
- 补充照片:某基同学使用Bing词典
- Valgrind使用方法及举例(代码和效果以后补充)
- Ajax应用中使用Json的补充说明
- 使用ArcGIS Mobile SDK 9.3 开发移动设备应用-初级篇(转)
- 使用ArcGIS API for Silverlight + Visifire绘制地图统计图
- ArcGIS API For Silverlight使用在线地图的多种方法总结
- NUnit详细使用用法(补充)--在.NET中如何利用NUnit测试Private和Protected方法
- ArcGIS使用字体文件制作符号库!
- arcgis api for javascript中使用proxy.jsp
- mybatis补充教程之三:缓存(cache)的使用
- Arcgis, ArcEngine, Arcgis Server使用开发汇总 索引
- arcgis api for flex 开发入门(七)Geometry service 的使用
- Gson的简单使用(待补充)
- 使用ArcGIS API for JavaScript创建第一个应用
- matlab 并行计算使用心得 (不断补充)
- 对上次内容的补充:通过例题了解静态成员的使用
- ArcGIS API for Silverlight 使用GeometryService求解线与线的交点(二)
- WebStrom、Sublime Text快捷键及使用技巧(补充ing...)
- 谓词的补充——使用谓词还可以进行正则表达式的验证