arcengine,深入理解游标Cursors,实现数据的快速查找,插入,删除,更新
风过无痕 原文 arcengine,深入理解游标Cursors,实现数据的快速查找,插入,删除,更新
深入理解游标Cursors,实现数据的快速查找,插入,删除,更新
1、查找数据Search Cursors
//by yl landgis@126.com yanleigis@21cn.com 2008.7.7
IEnvelope envelope = new EnvelopeClass(); envelope.PutCoords(508786, 681196, 513033, 684341); ISpatialFilter spatialFilter = new SpatialFilterClass(); spatialFilter.Geometry = envelope; String shpFld = featureClass.ShapeFieldName; spatialFilter.GeometryField = shpFld; spatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelIntersects; IQueryFilter queryFilter = new QueryFilterClass(); queryFilter = (IQueryFilter)spatialFilter;IFeatureCursor searchCursor = featureClass.Search(queryFilter, true);//只查询,true快一些 IFeature feature = searchCursor.NextFeature(); int n = 0; while (feature != null){n++;feature = baseCursor.NextFeature(); }
2、插入数据Insert Cursors—目前数据插入最快的方法
//by yl landgis@126.com yanleigis@21cn.com 2008.7.7
IFeatureBuffer featureBuffer = featureClass.CreateFeatureBuffer(); IFeatureCursor featureCursor = featureClass.Insert(true); object featureOID; featureBuffer.set_Value(featureBuffer.Fields.FindField("InstBy"), "B Pierce");for (int ic = 0; ic < 99; ic++) { featureBuffer.Shape = geometryfeatureOID = featureCursor.InsertFeature(featureBuffer); }featureBuffer.set_Value(featureBuffer.Fields.FindField("InstBy"), "K Johnston");for (int ic = 0; ic < 99; ic++) {featureBuffer.Shape = geometryfeatureOID = featureCursor.InsertFeature(featureBuffer); }featureCursor.Flush();
3、 数据删除 delete
//by yl landgis@126.com yanleigis@21cn.com 2008.7.7
IFeatureClass featureClass = featureWorkspace.OpenFeatureClass("Parcels");IQueryFilter queryFilter = new QueryFilterClass(); queryFilter.WhereClause = "ZONING_S = 'R'"; IFeatureCursor updateCursor = featureClass.Update(queryFilter, false);IFeature feature = updateCursor.NextFeature();int m = 0; while (feature != null) {m++;updateCursor.DeleteFeature(feature);feature = updateCursor.NextFeature(); }
4、数据更新 update
//by yl landgis@126.com yanleigis@21cn.com 2008.7.7
IFeatureClass featureClass = featureWorkspace.OpenFeatureClass("Parcels");// restrict the number of features to be updated.
IQueryFilter queryFilter = new QueryFilterClass();
queryFilter.WhereClause = "ZONING_S = 'U'";// use IFeatureClass::Update to populate IFeatureCursor
IFeatureCursor updateCursor = featureClass.Update(queryFilter, false);
int fieldindex = featureClass.FindField("ZONING_S");
IFeature feature = updateCursor.NextFeature();int m = 0;
while (feature != null)
{m++;feature.set_Value(fieldindex, "X");updateCursor.UpdateFeature(feature);feature = updateCursor.NextFeature();
}
转载于:https://www.cnblogs.com/arxive/p/6114330.html
arcengine,深入理解游标Cursors,实现数据的快速查找,插入,删除,更新相关推荐
- mysql利用外连接删除数据_MySQL-快速入门(6)连接查询、子查询、正则表达式查询、数据的插入删除更新...
1.内连接查询:inner join ... on 只有满足条件的记录才能够出现在结果关系中,即完全相等.自连接查询是一种特殊的内连接查询. 2.外连接查询: 1>左外连接 / 左连接:返回包括 ...
- 利用SQL语句对数据进行操作:插入、更新与删除数据行
My目录 前言 一.T-SQL的组成 二.插入数据行 1.一次插入一行数据 2.一次插入多行数据 三.更新数据行 四.删除数据行 前言 结构化查询语言(Structured Query Languag ...
- excel删除重复数据保留一条_Excel怎么快速查找和删除重复数据
我们用excel表格记录了大量的数据,当要做数据整理时候发现很多重复数据,那么怎么筛选删除呢? ---------------------------------------------------- ...
- Oracle数据库----表中数据的操作(插入、更新、删除数据)
文章目录 一.插入数据 插入多行数据的简单方法: 1.将表一的全部数据添加到表二中 创建副本Courses1,只复制Courses的结构 将Courses表中的数据拷贝到Courses1中 创建副本的 ...
- 使用python实现大数据的快速查找
使用Python查找大数据文件中与目标数据匹配的行数据. 代码实现如下: import win32api,win32conimport win32ui # #coding=utf-8 import o ...
- 12306泄露的数据,快速查找有木有你的, 编程实现示例
</pre><pre code_snippet_id="576257" snippet_file_name="blog_20150110_2_96436 ...
- 批量插入或更新数据(MyBatis-plus框架)
目录 1.场景说明 2.DUPLICATE 和REPLACE比较 3.批量插入或者更新(两种方式) 方式一:mybatis-plus的saveOrUpdateBatch方法 问题:如果操作类集成了基础 ...
- [导入]在SYBASE数据库中使用游标(Cursors)将多行查询结果进行逐行处理
在SYBASE数据库中使用游标(Cursors)将多行查询结果进行逐行处理 2000-08-16 14:47:33 在SYBASE数据库中,说明性数据库语言(SQL)是目前首推的最成功,应用最广泛的数 ...
- 一篇文章带你快速理解JVM运行时数据区 、程序计数器详解 (手画详图)值得收藏!!!
受多种情况的影响,又开始看JVM 方面的知识. 1.Java 实在过于内卷,没法不往深了学. 2.面试题问的多,被迫学习. 3.纯粹的好奇. 很喜欢一句话:"八小时内谋生活,八小时外谋发展. ...
最新文章
- java jms消息删除_activemq的topic消息一直都会存在数据库中,为什么不会删除
- Ansible roles角色实战案例:httpd nginx memcached mysql
- nginx+uWSGI + django部署项目
- 从javaScript数据类型开始了解垃圾回收机制
- 软件使用时间限制_利用家长控制限制孩子使用电脑时间,让其只能学习不能玩游戏...
- Hibernate.cfg.xml 整理
- c语言如何引用一维数组,C语言一维数组的定义和引用
- PL/SQL工具如何连接oracle数据库
- stm32mp1 Cortex M4开发篇6:TIM定时器中断
- 打开plsqldev报错解决
- IDEA中自动导包及快捷键
- 计算相关系数进行显著性检验
- oracle数据库还原指令,oracle中备份和还原数据库的命令汇总
- 计算机网络本直通线的制作方法,计算机网络技术实训报告模版--交叉线与直通线制作.doc...
- linux查看gc日志,GC通用日志解读
- Day_03——MySQL数据库查询语句练习
- 分数化成有限小数的方法_小数化成分数的方法
- 数字图像处理--冈萨雷斯第4版--第一章 绪论
- C++面试-interview
- caffe(ubuntu14.04)学习笔记1——运行MNIST数据集模型
热门文章
- 用计算机处理信息教学反思,《人工智能处理信息》教学反思
- python和c#哪个简单-最近学习 Python 的一些感触 (对比 C#)
- python判断奇偶数字符串的拼接_Python字符串拼接方法总结
- android官方架构组件,Android 架构组件官方文档01——LifeCycle
- app http routes.php,Laravel:我的应用程序没有被路由(Laravel : My app doesn't get routed)
- mysql不同版本会覆盖吗,[mysql不同版本数据库同步]mysql数据库主从同步,master和slave上的mysql必须版本一样吗,如果不一样会有什么结果?...
- deepin下载python_深度操作系统中怎样下载python?
- linux find 权限不够,超级用户find: `/home/pipi/.gvfs': 权限不够
- 自学python条件_自学Python2.8-条件(if、if...else)
- OPC服务器如何采集设备的信息,如何将OPC服务器采集的设备数据转为MQTT方式,实现云端发布或订阅...