空间分析——游标学习

Cursor的理解

在这里插入图片描述

使用Cursor 新增数据

        public static void InsertCursor(IMap map)
        {
            if (map != null && map.LayerCount > 0)
            {
                IFeatureLayer fclLayer = map.get_Layer(0) as IFeatureLayer;
                IFeatureClass fcls = fclLayer.FeatureClass;
                if (fcls != null)
                {
                    ITable table = fcls as Table;
                    ICursor insertCursor = table.Insert(true);
                    IRowBuffer row = table.CreateRowBuffer();
                    int index = table.Fields.FindField("bz");
                    if (index > 0)
                    {
                        row.set_Value(index, "cs0");
                        insertCursor.InsertRow(row);
                    }
                    insertCursor.Flush();
                }
            }
        }

使用Cursor 修改数据

  public static void UpdateCursor(IMap map)
        {
            IFeatureLayer fclLayer = map.get_Layer(0) as IFeatureLayer;
            IFeatureClass fcls = fclLayer.FeatureClass;
            if (fcls != null)
            {
                ITable table = fcls as Table;
                IQueryFilter filter = new QueryFilter();
                filter.SubFields = "bz";
                filter.WhereClause = string.Format("bz='{0}'", "cs");
                ICursor updateCursor = table.Update(filter, true);
                if (updateCursor != null)
                {
                    IRow row = updateCursor.NextRow();
                    while(row!=null){
                        int indexBZ = row.Fields.FindField("bz");
                        if(indexBZ>0){
                            row.set_Value(indexBZ,"cs1");
                        }
                        updateCursor.UpdateRow(row);
                        row = updateCursor.NextRow();
                    }
                    updateCursor.Flush();
                }
            }
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值