zoukankan      html  css  js  c++  java
  • 摘:通过ICursor对Table进行操作(添加、修改、删除)

    通过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();
    
  • 相关阅读:
    Java实现 LeetCode 211 添加与搜索单词
    跨平台Unicode与UTF8互转代码
    C++转换unicode utf-8 gb2312编码
    c++ ANSI、UNICODE、UTF8互转
    Visual C++ unicode and utf8 转换
    Unicode和UTF-8的关系
    boost uuid 学习笔记
    boost uuid
    Darwin Streaming server 的 Task 类
    VS2010下编译安装DarwinStreamingServer5.5.5
  • 原文地址:https://www.cnblogs.com/shenchao/p/3682616.html
Copyright © 2011-2022 走看看