示例#1
0
        public System.Collections.ArrayList GetCollectionofField(ITable table, string field)
        {
            IFdeCursor fdeCursor = null;

            System.Collections.ArrayList arrayList = new System.Collections.ArrayList();
            System.Collections.ArrayList result;
            try
            {
                IQueryFilter queryFilter = new QueryFilterClass();
                queryFilter.AddSubField(field);
                queryFilter.WhereClause = "1=1";
                fdeCursor = table.Search(queryFilter, false);
                IRowBuffer rowBuffer;
                while ((rowBuffer = fdeCursor.NextRow()) != null)
                {
                    int    position = rowBuffer.FieldIndex("name");
                    string value    = rowBuffer.GetValue(position).ToString();
                    arrayList.Add(value);
                }
                result = arrayList;
            }
            catch (System.Exception)
            {
                result = arrayList;
            }
            finally
            {
                if (fdeCursor != null)
                {
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(fdeCursor);
                    fdeCursor = null;
                }
            }
            return(result);
        }