大家都知道SDE+企业级数据库中可以存储空间数据表(featureclass featuredataset)但是还有非空间数据表的操作,下面演示一下读取非空间数据表中的某一个值。
//pProSet 是接口IPropertySet对象实例
IFeatureWorkspace iIPtableWorkspace = (IFeatureWorkspace)factory.Open(pProSet, 0);
ITable iIPTable = iIPtableWorkspace.OpenTable("你的表名");
IQueryFilter queryFilter = new QueryFilterClass();
queryFilter.WhereClause = "查询语句";
//ICursor接口是用来处理非空间数据表的,IFeatureCursor是用来处理空间数据表的
ICursor iTableCursor = iIPTable.Search(queryFilter, true);
IRow ipRow = iTableCursor.NextRow();
if (ipRow != null)
{
//get_Value()用来获取查询到的数据的某一列数据
if (IPstr == ipRow.get_Value(3).ToString())
{
//featureClassName是全局变量
featureClassName = ipRow.get_Value(4).ToString();
if (sercurity.IsValid(out err))
{
errStr = err;
return true;
}
errStr = err;
//释放操作完的对象
CommonHelper.ReleaseComObject.releaseComObject(ipRow);
//获取查询到的数据的下一行
ipRow = iTableCursor.NextRow();
//return false;
}
errStr = "您无权使用本服务!";
return false;
}
基本上重点都写在了注释里面了,如果有疑问就评论下,如果大家有其他方法,欢迎指教小弟!