1 .遍历所有mdb表库 取出表结构放在list中
2 .使用sde工作空间通过mdb中的表名称取出图层信息(出错则表结构不一样。。或者说sde中没有mdb中对应的图层)
IFeatureClass pSdeFeatureClass = m_FeatureWorkSpace.OpenFeatureClass((pFeatureClass as IDataset).BrowseName);
2 .取出每个表的字段放在fileds中
3 .跳过不需要检查的字段(比如 objectid (在mdb中和sde库中两个唯一标识符可能不一样,但是意义相同所以可以跳过,当然根据需要还可以跳过其他的标识符)
if (pfields.get_Field(j).Name.ToLower() == "objectid")
4 .判断mdb中的字段和sde中的字段是否一样
if (pSdeFeatureClass.Fields.FindField(pfields.get_Field(j).Name) < 0)
5 .判断每个字段的类型是否相同(根据需要是否要做这方面的判断)
if (pfields.get_Field(j).Type != pSdeFeatureClass.Fields.get_Field(pSdeFeatureClass.FindField(pfields.get_Field(j).Name)).Type)