通过ICursor对Table进行操作(添加、修改、删除) 

连接上数据表的目的就是对其进行包括浏览、添加、修改、删除等基本操作。
浏览功能,之前文章中一提到,就是将Itable转换为DataTable与DataGridView的DataSource绑定实现。此文主要实现添加、修改以及删除功能。
(1)添加:
首先获取ITable,
ICursor cursor = table.Insert(true);
IRowBuffer pRowBuffer = table.CreateRowBuffer();
pRowBuffer.set_Value(1, strLayerName);
pRowBuffer.set_Value(2, strAliasLyr);
pRowBuffer.set_Value(3, strDataset);
pRowBuffer.set_Value(4, System.DateTime.Now);
pRowBuffer.set_Value(5, 1);
pRowBuffer.set_Value(6, strAliasDs);
cursor.InsertRow(pRowBuffer);
cursor.Flush();
(2)修改:
同样要先获取ITable,
IQueryFilter queryFilter = new QueryFilterClass();
queryFilter.WhereClause = "OBJECTID="+iIndex;//"LAYERNAME=" + strLayerName
ICursor cursor = table.Update(queryFilter, false);//true
IRow row = cursor.NextRow();
row.set_Value(row.Fields.FindFieldByAliasName("图层别名"), strAliasNew);//2
cursor.UpdateRow(row);
注:此处Update为重点,如果使用Search,游标可以指定到此行记录,但是在UpdateRow方法调用时会报错(Read Only)。
(3)删除:
IQueryFilter queryFilter = new QueryFilterClass();
queryFilter.WhereClause = "OBJECTID=" + iIndex;
ICursor cursor2 = table.Update(queryFilter, false);
IRow row2 = cursor2.NextRow();
row2.Delete();

摘:通过ICursor对Table进行操作(添加、修改、删除)的更多相关文章

  1. MySQL 字段常用操作 添加,修改,删除,调整字段顺序

    整理备忘: 添加字段:alter table 表名Add column 字段名 字段类型  默认值 AFTER 字段名 (在哪个字段后面添加) 例子: alter table appstore_sou ...

  2. 通过ICursor对Table进行操作(添加、修改、删除)

    通过ICursor对Table进行操作(添加.修改.删除) 2010-03-16 16:07:37|  分类: 工作|举报|字号 订阅 来自:http://blog.163.com/liuyang12 ...

  3. 打通前后端全栈开发node+vue进阶【课程学习系统项目实战详细讲解】(3):用户添加/修改/删除 vue表格组件 vue分页组件

    第三章 建议学习时间8小时      总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章] 演示地址:后台:demo ...

  4. JavaWeb_day03_员工信息添加修改删除

    day03员工的添加,修改,删除 修改功能 思路 : 点击修改员工数据之后,跳转到单行文本,查询要修改的员工id的全部信息,主键id设置为readonly,其余的都可以修改, 修改之后,提交按钮,提交 ...

  5. Web 1三级联动 下拉框 2添加修改删除 弹框

    Web  三级联动 下拉框 using System; using System.Collections.Generic; using System.Linq; using System.Web; u ...

  6. 【转】C#添加修改删除文件文件夹大全

    [转]C#添加修改删除文件文件夹大全 C#添加修改删除文件文件夹大全 StreamWriter sw = File.AppendText(Server.MapPath(".")+& ...

  7. SpringBoot定时任务升级篇(动态添加修改删除定时任务)

    需求缘起:在发布了<Spring Boot定时任务升级篇>之后得到不少反馈,其中有一个反馈就是如何动态添加修改删除定时任务?那么我们一起看看具体怎么实现,先看下本节大纲: (1)思路说明: ...

  8. Xamarin.Android 入门实例(4)之实现对 SQLLite 进行添加/修改/删除/查询操作

    1.Main.axml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns: ...

  9. js数组操作-添加,删除

    js 数组操作常用方法. push():在数组后面加入元素,并返回数组的长度 unshift():在数组前面加入元素,并返回数组的长度 pop()删除最后一个元素 shift()删除第一个元素 var ...

随机推荐

  1. Java常量字符串String理解 String理解

    以前关于String的理解仅限于三点:1.String 是final类,不可继承2.String 类比较字符串相等时时不能用“ == ”,只能用  "equals" 3.Strin ...

  2. IIS发布站点错误收集

    转载:http://www.cnblogs.com/hangwei/p/4249406.html 本文主要收集IIS在发布站点过程中遇到的错误,并提供解决办法.并亲测可行.如果您也在使用IIS发布站点 ...

  3. picker.js源码

    /** * LArea移动端城市选择控件 * * version:1.7.2 * * author:黄磊 * * git:https://github.com/xfhxbb/LArea * * Cop ...

  4. LINUX开启允许对外访问的网络端口命令

    LINUX通过下面的命令可以开启允许对外访问的网络端口: /sbin/iptables -I INPUT -p tcp --dport 8000 -j ACCEPT #开启8000端口 /etc/rc ...

  5. [翻译] Blocks and Variables

    Blocks and Variables https://developer.apple.com/library/ios/documentation/cocoa/conceptual/Blocks/A ...

  6. 卷积神经网络LeNet Convolutional Neural Networks (LeNet)

    Note This section assumes the reader has already read through Classifying MNIST digits using Logisti ...

  7. 深入JavaScript模块化编程

    今天看requirejs官网的manual,发现了下面这篇好文章,于是花点时间翻译了一下,翻译不好的地方请指正,谢谢!   推荐阅读原文:) http://www.adequatelygood.com ...

  8. 盗COOKIE之方法总结

    1.xss跨站盗cookie 2.ajax跨域盗cookie 3.hosts文件映射 对于第一种方法,首先:在有跨站漏洞的页面贴上跨站代码如: <script>window.open('h ...

  9. linux 网络设备驱动

    linux 网络驱动 谨以此文纪念过往的岁月 一.前言在linux中网络驱动也是一个大头,如何去理解网络驱动是作为一个linux驱动工程师必备的技能.不过同样的设备,在不同人的手中会有不同的效果,其原 ...

  10. java怎么删除List中的指定元素

    ArrayList al = new ArrayList(); al.add("a"); al.add("b"); //al.add("b" ...