《基于GIS的市政设施管理系统.doc》由会员分享,可在线阅读,更多相关《基于GIS的市政设施管理系统.doc(56页珍藏版)》请在三一办公上搜索。
1、基于GIS的市政设施管理系统摘 要基于GIS的施政设施管理系统采用了以C#为前台,SQL Server 2000为后台的设计方法,具体实现了电子地图的控制功能,市政设施数据管理功能和系统维护功能。本文详细论述了系统的设计和实现的过程,包括系统的需求分析,概念设计,逻辑设计,应用程序设计和主程序的调试和试运行情况,最后介绍了本系统的使用说明。在需求分析中着重介绍了系统的功能设置及系统的数据流程图和数据字典。实体及其之间关系模型的设计即概念设计和逻辑设计也在本文中进行了详细的说明。在系统的应用程序设计中,叙述了系统的主窗口界面和各部分的功能模块的设计思想及实现的方法。系统程序调试章节中叙述了在调试
2、中遇到的问题和解决的方法。关键词GIS; 市政设施; 管理系统Management System Of Municipal Facilities Based On GISAbstractThis dissertation introduces the course of design of Management system of municipal facilities based on GIS, included of requirement analyse, conception design, logic design, application design, main program
3、 debugging and running test of main program, in the end, it introduces the using explain of the system. In the paragraph of requirement analyse, it particularly introduces general situation of system, function setting, collectivity target, structure of main system and subsystem, data flow chart and
4、data dictionary of system. Conception design and logic design which aim at data design for this system, explain the designs of all kinds of information tables. In the part of application design, at first it introduces a software and modules for developing this system, then the main window and functi
5、on of every part in the window, in the end it explains design idea and method of functions in every subsystem, there are also some code for that. The paragraph of program debugging and running describes some debugging problems and how to deal with them, and show the running status in function test.K
6、ey WordsGIS; Municipal facilities; Management system目 录绪 论11 基于GIS的市政设施管理系统的需求分析31.1 系统概况31.2 系统功能说明31.3 系统总体达到的目标61.4 系统总体结构和子系统结构61.4.1 系统总体结构61.4.2 子系统结构61.5 系统的数据流程图和数据字典101.6 系统的软硬件支持环境122 基于GIS的市政设施管理系统的概念设计123 基于GIS的市政设施管理系统的逻辑设计134 基于GIS的市政设施管理系统的应用程序设计154.1 相关软件介绍154.2 主窗口设计164.3 功能模块设计184.
7、3.1 电子地图控制子系统功能模块设计184.3.2 电子地图显示子系统功能模块设计204.3.3 电子地图输出子系统功能模块设计214.3.4 查询子系统功能模块设计224.3.5 数据修改子系统功能模块设计234.3.6 帮助子系统功能模块设计274.3.7 其他功能模块设计系统维护功能模块275 系统程序调试与试运行情况286 系统的使用说明35结论36致谢37主要参考文献37外文资料翻译38绪 论为了满足GIS对地球表面、空中和地下的若干要素空间分布和相互关系的研究,GIS都具有公共地理定位基础、标准化和数字化、多维结构的特点。此外,GIS还具有数据输入、存贮、编辑、查询、检索、显示输
8、出的功能,能进行各种操作运算和应用分析,并易于更新维护。GIS对图形的编辑处理是其用户界面的最显著的特点之一。一般来说GIS的特点为:空间可视化,空间导向,空间思维。GIS概念的提出要追溯到二十世纪五十年代,计算机科学在测量学和地图制图学中的应用,使人们开始有可能用电子计算机来收集,存储和处理各种与空间和地理分布有关的图形和属性数据,并希望通过计算机对数据的分析来直接为管理和决策服务。奥地利测绘部门首先建立了地籍数据库,而后加拿大的测量学家首先提出了地理信息系统这一术语,并建立了世界上第一个GIS加拿大地理信息系统,用于自然资源的管理和规划。六十年代IBM和COLORADO也开始致力于GIS的
9、研究和相关软件的开发。七十年代受计算机软硬件发展的促进,GIS技术朝实用化方向发展,一些发达国家将GIS 投入实际应用,与此同时,GIS软件得到很大的发展,成为一个引人注目的领域。而后的几十年中GIS得到了普及和推广应用,GIS软件的发展主要在开放GIS的研究;关系数据库和GIS的结合;GIS构件的开发和互联网成为了GIS新的操作平台。随着数字化信息产品的普及,GIS 已经成为了人们生产生活中不用可缺少的工具和助手。绝大多数的GIS,主要处理二维空间数据,从这些数据中经过处理得出的有用的信息,既可以通过图形图像的形式表达,也可以统计图,表格和各种各样的人机交互形式来表达。GIS可通过获取,输入
10、,操作,传输,可视化,组合,查询,分析,建模和输出数据的形式为土地利用,自然资源,环境,运输,城市设施和其它管理的规划和管理提供决策支持。目前的GIS的研究和应用都处在一个高速发展的阶段,未来若干年空间数据的采集和GIS技术将会有更新更大的发展,从而给城市空间数据生产和GIS应用增添新的活力。卫星影像技术,数字摄影测量和空间定位技术的发展将为GIS的发展提供支持,新的数据获取和更新技术的发展,新数据形式的应用,数据共享政策及其实施,国家多尺度空间数据基础设施的建设以及数字地球和数字城市的建设都将大大改善城市空间数据的状况。GIS技术的将在城市发展中得到实际应用,从而提高了GIS系统的应用的水平
11、。城市GIS将进一步转向应用,为城市的发展建立一整套的数字信息,将会带来极大的实际效益,GIS也将真正走向产业化和市场化。本系统是基于GIS的市政设施管理系统,通过本系统,可以实现对市政设施的信息化管理,提高各市政部门的协同工作,改变现有的对设施的管理模式。系统的设计主要依据城市市政监管信息化系列标准,通过C#平台来实现。1 基于GIS的市政设施管理系统的需求分析1.1 系统概况 基于GIS的市政设施管理系统的功能主要是对市政设施进行查找和管理,这是适应市政管理现代化,数字化和信息化的要求,结合已经制定的城市市政监管信息化系列标准,可以实现市政设施管理的无纸化操作,不但提高了工作效率,而且可以
12、实现各个市政部门之间的协作。系统的开发使用C#平台和MapObjects2.3组件,可以对地图进行操作,实现地理位置和市政设施属性的互动,使用户得到更直观的信息。通过在C#中嵌入MO2.3便可以进行基于GIS的市政设施管理系统的开发。考虑到系统的应用范围和对象,主要实现两大关键功能,查找功能和数据修改功能,并可以通过地图标记辅助查找定位功能。1.2 系统功能说明基于GIS的市政设施管理系统主要是为市政部门提供一个信息化的管理方式,系统为一般用户提供了设施查找和定位功能,也为专业用户提供了数据修改功能以实现数据信息的更新。本系统分为七大子系统:电子地图控制子系统,电子地图显示子系统,电子地图输出
13、子系统,查询子系统,数据修改子系统,帮助子系统,其他(系统维护)。(1) 电子地图控制子系统电子地图控制子系统主要是对电子地图进行操作,实现放大,缩小,漫游的功能,并可以对电子地图的图层进行选择显示。(2) 电子地图显示子系统电子地图显示子系统是控制系统各个地图显示的模块,可以对所显示的地图做标记并可以通过刷新消除标记,显示所选择的地图,鹰眼功能可以在主地图显示范围变化时显示出主窗口地图在全比例地图下的位置和范围。(3) 电子地图输出子系统电子地图输出子系统是对主窗口地图窗口范围或全部范围输出,并保存为bmp格式图片或通过打印机打印出来,满足不同的保存需求。(4) 查询子系统查询子系统是本系统
14、中的关键功能之一,用户可以通过此功能方便的查找到所需的设施。系统提供了两种查找方式:一个是通过选择部件或事件的大类和小类来查找相同类别的所有设施部件或事件;另外一个是通过物理位置查找,输入坐标和距离中心坐标点的位移来查找距离中心点某距离的所有设施部件或所有事件,或者在结果列表中选择一个部件或者事件,再选择距离后就可以查找得到和所选部件或事件某距离内的所有部件或事件。设置这两种查找方式的原因是考虑到市政管理的特点,需要对相同类别的设施部件或事件进行查看分析,而查找某个坐标点或区域的设施部件或事件以便于市政部门分析区域事件进行设施维护和管理。(5) 数据修改子系统数据修改子系统也是本系统中关键功能
15、之一,用户通过此子系统模块实现对市政设施部件或事件及其属性的新建,修改和删除功能。部件和事件的属性设置根据城市市政监管信息化系列标准设置,通过主界面上或菜单栏中的数据修改功能的选项即可对数据库中的数据进行操作。新建功能:选择此选项即可往数据库中添加新的部件或事件,在大小类别选择框中选择要新建的项目类别,然后输入相关属性即可添加成功;修改功能:首先通过大小类别下拉框选择要修改项目的类别,然后在结果列表中选择具体的部件或事件,也可以通过坐标查找要修改的具体的部件或事件,此时属性框中显示的属性即为修改前的属性设置,对某属性修改后点击修改按钮即可,当再次选择此部件或事件时,属性框显示的即为修改后的属性
16、设置;删除功能:通过大小类别下拉框选择要删除项目的类别,然后在结果类别中选择具体的部件或事件,同样可以通过坐标查找要修改的具体的部件或事件,点击删除按钮即删除并刷新数据库通过结果列表显示。数据修改功能使市政设施管理系统保证数据适时更新,准确地反映现实情况,为市政管理提供最有力的支持。(6) 帮助子系统GIS系统相对来说是专业性比较强的系统,对于一般的用户使用起来可能会觉得有困难,因此在本系统中实现了帮助功能,单机帮助功能通过帮助文档能够为用户提供一般问题的帮助,当帮助文档不能解决所遇到的问题时,可以通过在线帮助链接帮助网页来解决更新的帮助文档不能解决的问题。帮助功能使初次使用的用户更容易适应本
17、系统,并使本系统发挥很好的作用。(7) 其他(系统维护)系统维护功能为系统的升级和日常维护提供了便利的接口,通过系统界面上的功能设置即可对数据库的数据进行操作而不必进入数据库中设置数据,使系统维护的难度降低,更加平民化,便于市政部门对系统的日常维护,不需数据库或系统的设计人员来做系统维护。系统维护提供了大小类别的维护功能,通过系统主界面菜单栏系统维护选项即可进行维护操作,分别为大类别中部件和事件维护,小类别中部件和事件维护。为了保证数据的正确性,设定为系统维护后要求重启系统。1.3 系统总体达到的目标界面设计简单,美观;用户能够直接使用系统而不必接受培训;数据能够有效地更新;数据的更新不会影响
18、到系统运行的稳定性;系统运行的结果能够有效反映相关数据的更新;保证系统的易维护性。1.4 系统总体结构和子系统结构1.4.1 系统总体结构根据本系统的功能设置,系统的总体结构为:基于GIS的市政设施管理系统 电子地图控制子系统 电子地图显示子系统 电子地图输出子系统 查询子系统 数据修改子系统 帮助子系统 其他功能图1.1 系统总体结构图1.4.2 子系统结构根据子系统的功能设置,电子地图控制子系统结构为:电子地图控制子系统 地图放大 地图缩小 地图漫游 地图图层选择图1.2 电子地图控制子系统结构图根据子系统的功能设置,电子地图显示子系统结构为:电子地图显示子系统刷新清除标记显示所选择地图及
19、其图层鹰眼功能显示市政设施部件或事件标记图1.3 电子地图显示子系统结构图根据子系统的功能设置,电子地图输出子系统结构为:电子地图输出子系统主窗口地图输出主窗口地图窗口部分输出输出格式为.bmp的图像文件从打印机输出输出格式为.bmp的图像文件从打印机输出图1.4 电子地图输出子系统结构图根据子系统的功能设置,查询子系统和数据修改子系统结构为:查询子系统和数据修改子系统查询子系统数据修改子系统通过类别查找通过物理位置查找数据添加数据修改数据删除图1.5 查询子系统和数据修改子系统结构图根据子系统的功能设置,帮助子系统和其它功能部分系统结构为:帮助子系统和其它功能部分帮助子系统其它功能单机帮助在
20、线帮助系统维护图1.6 帮助子系统和其它功能部分系统结构图基于GIS系统的市政设施管理系统根据各大功能类别将系统分为七大子系统,每个子系统由各自的功能模块组成,这样的子系统分类方式有利于系统的设计和代码的维护,也利于实现代码模块之间的相互独立,通过一些接口调用其它模块,也符合面向对象编程的思想。1.5 系统的数据流程图和数据字典图1.7 数据流程图下面列出数据字典:表1.1 部件数据字典名称CityObj如何使用查询时输出,数据修改是输入描述CityObj=基本属性 | 基本属性+扩展属性基本属性=标识码,名称,所属部门,所在万米单元,位置描述,状态,现势性,初始时间,变更时间扩展属性=源比例
21、尺,备注表1.2 事件数据字典名称CityEvent何处使用查询时输出,数据修改时输入描述CityEvent=基本属性基本属性=代码,名称,归属部门,问题位置,所在单元网格表1.3 部门数据字典名称DeptList何处使用和部件表,事件表关联。查询时输出描述DeptEvent=基本属性基本属性=单位序号,单位代码,专业部门名称,单位类别表1.4 地区代码编码数据字典名称LocCode何处使用和部件表,时间表关联。查询时输出描述LocCode=地区编码,地区名称表1.5 部件大小类别数据字典名称ObjLevel何处使用和部件表关联。查询时输出,系统维护时输入描述ObjLevel=Obj2Code
22、,Obj1code,Obj2Name,Obj1Name表1.6 事件大小类别数据字典名称EventLevel何处使用和事件表关联。查询时输出,系统维护时输入描述EventLevel=Event2Code,Event1Code,Event2Name,Event1Name1.6 系统的软硬件支持环境从本系统的应用范围和对象考虑,软硬件要求比较低。采用C#的编程平台和SQL2000数据库作为后台的编程方式也使本系统的通用性移植性比较强,各个市政部门的计算机和移动计算设备都可以运行。考虑到SQL数据库数据量比较大,建议使用256M内存,主频为1.3G以上的处理器,硬盘空间参考数据库存储量。系统编程平台
23、为:C#为前台,SQL2000为后台。2 基于GIS的市政设施管理系统的概念设计图2.1 系统E-R图3 基于GIS的市政设施管理系统的逻辑设计(1) 市政设施部件基本信息表(CityObj)表3.1 部件基本信息表列名属性项数据类型长度允许空主关键字Code标识码Char160Name名称Char300DeptNameID归属部门Char600GBCode所在万米单元Char120Pos位置描述Char300ObjState状态Char300ObjUseState现势性Char300BeginTime初始时间Date100EndTime变更时间Date100MapScale源比例尺Numbe
24、r101Memo备注Char1001(2) 市政事件基本信息表(CityEvent)表3.2 事件基本信息表列名属性项数据类型长度允许空主关键字Code代码Char100Name名称Char300DeptNameID归属部门Char600Pos问题位置Char300GBcode所在单元网格Char120(3) 市政部门基本信息表(DeptList)表3.3 部门基本信息表列名属性项数据类型长度允许空主关键字DeptID单位序号Char100DeptCode单位代码Char100DeptName专业部门名称Char600DeptClassCode单位类别Char20(4) 地区代码基本信息表(L
25、ocCode)表3.4 地区代码基本信息表列名属性项数据类型长度允许空主关键字LocCode地区编码Char60LocName地区名称Char300(5) 单位分类基本信息表(DeptClass)表3.5 单位分类基本信息表列名属性项数据类型长度允许空主关键字DeptCode分类代码Char20DeptName单位名称Char600(6) 部件分类基本信息表(ObjLevel)表3.3 部件分类基本信息表列名属性项数据类型长度允许空主关键字Obj2Code小类别代码Char20Obj1Code大类别代码Char20Obj2Name部件名称Char300ObjDeptName部件归属单位Char
26、600ObjSuppDeptN部件处理单位Char600(7) 事件分类基本信息表(EventLevel)表3.3 事件分类基本信息表列名属性项数据类型长度允许空主关键字Event2Code小类别代码Char20Event1Code大类别代码Char20Event2Name事件名称Char300EventDeptID事件处理单位Char6004 基于GIS的市政设施管理系统的应用程序设计4.1 相关软件介绍C#是可用于创建要运行在NET CLR上的应用程序的语言之一,它是从C和C+语言演化而来,是Microsoft专门为使用.NET平台而创建的。因为C#是近期发展起来的,所以吸取了以前的教训,
27、考虑了其他语言的许多优点,并解决了它们的问题。使用C#开发应用程序比使用C+简单,因为其语法比较简单,而且C+的能完成的任务在C#中也能完成。C#代码通常比C+略长一些,这是因为C#是一种类型安全的语言,而且C#的代码更健壮,调试也比较简单,.NET总是可以随时追踪数据的类型。C#只是.NET开发的一种语言,也是最好的一种语言,它有很多的优点:首先它是唯一为.NET Framework而设计的语言,是在移植到其他操作系统上的.NET版本中使用的主要语言。MapObjects是ESRI在一九九六年推出的基于软件开发的地图和GIS组件,是ESRI的一个单独开发的产品,在短短的几年里就得到了广发的应
28、用,MapObjects2.2增加了对.NET的支持,最新的版本MapObject2.3增加了一些补丁。MO作为一套制图软件集,它是程序员能够把地图加到应用程序中去,通过MapObjects便可灵活的建立适合用户的地图接口,在小内存空间中,用户可以用多种工业标准程序环境之一去建立应用程序,来实现地图与用户信息的联系。MO的功能有:显示一张多图层的地图(道路,河流,边界等);地图的放大,缩小,漫游;生成图形元素,如点,线,圆,多边形;说明标记;识别地图上被选中的元素;通过线,方框,区域,多边形,圆来拾取物体,拾取距参照物特定范围内的物体;通过SQL描述来选择物体;对所选择的物体进行基本统计,对所
29、选地图元素的属性进行更新;绘制地图元素,标注地图元素;从航片或卫星图片上截取图像;动态显示实时或系列时间组数据;在图上标注地址或定位。通过在C#中嵌入MO2.3便可以进行GIS系统的二次开发,其中对地图的操作可以通过MO中的控件进行一些程序代码完成。4.2 主窗口设计根据系统的功能要求和方便使用的原则,主窗口设计如下图4.1:图4.1 主窗口设计图窗口上方的工具栏按钮依次为:系统维护,放大,缩小,刷新,漫游,输出,查询,数据修改,图例,帮助和退出。左侧的output_listbox是查询结果列表,显示查找结果和地图标记信息;下方是鹰眼地图显示窗口。右侧为查询和数据修改功能栏,可以进行查找和数据
30、修改操作。中间空白处即为主地图显示窗口,显示所选择地图的相关图层。最右侧的一列小按钮是地图操作按钮,可以进行点选择,矩形选择,多边形选择操作和距离,面积量算。4.3 功能模块设计4.3.1 电子地图控制子系统功能模块设计电子地图控制子系统主要包括地图放大,地图缩小,地图漫游三个功能模块。(1)地图放大功能模块。此功能实现了地图的放大显示,方便用户的查询和查看。点击一次放大2倍,放大倍数同界面地图显示主窗口右上方的地图倍数选择快捷键相对应,地图载入时初始状态为原始比例。在进行快捷键实现放大和缩小功能前需设定屏幕中心点,以便在放大后保证地图的显示中心不变,具体语句如下:MapObjects2.Po
31、int pt;/设定中心点pt = _map.Extent.Center;放大为200%(放大其他倍数方法同放大为2倍,)时具体实现如下:MapOpr.MO_ZOOMIN:if(_environment.CalcScale(_map)MAX_SCALE)return;/达到最大倍数时不能继续放大MapObjects2.Rectangle rect;rect=_map.TrackRectangle ();double dScale=_environment.CalcScale(_map);double dScale=_environment.CalcScale(_map,rect);double
32、 dWidth=rect.Width ;double dHeight=rect.Height ;if(null=rect) | (dWidth0.00005) | (dHeight0.00005) | (dScaleMAX_SCALE)为if(_environment.CalcScale(_map)MIN_SCALE)和倍数参数设置语句r.ScaleRectangle (0.5)为r.ScaleRectangle (2.0)即可。(3)地图漫游功能模块。此功能实现了地图的拖动显示,方便用户的查询和查看。具体实现语句可以直接调用MO的方法:case MapOpr.MO_PAN:_map.Pan
33、();_mapEye.Extent =_mapEye.Extent;4.3.2 电子地图显示子系统功能模块设计电子地图显示子系统主要包括电子地图鹰眼显示,地图标记和清除标记三个功能模块。(1)地图鹰眼显示功能模块。此功能主要为用户提供主窗口地图在某倍数下窗口范围在地图上的地理位置,可以方便的看到窗口范围显示的地图部分在全图中的方位。主窗口地图显示的倍数越大,鹰眼窗口中显示窗口地图范围的矩形框就越小,反之则越大,鹰眼地图适中以全图显示,地图倍数不会发生变化,也不允许用户更改。鹰眼地图图层的加入通过LoadLayersForEagleEye()layer.GeoDataset = _environ
34、ment.m_db.FindGeoDataset(_environment.m_layerInfosi.szFileName); _mapEye.Layers.Add(layer);来实现(上面是功能实现的主要语句,一些判断语句省略)。(2)地图标记功能模块。此功能主要是为了方便用户更快的找到所需查找的信息,在点击结果列表中的部件或事件时,左侧的操作面板中的属性框会显示其属性,而主窗口地图则会移动以部件或事件地理位置为中心点显示,并且在动态层上用一个红色圆圈标记出地理位置,直到用户清除标记或重启系统为止。(3)清除标记功能模块。这个功能与地图标记功能相对,当用户使用此功能时,标记在动态层上的所
35、有标记都被清除。4.3.3 电子地图输出子系统功能模块设计电子地图输出子系统主要是方便用户以文件形式保存地图信息,通过MO中的Print方法设置参数即可实现:_map.PrintMap(_environment.m_mapInfos_environment.m_nCurrMapIndex.szName,true)4.3.4 查询子系统功能模块设计查询子系统的查询方式主要为两种:通过大小类别查询和通过地理位置查询。此项功能和市政数据库相联系,首先介绍一下数据库和系统的连接。通过以下语句保证数据库和软件相链接,SqlConnection Conn = new SqlConnection(Integ
36、rated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=bisheEND;Data Source=wubin; Workstation ID=WORKGROUP);(1)通过大小类方式查询模块。这种查询方式是为了方便查找同种类别的设施部件或事件,listBox1即为结果列表。listBox1.DataSource=dso.TablesObjlist;listBox1.DisplayMember=dso.TablesObjlist.ColumnsName.ToString();listBox1.Valu
37、eMember=dso.TablesObjlist.ColumnsCode.ToString();如果显示的是事件则dso修改为dse。(2)通过地理位置方式查询模块。这种查询方式是为了方便用户查询某个地理位置上或其附近的设施部件或事件的情况,查询实现利用数据库的select语句。具体实现的关键语句如下:xaxis=Convert.ToSingle(textBox3.Text);yaxis=Convert.ToSingle(textBox4.Text);cd.CommandText=SELECT Code, Name , DeptNameID, GBCode, Pos, ObjState, O
38、bjUseState,BeginTime, EndTime, MapScale, Memo,xaxis,yaxis FROM CityObj where sqrt(xaxis-(+xaxis.ToString()+)*(xaxis-(+xaxis.ToString()+)+(yaxis-(+yaxis.ToString()+)*(yaxis-(+yaxis.ToString()+)=+textBox5.Text.ToString();其中textBox3和textBox4是设施部件或事件的坐标属性值,textBox5的值是用户输入的查找距离值。根据输入的查找距离值由select语句在结果列表中
39、输出查找结果。通过以上两种查找方式查找的结果通过结果列表显示出来,单击其中一个结果,其属性就会在左侧的操作面板的属性框中显示出来,并且在地图上显示出此查找结果的地理位置以红色圆圈标记提示用户。实现主要语句如下:listBox1_SelectedValueChanged(object sender, System.EventArgs e)textBox20.Text=dso.TablesObjlist.RowslistBox1.SelectedIndex.ItemArray0.ToString().Substring(0,6);textBox2.Text=dso.TablesObjlist.Ro
40、wslistBox1.SelectedIndex.ItemArray1.ToString();花括号中的语句是比较有代表性的两个语句,其他类似的语句省略。4.3.5 数据修改子系统功能模块设计数据修改子系统的主要有三个功能模块,这三个功能实现用户对数据的维护更新,保证数据的时效性,这三个功能也是要求最稳定的功能,不能使不符合规定格式的数据输入,也不能对数据操作错误不做出提示。因此在本子系统中多次使用了消息对话框,对用户的操作做出提示或警告。(1)数据添加功能模块。首先选择需要添加的大小类别,然后系统自动根据用户选择的类别判断是市政事件还是市政部件,并根据类别判断显示出不同的属性填写选择,区别如
41、下图4.2,图4.3所示。图4.2 市政事件属性图4.3 市政设施部件属性根据系统判断的部件或者事件,添加功能将数据分别添加进部件数据库CityObj或事件数据库CityEvent,具体实现语句如下(部分):cd.CommandText=SELECT * FROM CityObj where Code=+textBox20.Text+textBox19.Text+textBox18.Text+textBox17.Text+;DataRow NewDrow=dso.TablesObjlist.NewRow();NewDrow0=textBox20.Text+textBox19.Text+text
42、Box18.Text+ textBox17.Text;NewDrow1=textBox2.Text;dso.TablesObjlist.Rows.Add(NewDrow);并且在程序中有个判断语句可以判断是否重复输入,如果重复输入某部件则弹出提示:MessageBox.Show(已存在此部件!);(2)数据修改功能模块。数据修改功能配合查找功能模块使用,当需要修改某项数据时,先查找到该数据然后在文本框中输入新数据点击修改按钮即可修改此项数据。以下是数据库操作的典型代码示例:DataRow Updrow1=dso.TablesObjlist.RowslistBox1.SelectedIndex;Updrow1.BeginEdit();Updrow11=textBox2.Text;Updrow1.EndEdit();同样,为了防止数据修改错误,系统严格规定了数据的格式,在数据库出现异常时将会以消息框的形式给出警告。catch(Exception ee) Messag