GIS程序设计与开发AE实习教程实习十一:ArcGIS-Engine实现打开个人数据库(.mdb)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《ArcGISEngine+C#实例开发教程》ByDaniel—1/4—实习十一:ArcGISEngine实现打开个人数据库(.mdb)1、打开程序集——打开实习2-10所建项目;在“数据”菜单上点击,在其下拉菜单上输入“打开个人数据库”作为菜单的标题,并修改其Name,输入“MenuopenAccessDababase”作为菜单的名称,如图:2、选中“打开个人数据库”菜单,在属性框中点击事件按钮,在事件列表中双击Click事件;或者双击“打开个人数据库”菜单,得到自动生成的事件处理方法,我们将在方法内输入处理代码://打开个人数据库菜单命令privatevoidMenuopenAccessDababase_Click(objectsender,EventArgse){//打开对话框openFileDialog1.Filter=个人数据库(*.mdb)|*.mdb;openFileDialog1.Multiselect=false;openFileDialog1.FileName=;DialogResultpDialogResult=openFileDialog1.ShowDialog();if(pDialogResult!=DialogResult.OK)return;stringpPath=openFileDialog1.FileName;stringpFolder=System.IO.Path.GetDirectoryName(pPath);stringpFileName=System.IO.Path.GetFileName(pPath);//打开数据库IWorkspaceFactorypWorkspaceFactory=newAccessWorkspaceFactoryClass();IWorkspacepWorkspace=pWorkspaceFactory.OpenFromFile(pPath,0);if(pWorkspace!=null){MessageBox.Show(个人数据库+pFileName+已成功打开!);《ArcGISEngine+C#实例开发教程》ByDaniel—2/4—//调用添加数据集到Map的方法AddDataset2Map(pWorkspace);}else{MessageBox.Show(!警告:+pFileName+打开不成功……);}}//添加数据集到Map的方法privatevoidAddDataset2Map(IWorkspacepWorkspace){//获取工作空间内的数据集,参数为IEnumDatasetpEnumDataset;pEnumDataset=pWorkspace.get_Datasets(esriDatasetType.esriDTFeatureClass);IDatasetpDataset;pEnumDataset.Reset();pDataset=pEnumDataset.Next();IFeatureClasspFeatureClass=pDatasetasIFeatureClass;//创建图层IFeatureLayerpLayer=newFeatureLayerClass();pLayer.FeatureClass=pFeatureClass;pLayer.Name=pDataset.Name;while(pDataset!=null){MessageBox.Show(添加要素类+pDataset.Name+!);axMapControl1.AddLayer(pLayer);pDataset=pEnumDataset.Next();}}《ArcGISEngine+C#实例开发教程》ByDaniel—3/4—执行“生成(B)|生成解决方案(BF6)”,出现如下错误:“未找到类型或命名空间‘AccessWorkspaceFactoryClass(是否缺少添加using指令或程序集引用)’”添加using指令//为打开数据库添加引用usingESRI.ArcGIS.DataSourcesGDB;并添加程序集引用:ESRI.ArcGIS.DataSourcesGDB.《ArcGISEngine+C#实例开发教程》ByDaniel—4/4—3、编译运行按F5即可编译运行程序,使用“打开个人数据库”菜单,打开一个个人数据库(.mdb).——ByDanielLau刘志丹

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功