版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
版权
ArcEngine专栏收录该内容
5 篇文章0 订阅
订阅专栏
在调用AGS Gp工具时,经常会报出一些莫名奇妙的错误,类似于“对COM 组件的调用返回了错误 HRESULT E_FAIL。这样的错误,小白完全找不到提示信息。
那么这个时候我们首先应该去Arcgis中去操作这个工具,看看是不是和我们传入的参数不对有关,看看arcgis是怎么传入参数的。如果操作完以后发现传入参数一模一样,但是代码还是报错,那么就应该去arcgis帮助中去找到对应的这个工具的参数介绍,看看里面具体的每个参数的输入方式是否我们的一致,一般都是传入参数不一致导致的这样的问题!
那么就拿这个按属性查询做个例子,这个工具需要传入三个参数,如下图:
我在调用这个工具的时候,感觉传入参数是一致的,但是程序却报错。然后我在上图工具帮助中中看到了 原来是第三个参数sql语句传入有问题.
这段提示的意思是:如果是个人地理数据库那么查询的字段需要用方括号[filedname] 来括起来,是其他的话,那么就要用双引号 ”filename“来括起来。这样就知道错误的原因了,那么问题也就迎刃而解啦
另外附上Arcengine 属性查询的时候模糊查询条件语句的代码:
IQueryFilter pQueryFilter = new QueryFilterClass(); if (pDataset.Workspace.Type == esriWorkspaceType.esriFileSystemWorkspace)//针对shpfile文件的模糊查询条件 { pQueryFilter.WhereClause = string.Format("{0} like '%{1}%'", fieldname, strValue); } else if (pDataset.Workspace.Type == esriWorkspaceType.esriLocalDatabaseWorkspace)//针对mdb数据库的模糊查询条件 { pQueryFilter.WhereClause = string.Format("{0} like '*{1}*'", fieldname, strValue); }
收藏
一键三连
扫一扫,分享海报
专栏目录