你的位置:首页 > 数据库

[数据库]AO如何获取SDE数据库中的数据


/// <summary>
/// 获取Table类型表的记录
/// </summary>
/// <param name="relationCheckClass"></param>
/// <returns></returns>
private List<string> GetAllRecordFormTTable(RelationCheckClass relationCheckClass)
{
List<string> recordList = new List<string>();
ITable table = ((IFeatureWorkspace)m_Workspace).OpenTable(relationCheckClass.TableName);
if (table!=null)
{
string fieldName = relationCheckClass.TabelField;
int fieldIndex = table.FindField(Name: fieldName);
string fieldValue = "";
for (int i = 0; i < table.RowCount(null); i++)
{
fieldValue = table.GetRow(i).get_Value(fieldIndex).ToString();
recordList.Add(fieldValue);
}
}
return recordList;
}

/// <summary>
/// 获取要素类型表的记录
/// </summary>
/// <param name="relationCheckClass"></param>
/// <returns></returns>
private List<string> GetAllRecordFormFeatureTable(RelationCheckClass relationCheckClass)
{
List<string> recordList = new List<string>();
IFeatureClass pfeatureClass = ((IFeatureWorkspace)m_Workspace).OpenFeatureClass(relationCheckClass.TableName);
IFeatureCursor pfeatureCursor = null;
IFeature pfeature = null;
if (pfeatureClass!=null)
{
string fieldName = relationCheckClass.TabelField;
int fieldIndex = pfeatureClass.FindField(Name: fieldName);
int fieldObjectID = pfeatureClass.FindField(Name: "Objectid");
pfeatureCursor = pfeatureClass.Search(null, true);
pfeature = pfeatureCursor.NextFeature();
if (pfeature==null)
{
return null;
}
string fieldValue = "";
while (pfeature!=null)
{
fieldValue = pfeature.get_Value(fieldIndex).ToString();
recordList.Add(fieldValue);
pfeature = pfeatureCursor.NextFeature();
}
}
return recordList;
}