Fields属性查询

来源:互联网 发布:淘宝卖家服务市场 编辑:程序博客网 时间:2024/05/02 04:26
/// <summary>        /// 根据Fields进行属性查询        /// </summary>        /// <param name="FeaClass">要素集</param>        /// <param name="QueryKeyWords">查询关键字</param>        /// <returns></returns>        public List<IFeature> Query(IFeatureClass FeaClass, string QueryKeyWords)        {            ////TODO Field查询语句            List<IFeature> lstFea = null;            try            {                if (FeaClass == null)                {                    return null;                }                IField pTmpField = null;                string sWhereExpress = "";                //// 遍历字段 获得查询条件                for (int i = 0; i < FeaClass.Fields.FieldCount; i++)                {                    pTmpField = FeaClass.Fields.get_Field(i);                    if (pTmpField.Type != esriFieldType.esriFieldTypeString)                    {                        continue;                    }                    sWhereExpress += string.Format("{0} LIKE '%{1}%' OR ", pTmpField.Name, QueryKeyWords);                }                sWhereExpress = sWhereExpress.Substring(0, sWhereExpress.LastIndexOf("OR") - 1);                IQueryFilter pQueryFilter = new QueryFilterClass();                pQueryFilter.WhereClause = sWhereExpress;                IFeatureCursor pFeaCursor = FeaClass.Search(pQueryFilter, false);                IFeature pFea = pFeaCursor.NextFeature();                while (pFea != null)                {                    lstFea.Add(pFea);                    pFea = pFeaCursor.NextFeature();                }            }            catch (Exception ex)            {                return null;            }            return lstFea;        }

0 0
原创粉丝点击