专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > GIS

ArcGIS 开发的一个有关问题~SDE连接成功,图层却无法显示

发布时间:2010-06-06 17:16:04 文章来源:www.iduyao.cn 采编人员:星星草
ArcGIS 开发的一个问题~SDE连接成功,图层却无法显示
SDE连接成功,得到workspace,编译后在GUI上却是白板一个,图层却无法显示,但是提示有坐标的,调试不出来,大家帮我看看是什么原因。

原代码如下:
C# code

        private void Form1_Load(object sender, EventArgs e)
        {
            OpenSDEWorkspace("xt-fumeizhi-01", "5151/tcp", "xt", "sa", "123", "sde.DEFAULT");

            #region 

            //绑定要素到控件
            m_mapControl = (IMapControl3)this.axMapControl1.Object;
            m_pageLayoutControl = (IPageLayoutControl2)this.axPageLayoutControl1.Object;



            //初始化controls synchronization calss
            m_controlsSynchronizer = new
            ControlsSynchronizer(m_mapControl, m_pageLayoutControl);
                
            //把MapControl和PageLayoutControl绑定起来(两个都指向同一个Map),然后设置MapControl为活动的Control
            m_controlsSynchronizer.BindControls(true);

            //为了在切换MapControl和PageLayoutControl视图同步,要添加Framework Control
            m_controlsSynchronizer.AddFrameworkControl(axToolbarControl1.Object);
            m_controlsSynchronizer.AddFrameworkControl(this.axTOCControl1.Object);

            // 添加打开命令按钮到工具条
            OpenNewMapDocument openMapDoc = new OpenNewMapDocument(m_controlsSynchronizer);
            axToolbarControl1.AddItem(openMapDoc, -1, 0, false, -1, esriCommandStyles.esriCommandStyleIconOnly);
#endregion
        }
        public IWorkspace OpenSDEWorkspace(string Server, string Instance, string Database, string User, string Password, string version)
        {

            IPropertySet pPropSet = new PropertySetClass();
            IFeatureDataset pFeatureDataset;

            //设置SDE连接属性信息
            IWorkspaceFactory pSdeFact = new SdeWorkspaceFactoryClass();
            pPropSet.SetProperty("SERVER", Server);
            pPropSet.SetProperty("INSTANCE", Instance);
            pPropSet.SetProperty("DATABASE", Database);
            pPropSet.SetProperty("USER", User);
            pPropSet.SetProperty("PASSWORD", Password);
            pPropSet.SetProperty("VERSION", version);
            try
            {
                //打开一个工作空间
                pWorkspace = pSdeFact.Open(pPropSet, 0);
                if (pWorkspace is IFeatureWorkspace)
                {
                    pFeatureWorkspace = pWorkspace as IFeatureWorkspace;
                }
               

                //pFeatureWorkspace = pSdeFact.Open(pPropSet, 0) as IFeatureWorkspace;
                //pFeatureDataset = pFeatureWorkspace.OpenFeatureDataset("cities.sdc");
                pFeatureClass = pFeatureWorkspace.OpenFeatureClass("BOU1_4M_L");
                pFeatureLayer = new FeatureLayerClass();
                pFeatureLayer.FeatureClass = pFeatureClass;
                pFeatureLayer.Name = pFeatureClass.AliasName;

                //this.RenderLayer(pFeatureLayer);
                //pMap = axMapControl1.Map;
                axMapControl1.AddLayer(pFeatureLayer);
                //pMap.AddLayer(pFeatureLayer);
                axMapControl1.Refresh();

               
            }
            catch (Exception ex)
            {
                MessageBox.Show("SDE Cann't Connection");
            }
            return pWorkspace;

        }


------解决方案--------------------
map不会,看看
------解决方案--------------------
呵呵。出这样的问题够烦的。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: