摘:通过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();

浙公网安备 33010602011771号