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