山洪灾害监测预警系统_毕业设计论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业(设计)论文课题名称:山洪灾害防治非工程措施
摘要
基于3G的山洪灾害预警系统,是国家防治山洪灾害的一项重要的非工程性措施。
系统通过接收水雨情监测站采集的水雨情数据,进行分析处理,实现水雨情实时监测,当水雨情达到或超过临界值时,系统自动报警,利用预警发布功能,可将预警信息通知有关成员单位、防汛责任人,通知危险区居民,做好山洪转移撤离、抢险准备,最大地减少人员和财产损失。
山洪灾害预警系统是以基础空间信息为基础,以水雨情数据管理为核心;以现代计算机技术、GIS技术、近代流域水文模型等技术相结合为手段;将基础信息、水雨情、工情数据进行统一管理,通过实时监测和预报模型进行预报分析,结合预案内容进行报警和预警,发布预警信息,收集应急反馈。
本系统由实时监控模块,雨水情服务模块,预警发布模块,气象国土模块,基础信息模块,应急响应模块,信息管理模块,PDA系统模块,系统后台模块等八大模块组成,意在建立全面、规范、合理、通用的山洪监测预警信息基础资料数据库及山洪监测预警信息监测及发布的应用软件,改善山洪等灾害信息的管理手段,提高山洪灾害管理的工作效率和水平。
关键词:基于3G山洪灾害监测预警系统,Telerik控件,C#,Socket,.NET,SQLSERVER 2005,VS 2010。
目录
1.1系统设计背景 (1)
1.2系统目标 (1)
1.3系统任务 (2)
1.4 本人完成的主要工作 (2)
2.1 Visual Studio 简介 (4)
2.2 SQL Server 2005 Database (4)
2.3 NET Framework 概述 (5)
2.4 概述 (5)
2.5 B/S结构 (6)
2.5 RadGrid控件概述 (7)
3 概要设计和数据库设计 (8)
3.1 系统结构 (8)
3.2 系统的设计方案 (9)
3.3 系统的设计约束 (9)
3.4 数据库设计 (10)
3.4.1 数据库需求分析 (10)
3.4.2数据库逻辑设计 (11)
4.系统的设计及其实现 (14)
4.1系统结构概述 (14)
根据山洪灾害监测预警系统的需求,信息管理模块主要完成对各模块信息的收集,整合以及处理。
本人主要负责的是对各模块数据的添加,删除和修改,主要功能结构图如图4-1: (14)
4.2 各系统模块的实现 (15)
4.2.1 主界面的实现 (15)
4.2.2添加模块的实现 (18)
4.2.3 删除模块的实现 (20)
4.2.4 修改模块的实现 (21)
5 系统测试 (24)
5.1 测试 (24)
5.2 单体测试 (24)
5.3 集成测试 (25)
参考文献 (28)
概述
1.1系统设计背景
山洪灾害是山丘区在一定强度或持续的降雨下,因特殊的地形地质条件而发生的自然灾害,它具有突发、破坏性大、防治困难的鲜明特点,山洪及其诱发的泥石流和滑坡,往往对局部地区造成毁灭性灾害,对国民经济和人民生命财产造成重大损失。
近年来,我国山洪灾害问题日益突出,每年都造成大量人员伤亡,严重影响社会经济发展。
山洪灾害的防御策略是“以防为主,防重于抢”,防御防治的方法是既要采取工程措施,提高工程防洪标准,也要采取非工程措施,建立综合防洪减灾体系,提高防灾抗风险能力。
建立山洪灾害预警系统,是国家防治山洪灾害的一项重要的非工程性措施。
在这种种不利的情况下,山洪灾害监测预警系统的出现也就显得应运而生了。
基于3G的山洪灾害监测预警系统是山洪灾害防治工作的重要组成部分,其目的是在于通过相关信息系统技术手段,达到对山洪灾害进行实时监测、并及时发布预警的功能,其主要模块包括实时监控、雨水情服务、预警发布、气象国土、基础信息、应急响应、信息管理、PDA系统、系统后台等八大模块。
1.2系统目标
建设基于3G的山洪监测预警系统,实时收集主要控制点雨水情、工情等信息,达到宏观掌握雨水情变化,重点区域重点监控;开展以完善防御预案、强化群测群防体系、宣传防御知识、提高全民防灾避灾意识等非工程措施为主的试点建设,有效防御山洪灾害,改变山洪灾害日趋严重的局面,最大限度地减少人员伤亡和财产损失。
系统建成后,在行政区划内具备宏观掌握境内雨情时空变化的趋势,并按照前期分析设定的成灾雨量等级或成灾降水强度等级,实现实时预警;重点防控流域具备依照降水及相关要素预报重要节点水情变化趋势或按相邻边界水情要
素变化趋势预报下游相关节点的洪水形势;依据致灾要素等级实时启动警报;典型中小型水库按照实时水情及预报情势对照工情实际特征、下游防洪要求实时启动警报;达到辖区安全保障能力的目标。
1.3系统任务
建设自动和人工观测结合的监测站网,严密监控重点小流域,通过共享水文、工管等部门的雨水情信息,架构集网络、数据库、地理信息技术与一体的监测预警平台,编制反映区域水文特征的洪水预报方案,编制科学、可操作性强防洪预案;建立群测群防的预警机制与组织体系,深入宣传防洪减灾知识,形成集技术与管理相结合的非工程防御体系。
1.4 本人完成的主要工作
在这次毕业设计中,本人要实现的是对山洪监测预警系统各模块的信息管理,对从各模块接收到的数据进行增加,删除和修改。
在完成这部分操作的时候,用的主要技术是C#,Socket,,SQLSERVER2005。
下面简单的介绍下这些知识点在设计中的应用:
在通信实现这部分,我使用了Socket网络通信技术。
可以说它是此次设计的核心。
所有的实现基本上是围绕它来展开的。
针对最底层数据库的设计是通过SQLSERVER来实现的。
当然也就包括了表的创建等一系列的数据库的操作。
持久层是实现代码主要是C#,主要是针对底层数据库增删改查的操作。
页面布局是通过WinForm的基本控件来实现的。
以上的就是这次毕业设计本人完成的主要的工作。
2 开发工具与关键技术
2.1 Visual Studio 简介
Visual Studio 是一套完整的开发工具集,用于生成 Web 应用程序、XML Web Services、桌面应用程序和移动应用程序。
Visual Basic、Visual C++、Visual C# 和 Visual J# 全都使用相同的集成开发环境 (IDE),利用此 IDE 可以共享工具且有助于创建混合语言解决方案。
另外,这些语言利用了 .NET Framework 的功能,通过此框架可使用简化 ASP Web 应用程序和 XML Web Services 开发的关键技术。
2.2 SQL Server 2005 Database
本系统采用SQL Server 2005作为后台数据库。
其特性包括:
可伸缩性和可用性:
同一个数据库引擎可以在不同的平台上使用,从运行Microsoft Windows® 98 的便携式电脑,到运行 Microsoft Windows 2005 数据中心版的大型多处理器服务器。
SQL Server 2005 企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大 Web 站点所需的性能级别。
企业级数据库功能:
SQL Server 20005关系数据库引擎支持当今苛刻的数据处理环境所需的功能。
数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。
SQL Server 2005 分布式查询使您得以引用来自不同数据源的数据,就好像这些数据是 SQL Server 2005 数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。
复制同样使您以维护多个数据复本,同时确保单独的数据复本保持同步。
可将一组数据复制到多个移动的用户,使这些用户自主地工作,然后将他们所做的修改合并会发布服务器。
易于安装、部署和使用:
SQL Server 2005 中包括一系列管理和开发工具,这些工具可改进在多个站
点上安装、部署、管理和使用 SQL Server 的过程。
SQL Server 2005 还支持基于标准的、与 Windows DNA 集成的程序设计模型,使 SQL Server 数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。
这些功能使您以快速交付SQL Server 应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。
SQL Server 2005 中包括析取和分析汇总数据以进行联机分析处理 (OLAP) 的工具。
SQL Server 中还包括一些工具,可用来直观地设计数据库并通过English Query 来分析数据。
2.3 NET Framework 概述
NET Framework 是支持生成和运行下一代应用程序和 XML Web services 的内部 Windows 组件。
.NET Framework 旨在实现下列目标:
提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在 Internet 上分布,或者是在远程执行的。
提供一个将软件部署和版本控制冲突最小化的代码执行环境。
提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境。
提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。
使开发人员的经验在面对类型大不相同的应用程序(如基于 Windows 的应用程序和基于 Web 的应用程序)时保持一致。
按照工业标准生成所有通信,以确保基于 .NET Framework 的代码可与任何其他代码集成。
2.4 概述
是微软提出的在.NET程序中用于替代ADO的用于数据访问的类库。
设计组件的目的是为了从数据操作中分解出数据访问。
完成此任务的是的两个核心组件:DataSet和.NET数据提供程序,后者是一组包括
Connection、Command、DataReader和DataAdapter对象在内的组件。
DataSet是的断开式结构的核心组件。
DataSet的设计目的很明确:为了实现独立于任何数据源的数据访问。
为此,它可以用于多种不同的数据源,用于XML数据,或用于管理应用程序本地的数据。
DataSet包含一个或多个DataTable对象的集合,这些对象由数据行和数据列,以及主键、外键、约束和有关DataTable对象中数据的关系信息组成。
结构的另一个核心元素是.NET数据提供程序,其组件的设计目的相当明确:为了实现数据操作和对数据的快速、只进、只读访问。
Connection对象提供与数据源的连接。
Command对象是您能够访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令。
DataReader从数据源中提供高性能的数据流。
最后,DataAdapter提供连接DataSet对象和数据源的桥梁。
DataAdapter使用Command对象在数据库中执行SQL命令,以便将数据加载到DataSet中,并使对DataSet中数据的更改与数据源保持一致。
可以为任何数据源编写.NET数据提供程序。
.NET框架附带了多种数据库提供程序。
2.5 B/S结构
B/S结构(Browser/Server结构)是大家熟知的浏览器和服务器结构。
是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。
这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。
浏览器通过Web Server 同数据库进行数据交互。
B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。
只要有一台能上网的电脑就能使用,客户端零维护。
系统的扩展非常容易。
B/S 结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。
安徽水利水电职业技术学院毕业论文开发工具与关键技术
维护和升级方式简单。
目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。
对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。
无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。
所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。
今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。
因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。
可见B/S还是具有许多优势的。
这也是现在比较流行使用B/S结构的一个十分重要的原因。
2.5 RadGrid控件概述
传统的GridView,虽然满足了我们日常的数据的显示以及其他的编辑操作,但是单一的显示方式和简单的样式,使GridView有了一点小缺憾。
该系统打破传统的GridView的使用方法,使用Telerik的RadGrid控件,高效率的数据加载方式以及绚丽的样式风格再加上丰富的交互功能,使系统更具人性化。
3 概要设计和数据库设计 3.1 系统结构
系统主要分为实时监控、雨水情服务、预警发布、群测群防、气象国土、基础信息、应急响应、信息管理、PDA 系统、系统后台10个子模块。
系统总框图如图3-1-1:
GPRS/GSM/WCDMA
山洪灾害监测预警系统平台
实时监控
雨水情服务
预警发布气象国土基础信息应急响应信息管理系统后台
P D A 系统
数据库存取公共接口、Arcgis 平台、短信发布平台、分析计算组建
实时监测数据地理信息数据工程属性信息日常办公数据气象信息数据防汛抗旱信息模型方案
库
自动水位站自动雨量站人工汇集,入库整编
群测群防
图3-1-1 系统总框图
作为开发环境,相对比较简单,为了调试方便,可以将应用服务器和开发工具放到一台客户机上,多台客户机连接相同的数据库服务器。
硬件环境条件如下图3-1-2:
开发用机数据库服务器
CPU PIII 1.0G以上高端PC机或者小型机
内存512M以上(至少)512M以上
硬盘20G以上30G以上
图3-1-2 硬件环境
3.2 系统的设计方案
由于本系统是有多人共同合作完成,并且每个人都独立开发一模块,所以本系统的设计方案是:先由多人分组开发,最终由系统集成人员将各个模块集合在一起。
3.3 系统的设计约束
1.遵循标准
.NET平台技术规范
2.硬件和操作系统要求
硬件要求:
计算机 Pentium 900 MHz 或更高;
内存(RAM)至少256MB,建议512MBhou更多;
硬盘空间需要约400MB的程序空间,以及预留约400MB的数据空间;
显示器的屏幕区域需要设置成800*600模式
操作系统要求:
Windows 98、Windows2000 Professional Microsoft Windows NT Server 4.0 Windows 2000 server 和所有更高级的Windows操作系统
3.技术限制
技术上使用微软的.NET架构,语言选择使用和C#作为系统基础开发前台,使用SQL2005数据库作为后台支持,进行数据的交互,对数据库进行操作。
3.4 数据库设计
数据库设计是数据库应用系统开发过程中首要的和基本的内容。
数据库是信息系统的核心和基础。
它把信息系统中的大量数据按照一定的模型组织起来,提供存储、维护、检索数据的功能,是信息系统可以方便、及时、准确的从数据库中获取所需的信息。
一个信息系统的各个部分能否紧密的结合在一起以及如何结合,关键在数据库。
因此必须对数据库进行合理设计。
3.4.1 数据库需求分析
进行整个数据库设计必须准确了解与分析用户需求(包括数据和处理)。
需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。
作为地基的需求分析是否做得充分与准确,决定了在其上构建数据库大厦的速度和质量。
需求分析的任务是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解对象的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
需求分析调查的重点是“数据”和“处理”,通过调查、收集和分析,获得用户对数据库的如下需求:
信息需求。
指用户需要从数据库中获得信息的内容与性质。
由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。
处理要求。
指用户需要完成什么处理功能。
明确用户对数据有什么样的处理要求,从而确定数据之间的相互关系。
系统要求能覆盖安徽省水资源运行管理的有关内容,分不同的用户分不同的取水设备将数据记录下来,以及对用户进行分角色和权限进行控制,所以在数据库中建用户表的时候要通过设置权限。
用户保存的时候需要提供用户所在区域,所拥有的设备等相关信息一起保存,水价标准按不同的区域和用水的类型来做划分。
3.4.2数据库逻辑设计
在设计数据库表结构之前,首先要创建一个数据库。
本系统使用的数据库名称为WATER.。
实现代码如下:
CREATE DATABASE FloodControl
这里是来创建使用的数据库,名字在这里可以定为FloodControl。
在这个数据库中本人主要使用5张表,他们分别是
1 DK_Info_B(堤防)
字段类型意义说明
DKCN Varchar(12) 堤防名称代码主键
DKNM Varchar(20) 堤防名称Not null
Bnsctp Varchar(8) 堤防类型Not null
Bnscln Numeric(5)堤防长度Not null
Bntpel Numeric(5)堤顶高程Not null
Crdkhg Varchar(10) 一般堤高Not null
Dsfllv Numeric(5)设计洪水位Not null
Gnwtlv Numeric(5)保证水位Not null
Alwtlv Numeric(5)警戒水位Not null Remark Varchar(200) 备注Null
2 RS_Info_B(水库)
字段类型意义说明
RSCD Varchar(12) 水库名称代码主键
RSNM Varchar(12) 水库名称Not null Dmstatpl Varchar(40) 水库所在位置Not null EnRvnm Varchar(40) 所在河流Not null
Drbsar Numeric(5) 集水面积Not null
Nrwtlv Numeric(5) 正常蓄水位Not null Flz Numeric(5) 汛限水位Not null Flzst Numeric(5) 调洪库容Not null FLDZ Numeric(5) 防洪高水位Not null FLDCP Numeric(5) 防洪库容Not null Dmtp Varchar(30) 坝体类型Not null Dmtpln Numeric(5) 坝长Not null Mxdmhg Numeric(5) 坝高Not null YhdyDmtpwd Numeric(5) 坝顶高程Not null Safegrade Varchar(100) 安全类别Not null Remark Varchar(200) 备注Null
3 RV_Info_B(河流)
字段类型意义说明RVCD Varchar(12)河流名称代码主键RVNM Varchar(20)河流名称Not null Rvpl Varchar(80)河源位置Not null Mnstln Numeric(5)长度Not null Ttdrbsar Numeric(5)流域面积Not null Drbspp Numeric(5)流域内人口Not null Mxsfds Varchar(40)洪水最大安全泄量Not null Avtm Numeric(5)洪水平均传播时间Not null Remark Varchar(200)备注Null
4山洪灾害情况表
字段类型意义说明HZRCD Varchar(10) 灾害名称代码主键
HZRNM Varchar(10) 灾害名称Not null Hul Varchar(10) 历史洪水线Not null holPopulation Varchar(10) 影响人口Not null holHousehold Varchar(20) 影响家庭Not null holSoiHouse Varchar(20) 影响房屋Not null holFarmland Varchar(20) 影响农田Not null Remark Varchar(200) 备注Null
5WarnRecord_R (预警)
字段类型意义说明WarnID Varchar(50)预警代码主键WarnType Varchar(50)预警类型Not null YLNM Varchar(50)雨量站名Not null CANM Text 所属小流域Not null hulAddress numeric(10)影响区域Not null RSNM Varchar(50)水库名称Not null hulPopulation Varchar(50)影响人口Not null Dept Varchar(50)所在乡镇Not null WarnStatusID Varchar(10)预警状态Not null Remark Varchar(200)备注Null
4.1系统结构概述
根据山洪灾害监测预警系统的需求,信息管理模块主要完成对各模块信息的收集,整合以及处理。
本人主要负责的是对各模块数据的添加,删除和修改,主要功能结构图如图4-1:
图4-1 信息管理模块功能结构图
添加功能:主要功能是对各数据模块数据的添加,收集不同信息添加进系统中。
删除功能:主要功能是对各数据模块数据的删除,将一些无用的信息从系统中删除。
修改功能:主要功能是对各数据模块数据的修改,对于一些信息有错的进行修改。
信 息 管 理 模 块
添 加 功 能 实 现
删
除 功 能 实 现
修
改 功 能 实 现
4.2.1 主界面的实现
主界面截图如下所示:
图4-2-1 主界面图
相关代码如下:
<body>
<form id="Form1"runat="server">
<div style="width:100%"align="center">
<div style="background-image:url('images/bg.png'); width:1024px; height:139px;"
align="center">
</div>
<div style="width:1026px;">
<table style="width:1024px;"cellpadding="0"
cellspacing="0">
<tr>
<td style="
width:10%;height:25px;background-image:url(images/Login/a1.gif)">
<a href="x.html">首页3</a>
<td style="
width:10%;height:25px;background-image:url(images/Login/a1.gif)">
<a href="x.html">实时监控</a>
<td style="
width:10%;height:25px;background-image:url(images/Login/a1.gif)">
<a href="x.html">雨水情服务?</a>
<td style="
width:10%;height:25px;background-image:url(images/Login/a1.gif)">
<a href="x.html">预警发布?</a>
<td style="
width:10%;height:25px;background-image:url(images/Login/a1.gif)">
<a href="x.html">气象国土</a>
<td style="
width:10%;height:25px;background-image:url(images/Login/a1.gif)">
<a href="x.html">基础信息</a>
<td style="
width:10%;height:25px;background-image:url(images/Login/a1.gif)">
<a href="x.html">应急响应</a>
<td style="
width:10%;height:25px;background-image:url(images/Login/a1.gif)">
<a href="Default.aspx">信息管理</a>
<td style="
width:10%;height:25px;background-image:url(images/Login/a1.gif)">
<a href="x.html">系统后台</a>
</tr>
</table>
<div style="width: 100%;"id="viewDiv"valign="top" align="center">
<table style="height:312px; width:100%"
border="0"align="center"cellpadding="0"cellspacing="0"
valign="top">
<tr>
<td style="background-color: #FFFFFF" align="left"valign="top">
<table width="100%">
<tr>
<td style="width: 99%"
valign="top">
<input id="lblWidth" name="lblWidth"runat="server"type="hidden"/>
<asp:ContentPlaceHolder ID="content"runat="server">
</asp:ContentPlaceHolder>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</div>
<%--
<div class="main">
</div>
<div class="footer">
</div>--%>
</form>
</body>
4.2.2添加模块的实现
界面图如下所示:
图4-2-2-1 添加主界面图
点击“添加”进入对预警信息的添加界面,如图所示:
图4-2-2-2 添加界面图
当输入信息结束后点击“添加”即可,所需信息即添加进系统。
相关代码如下:
public partial class Maneger_yujing : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("/WebSite2/预警.aspx");
}
protected void Button2_Click(object sender, EventArgs e)
{
DM dm = new DM();
string insertsql = "INSERT INTO WarnRecord_R ([WarnID], [预警类型],[雨量站名],[所属小流域],[影响区域],[水库名称],[影响人口],[所在
乡镇],[预警状态],[备注],)VALUES (" + "'" + Warn.Text + "'" + "," + "'" + yj1.Text + "'" + "," + "'" + yj2.Text + "'" + "," + "'" + yj3.Text + "'" + "," + "'" + yj4.Text + "'" + "," + "'" + yj5.Text + "'" + "," + "'" + yj6.Text + "'" + "," + "'" + yj7.Text + "'" + "," + "'" + yj8.Text + "'" + "," + "'" + remark.Text + "'" + ")";
string test = "SELECT * FROM [WarnRecord_R] WHERE [Warn] ='" +
Warn.Text + "'";
if (dm.getsql(test).Tables[0].Rows.Count == 0)
{
dm.execsql(insertsql);
Response.Write("<script>alert(添加成功!)</script>"); }
else
{
Response.Write("<script>alert(添加失败已有相同主键元组!)</script>");
}
}
4.2.3 删除模块的实现
删除界面图如下所示:
图4-2-3-1 删除界面图
当点击“Delete”后,即删去一行的信息,界面图如下所示:
图4-2-3-2 删除成功界面图
相关代码如下:
protected void RadGrid1_DeleteCommand1(object source,
Telerik.WebControls.GridCommandEventArgs e)
{
DM dm = new DM();
string id;
id =
e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["WarnRecord_R"].ToStr ing();
string deletesql = "DELETE FROM [WarnRecord_R] WHERE [id] = " + id;
dm.execsql(deletesql);
ReloadGrid();
}
4.2.4 修改模块的实现
修改主界面图如下所示:
图4-2-4-1 修改主界面图
点击“Edit”进入修改界面,如下所示:
图4-2-4-2 修改界面图
当信息修改完以后点击“Update”信息修改结束即返回原界面。
相关代码如下:
protected void RadGrid1_UpdateCommand1(object source,
Telerik.WebControls.GridCommandEventArgs e)
{
DM dm = new DM();
var editedItem = e.Item;
string WarnID =
editedItem.OwnerTableView.DataKeyValues[editedItem.ItemIndex]["WarnID"].ToSt ring();
string预警类型= ((TextBox)editedItem.FindControl("预警类型TextBox")).Text;
string雨量站名= ((TextBox)editedItem.FindControl("雨量站名TextBox")).Text;
string所属小流域= ((TextBox)editedItem.FindControl("所属小流域TextBox")).Text;
string影响区域= ((TextBox)editedItem.FindControl("影响区域TextBox")).Text;
string水库名称= ((TextBox)editedItem.FindControl("水库名称TextBox")).Text;
string影响人口= ((TextBox)editedItem.FindControl("影响人口TextBox")).Text;
string所在乡镇= ((TextBox)editedItem.FindControl("所在乡镇TextBox")).Text;
string预警状态¬? = ((TextBox)editedItem.FindControl("预警状态TextBox")).Text;
string备注= ((TextBox)editedItem.FindControl("备注TextBox")).Text;
string updatesql = "update WarnRecord_R set 预警类型='" + 预警类型+ "'雨量站名='" + 雨量站名+ "'所属小流域='" + 所属小流域+ "',影响区域='" + 影响区域+ "',水库名称='" + 水库名称+ "',影响人口='" + 影响人口+ "', 所在乡镇='" + 所在乡镇+ "',预警状态='" + 预警状态+ "',备注='" + 备注+ "'where WarnID='" + WarnID + "'";
dm.execsql(updatesql);
ReloadGrid();
}
5.1 测试
测试的定义是“通过手工或自动方法,使用或评价一个系统的过程,以论证它满足所规定的需求,或明确期望结果与实际结构的差别”。
测试是确定系统行为与理想情况如何接近,与理想情况的任何偏离均表示系统中隐错的存在,而且必须纠正这种隐错。
错误(error)应用到测试过程时,有两种不同的使用方式:
⑴错误是指一个实际测量值与理论预期值之间的分歧。
如果实际值和预期值之间存在差异,这个差异就是一个错误。
⑵错误是指一些人的行为引起的软件中的某种失效或故障。
故障(fault)是导致软件失败的一个条件,软件出错的基本原因是故障。
失效(failure)是指不能按软件规格说明要求执行一个软件片段,失效源于故障,尽管并不是所有故障都会导致失效。
错误、故障和失效在代表不同的概念时,其相关性也是非常明显。
系统中有一个错误,失效必然出现,如果失效出现了,系统中必然有一个故障。
5.2 单体测试
测试系统的第一步是测试组成系统的单个构件。
测试这些构件称为单元测试(Unit Testing),也称为单体测试。
在单体测试过程中,首先检查代码在程序的算法、数据和语法方面有没有缺陷,最后给该构件输入一个测试用例集,以说明该构件是否正确。
在单体测试时,主要对于单个模块的功能进行测试,不用理会其他的模块的耦合情况。