在AE中通过SDE添加图层(转)
{
//< span style="color: #008000;">定义一个属性
< ;/span> IPropertySet Propset = new PropertySetClass();
if (ChkSdeLinkModle == true) // 采用SDE连接
{
//设置数据库服务器名
Propset.SetProperty("SERVER", "zj-pc");
//设置SDE的端口,这是安装时指定的,默认安装时"port:5151"
Propset.SetProperty("INSTANCE", "port:5151");
//SDE的用户名
Propset.SetProperty("USER", "sde");
//密码
Propset.SetProperty("PASSWORD", "sde");
////设置数据库的名字,只有SQL Server Informix 数据库才需要设置
//Propset.SetProperty("DATABASE", "sde");
//SDE的版本,在这为默认版本
Propset.SetProperty("VERSION", "SDE.DEFAULT");
}
else // 直接连接
{
//设置数据库服务器名,如果是本机可以用"sde:sqlserver:."
Propset.SetProperty("INSTANCE", "orcl");
//SDE的用户名
Propset.SetProperty("USER", "sde");
//密码
Propset.SetProperty("PASSWORD", "sde");
//设置数据库的名字,只有SQL Server Informix 数据库才需要设置
//SDE的版本,在这为默认版本
Propset.SetProperty("VERSION", "SDE.DEFAULT");
}
IWorkspaceFactory Fact = new SdeWorkspaceFactoryClass();
IFeatureWorkspace Workspace = (IFeatureWorkspace)Fact.Open(Propset, 0);
IFeatureClass Fcls = Workspace.OpenFeatureClass("SDE.HistoryTrackLine");
IFeatureLayer Fly = new FeatureLayerClass();
Fly.FeatureClass = Fcls;
IFeatureClass Fcls1 = Workspace.OpenFeatureClass("SDE.province");
IFeatureLayer Fly1 = new FeatureLayerClass();
Fly1.FeatureClass = Fcls1;
m_mapControl.Map.AddLayer(Fly1);
m_mapControl.Map.AddLayer(Fly);
m_mapControl.ActiveView.Refresh();
}