XLPE电缆绝缘老化测试数据库管理系统
摘要
采用现代化的管理方法、手段和工具已成为技术发展和技术管理的重要条件。基于绝缘老化数据图片存储的交联聚乙烯(XLPE)电缆绝缘老化测试数据库管理系统的开发,就是对高压交联聚乙烯电缆绝缘老化测试进行技术管理和分析的一种尝试,目的是从大量XLPE电缆绝缘老化击穿故障的数据中寻找出引起击穿的统计规律,发现引起电缆损坏的原因,进而为我国XLPE电缆的绝缘结构构改造和材料性能改进提供决策支持。本课题论述了国外在XLPE电缆绝缘老化测试和统计方面已取得的成果;进行了数据库管理系统开发的可行性分析;采用VS.NET Framwork语言对系统实现了初步的开发。
关键词:交联聚乙烯电缆,绝缘老化,图片存储,数据库管理系统,VS.NET Framwork
ABSTRACT
The modern management , means and tools have become the prerequisites for the development of science and technology and scientific management . The development of the database management system for the graphical storage of data of the insulation degradation of XLPE cables is a trial for the realilzation of scientific management on the diagnostic of insulation degradation of XLPE cables . The purpose looks for a regulation of covariance from a great deal of electric cable insulate the management of aging breakdown, discover the reason which causes electric cable damage , is our country structure Gou reformation and material function improvement of the XLPE electric cable provide decision support. This paper presents the main achievements made abroad in the filed of the diagnostic and statistic of insulation degradation . It discusses in detail the feasibility study , design of modules and main functions of the developed database management system. Another, Discussed applied Framwork language of the technique VS.NET of system in this paper.
Keywords:XLPE power cable, insulation degradation, graphical storage, database management system, VS.NET Framwork
1 概 述
交联聚乙烯(以下简称XLPE)绝缘电缆由于性能优越、敷设容易、易于维护,早已是10~220 kV供电电缆的主流。20多年来,大量66~220 kV级 XLPE电缆广泛应用于送电系统中。时光流失,这些运行的XLPE电缆,有些已逐渐进入电缆及其附件预期寿命的中年期。国外早在20世纪60年代就开始了关于XLPE电缆绝缘弱点检出和老化检测技术的研究,至今仍在不断深入发展,积累了大量的测试与统计数据[1]。
自1967年发现XLPE绝缘水树老化后,目前已确认它成为XLPE电缆老化的主要现象之一。但是对于水树枝的机理以及如何引起破坏原因,至今尚无法完全认识清楚[2]、[3]、[4]。正因为如此,从众多故障中去寻找统计的规律,发现引起破坏的蛛丝马迹是人们非常乐意去做的事情。
日本等不少国家从上世纪六十年代中期起,就按电压等级对XLPE电缆的绝缘事故率进行大量的调查,做过详尽的统计分析,并对XLPE电缆绝缘老化及相应的绝缘检测技术给予科学的管理,取得了许多成果。
1.1 课题的背景及意义 1.1.1 课题的背景
国外早在上世纪60年代就开始了关于交联聚乙烯(以下简称XLPE)电缆绝缘弱点检测和老化检测技术的研究,积累了大量的测试与统计数据。自1967年发现XLPE绝缘水树老化以后,目前已确认它是XLPE电缆老化的主要现象之一。但是对于水树枝的机理以及如何引起破坏的原因,至今尚无法完全认识清楚。正因为如此,从大量电缆绝缘老化故障中寻找出统计的规律,发现引起电缆损坏的原因是分析和解决绝缘老化现象的一种有效方法。
日本等不少国家从上世纪六十年代中期起,就按电压等级对XLPE电缆的绝缘事故率进行大量的调查,做过详尽的统计分析,并对XLPE电缆绝缘老化及相应的绝缘检测技术给予科学的管理,取得了许多成果。
1.1.2 课题研究的意义
本课题研究目的在于建立一个XLPE电缆绝缘老化测试的数据库管理系统,收集我国XLPE电缆绝缘老化的测试数据,发现引起绝缘老化击穿的原因。其重要意义在于,通过数据库资料的大量积累,寻找出统计规律,从而为电缆产品的结构改造、材料应用的性能改进,提供有益的决策支持。 借鉴国外先进的科学技术管理经验,结合国内的电缆老化测试管理的实际情形,建立一个实验性的XLPE电缆老化测试数据库管理系统,是本课题研究要做的首要工作,这在我国电线电缆行业是一项创新,已经得到上海电缆研究所和中国管理科学学会的高度重视。通过本课题的研究和系统的开发,可以为我国XLPE电缆的使用寿命和可靠性指标,提供有益的统计数据,通过长期的数据积累,为我国XLPE电缆的结构改造和材料性能改进提供决策支持。 1.2 国内外研究动态 1.2.1 国外发展概况
据日本在1965~1995年共30年间,按电压等级统计电缆绝缘事故率,结果发现随着电压等级的提高,相应的电缆绝缘损坏率反而越低,对于110kV以上电压等级的电缆,由于采用金属层径向防水构造,其每年每100 km电缆的损坏次数竟为0 ,(见表1)[4]。 表1 日本 1965—1995年XLPE电缆绝缘损坏率统计 电压级每年每100 km 每年每100个 每年每100个 /KV 电缆损坏次数 接头损坏次数 终端损坏次数 22 0.128 0.0030 0.0015 66 0.043 0.0032 0.0049 ≥110 0 0.0045 0
日本在1977~1995年间66 kV XLPE电缆线路发生的绝缘损坏故障共计达82起,由电缆本身因水
树绝缘损坏达12起,占绝缘故障损坏14.63%,而因电缆附件的损伤高达23起,其中因电缆质量,安装质量,环境质量及人为因素等造成电缆损坏较显著。其分布状况统计数据如表2[5]。 表2 日本66kV级XLPE电缆线路绝缘损坏的分布次数 绝缘损坏影响因素 电 缆 电缆附件 12 - 水树 - 7 浸水 10 15 外伤 2 7 异物 2 - 半导体层突起 - 12 界面空隙 - 11 形状不良 2 2 其它 以上仅是国外众多统计中的两个例子,借鉴国外技术管理的经验而开发的XLPE电缆绝缘老化测试的数据库管理系统,是利用多媒体技术将XLPE电缆绝缘材料放电测试试验中拍摄的树支化等老化图片,连同其测试条件、引起绝缘击穿的原因等信息一同存入数据库中,不但有利于测试资料的集中管理,也有利于行业之间的数据共享,而且还为各种树枝化等老化的图片和数据分析创造了良好的条件。对XLPE电缆绝缘老化及相应的绝缘检测技术给予科学的管理,推进开展这一领域的调查研究,对于提高我国线缆行业的技术管理水平无疑是十分有意义的。 1.2.2 国内研究现状
XLPE电缆由于敷设容易、运行维护简便,现已是10~220 kV供电电缆的主流。随着时间的推移,我国的高压XLPE电缆已逐渐进入电缆及其附件预期寿命的“中年期”。电力电缆系统在实际使用状况下,能够长时期可靠工作或因绝缘老化加速而缩减使用寿命是国内外电力管理部门十分关注的问题。
据国内较早使用XLPE电缆的供电系统发生事故的统计报告所述:1995~2000年发生110 kV XLPE电缆绝缘击穿事故共11起,经分析是水树老化所致[6]。XLPE电缆是否都能够可靠运行至预期使用寿命还是个有待研究的问题。另外,国内对于XLPE电缆的故障缺乏统一的管理,所以,即使在全国范围内坏了很多根电缆,但也是很难统计出电缆损坏的规律性的原因。 1.3 XLPE电缆绝缘老化检测的相关理论
在一个绝缘系统中,老化因素可以使材料的特性产生不可逆转的改变,并可能影响到绝缘性能。从实际线路归纳XLPE电缆的老化原因和老化形态,一般认为局部放电、电树枝、水树的发生,是影响电缆及其附件绝缘性能降低的主要原因,且频度较高。
(1) 局放检测和介质及半导电层中微孔检测统计,与局放相关的微孔尺寸、杂质界面气隙,绝缘与半导电层内外界面气隙的显微检测及计算统计是老化检测中极为重要的手段。 用以计算有害气孔最大允许直径(2a)的经验公式为:
2702a(m)(1)
1.74U1.2 3.76r0ln(R0/r0)
式中:
2a——微孔直径,μm;
U——施加电压,kV,为电缆额定电压的1-2/3倍; r0——绝缘层内半径,mm; R0——绝缘层外半径,mm。
以不同的试验电压U和电缆结构尺寸(绝缘外半径R0、内半径r0)代入公式(1)可以计算不同孔径2a(μm),其中a为有害气孔长轴半径。
(2) 用以计算有害杂质允许尺寸的经验公式为: Ec≥Emax·KT·Kn·Kf (2) 式中,Ec为电树引发场强(=220KV/mm);Emax为电缆最大运行场强;KT为温度补偿系数(1.1~1.2);Kn为寿命换算系数(当寿命指数n=20时,Kn=1.87),Kf 为电场增加率(其值与杂质尖端曲率半径R,杂质椭圆长轴半径a有关)。将检测统计的R、a数据代入的相关公式,可求出Kf,并将这些相关数据一并代入式(2),可求得相应的值,只要该值小于引发场强Ec就不会发生电树老化。
(3) 水树加速老化试验检测,将浸水电缆进行水树加速老化试验后,水树(蝶结水树、半导电层突出喷射水树等)数目、水树长度与加压时间、温度、电压关系等相关数据存储在程序中,并根据电缆结构尺寸,可以统计分析电缆结构、电缆进水,对水树老化引发、成长影响相关信息资料,以评估老化寿命。
(4) XLPE电缆的电压试验,采用威布尔分布进行数理统计和寿命评定,并进行整根电缆的工频耐压(击穿)试验,可以为综合评价电缆寿命提供数据。 (5) XLPE电缆的长期老化试验(预鉴定试验),以CIGRE-WG21-03工作组在1.7U0下至少试验180个加热冷却循环,加压时间为一年。
(6) 高压电缆的冲击击穿试验,用以评定高压电缆的冲击击穿水平。
(7) 电树引发的场致发光法和氧化特征法的绝缘老化诊断新方法。前者由发光深度判断电树引发老化的开始,后者可以判断老化及其残余寿命。 将上述第(4)、(5)项老化试验以及冲击电压试验等其他可靠性试验数据一并输入统计程序,通过分析可判断使用寿命或可靠性指标,并为国产XLPE高压电缆替代进口产品提供可靠的数据,供设计制造参考。
1.4 本课题的研究任务
XLPE绝缘电缆老化击穿样本的获取
XLPE绝缘电缆老化击穿的样本来自于我国因老化击穿而损坏的XLPE绝缘电缆,先对于穿的电缆绝缘进行切片采样,再对绝缘切片的样本进行染色,然后在显微镜下进行数码摄影,摄取其击穿后的图片(见图1.1)。对于击穿的图片资料,连同相关的信息采用ACCESS数据库对其进行化击穿样本信息进行存储,老化击穿的图片采用BMP格式或JPG格式。
(2) 设计一个实验性的数据库管理系统,对XLPE绝缘电缆老化击穿的样本,以及相关信息(包括:编号、规格、测试日期、测试条件、电压等级、击穿原因、老化方式、击穿图示等)进行管理。 (3) XLPE电缆绝缘老化测试数据库管理系统由:系统设置、菜单栏设置、数据处理(包括:查询模块、录入模块、修改模块、统计模块)、联系我们等模块组成。 (4) 出于安全性考虑,在进入本系统之前,首先要进行“身份验证”,只有用户名和密码均为正确的合法用户,才能进入系统的主菜单。
(5) 在对大量XLPE绝缘电缆老化击穿样本收集、管理的基础上,寻求电缆老化击穿的成因及规律,进而对电缆的工艺、生产、敷设提供设计和决策的支持。 1.5 使用软件概述
C#语言不能孤立地对待,而必须和VS.NET Framwork 一起考虑,因为VS.NET Framwork 运行库(CLR)为C#代码执行和代码管理提供了支持,并且提供类库简化了C#编程[7]。 1.5.1 VS.NET Framwork 概述
理解VS.NET Framwork 最简单的方式就是把它看作是执行代码的环境。 VS.NET 管理代码的执行,包括启动代码、给它赋予相应的权限、为它分配内存以存储其数据,帮助释放不再需要的内存和资源等。除了执行这些任务外,VS.NET 还要使用一个非常复杂的类库——VS.NET 基类,以便在WINDOWS上执行大量的任务。对这些任务,VS.NET 承担了管理代码的执行和为代码提供服务的
双重角色。
从技术层面具体来说,VS.NET Framwork主要包含两个内核,即通用语言运行库CLR(COMMON LANGUAGE RUNTIME)和VS.NET Framwork 基本类库,它们为VS.NET 平台是实现提供了底层技术支持。VS.NET 的编译过程也与以前版本语言有所不同,这一点也是VS.NET 的重要特征[7]。 (1)通用语言运行库CLR(COMMON LANGUAGE RUNTIME)
CLR 是建立在操作系统最底层的服务,是VS.NET 平台的执行引擎。因为有了通用语言运行库,VS.NET 还为C++,C#,VISUAL BASIC 和 JSCRIPT提供了一个通用的开发环境。也就是说C++,C#,VISUAL BASIC 和JSCRIPT的编译显露出运行库的功能接口。这些接口能够让用户编写出在这个受控的执行环境下运行的代码(在这个环境下运行的代码称为受控代码)。这个通用语言运行库自动处理诸如异常处理、安全性、版本控制、跨语言集成、组件互动、调试和内存管理方面的细节,比如说创建对象和管理对象的引用。 (2)VS.NET Framwork基本类库
在通用语言运行库(CLR)的上面是包含了一套与其紧密集成在一起的可被任何语言应用的基本类库,其目的是使得程序员更容易地建立应用程序和网络服务。在此之上是许多应用程序摸板,这些摸板为开发网络应用和服务提供高级的组件和服务。从技术上讲,VS.NET Framwork 的基本类库是MICROSOFT已经编写好的一个丰富的代码类集合,它可以完成以前要通过WINDOWS API实现的绝多数任务。VS.NET 基本类哭的最大优点就是非常易用,而且都是自我描述性的,例如要打开一个文件,就可以调用FILE类的OPEN()方法。VISUAL BASIC 和JAVA 的开发人员非常熟悉这种简洁的自我描述性的类,而相比之下VS.NET 基本类库非常丰富,很多这些类库包含对ADO.NET, XML, SQL、安全、多线程等等功能的支持。这个基本类库还能够让用户访问诸如互联网、线程、图形和加密之类的系统功能服务。VS.NET 基本类库就是把WINDOWSAPI的丰富性和VISUAL BASIC,JAVA的易用性结合起来[8]。 (3)编译和运行VS.NET
VS.NET 中可执行文件和以前版本不同,编译好的代码不包含汇编语言指令,而是包含MICROSOFT INTERNET LANGUAGE(MSIL 或 IL),这种语言于机器、操作系统和CPU。中间语言和JAVA字节代码有一些相似之处,它是一种相当低的语言,可以快速的转换成内部机器码(JIT编译)。JIT编译器是VS.NET Framwork的重要组成部分。VS.NET 的编译过程是源代码到中间语言代码(IL)到机器码(JIT编译器)。 1.5.2 C#语言概述
C#语言是由MIROSOFT开发的一种功能强大的\\简单的、现代的、面向对象的全新语言,是MICROSOFT新一代开发工具的经典编译语言,由于它是从C和C++语言中派生出来的,因此具有C和C++语言的强大功能。同时,由于它是MICROSOFT公司的产品,它又同VB一样简单。对于WEB开发而言,C#像JAVA,同时具有DELPHI的一些优点,而且C#专门为VS.NET 通用运行库高度兼容而设计。所以MICROSOFT宣称C# 是VS.NET Framwork应用程序的最好语言[9]。 C# 的主要特征有以下几个方面: (1)C# 是开创性语言
C# 是VS.NET 的关键性语言,它是整个VS.NET 平台的基础。与C#相比,VS.NET 所支持的其他语言显然是配角身份。比如,VB.NET 的存在主要是千万个VB开发人员的负责。对于JACRIPT.NET和C++.NET也同样可以这么说,后者只是增加了调用VS.NET 类的C++语言。C# 是唯一没有在设计思路中加入以前语言某种遗传的新事物[10]。 (2)C#是功能强大的语言
在C#中,除了可以使用许多API,更能使用VS.NET 类库。特别是,用户可以处理COM的自动化和C类型的函数。C#还充许用户调用无管理的代码,也就是在CLR引擎控制之外的代码。这种不安全的模式充许用户操作原始指针来读和写内置碎片帐集控制以外的内存。
(3)C# 和 JAVA
VS.NET 平台将C# 作为其固有语言,重文温了许多JAVA的技术规则。C# 中也有一个虚拟机,叫做公用语言运行环境(CLR),它的对象也具有同样的层次。但是C# 的设计意图要使用全部的WIN32 API甚至更多。由于C# 与WINDOWS 的体系结构相似,因此C# 很容易化产物,使用了包括声明、表达式及操作符在内的许多C++ 特征,但是C# 还有更多的增强功能,比如类型安全(TYPE-SAFE)、事件处理、碎片账集、代码安全性等[12]。 1.5.3 用C# 开发数据库应用程序及ADO.NET概述
在VS.NET 开发环境中,C# 利用VS.NET 特有的、先进的数据库访问技术ADO.NET 很容易搭建其他数据库应用程序。
ADO.NET 是一种全新的、强大的数据库访问技术。它是一个基本标准的程序设计模型,用于创建分布式、数据共享的应用程序[13]。ADO.NET不但适用于WINDOWS程序设计,而且使用于连接的及其断开连接的INTERNET 网络编程。ADO.NET的设计中包含了被广泛接受的XML标准。用户可以用XML作为两个应用程序之间的传播媒介,而且还可以把数据库从应用程序中导入到XML文件中。对于ADO.NET有DATASET和数据提供者两个基本的部分。ADO.NET体系结构如图所示: 数据集(DATASET)是指内存中的数据库数据的副本,它提供了一致的程序设计模型,而不管其来自何处。DATASET由一组表、列、行、约束和关系组成。DATASET的对象模型如图所示:
在数据提供者中Connection,DataAdapter, Connection 和DataReader 代表了ADO.NET模型的核心元素.整体关系如图所示,在对数据库进行任何操作之前必须通过connection和数据库相连; DataADapter 则作为数据库和DataSet的桥梁; DataReader则通过Command来对数据库记录进行读取.而且对于不同的数据库应用不同的数据提供者,如下图中比较了针对SQL SERVER数据库 和oleDb数据 源的两种不同的数据提供者。 (1) connection :用于建立与数据源的连接。微软公司根据数据提供者的不同在VS.NET Framework提供了4个connection对象,即Sqlconnection,OleDbconnection,OdbcConnection 和OracleConnection。前面者比较常用,SqlConnection用于连接SQL Server7.0 以上的版本,OleDbConnection 可以进行SQL Server旧版本和其他数据提供者访问[14]。对于Connection 对象用Open()方法打开连接,完成任务后用Close()方法关闭连接。
(2)DataAdapter:数据适配器建立了DataSet到数据源之间的关系,提供检索和保存数据的方法。DataAdapter非常适合于保持连接或者断开连接的环境,因为它提供了Fill和Update两个方法,其中,Fill方法可以同步保存数据源中的数据和DataSet中的数据,Update方法可以把DataSet的改变写入数据源。
(3)Command:既然可以建立一个连接,那么就需要要能够对数据库执行语句。最简单、最直接的方法是利用Command对象,使用SQL语言来查询数据源。
(4)DataReader:是一个只能转发的、只读的、位于从数据存储返回的数据流顶部的存取器。任何时候一次只能有一个记录位于内存中,提供数据库快速不缓存的只读的顺序访问。
2 系统分析
随着社会经济的飞速发展,电缆线运用的范围越来越广,问题是随着时间的推移,我国的高压XLPE电缆已逐渐进入电缆及其附件预期寿命的“中年期”。长期测试电缆老化数据信息,从大量数据统计信息中查找出因绝缘老化加速而缩减使用寿命的主要因素最为关键。也因此工作任务越来越多,越来越复杂,各种各样数据和信息也越来越多,协调和管理的难度也越来越大,但目前国内电缆行业的办公和协调管理基本处于手工处理、资料信息的搜索整理、处理处于手工作业状态的占多数,数据信息的时效性差,准确性较低,工作效率低,信息处理难度大[15][16],各种数据信息的格式也尚未统一,具体表现以下几个方面:
(1)大部分数据信息比较分散,数据信息不能共享。 (2)由于信息数量大不便于管理,信息易“丢失”,特别是人员调离,许多数据、信息也会随着人员调离而“丢失”。
(3)数据信息利用率不高,缺乏滚动搜集,重复搜集现象严重。 (4)数据信息准确性,时效性差,信息反馈速度慢,周期长。 2.1 需求分析
我国对电线电缆的工艺和生产有一套比较完整管理标准。但是,对于电线电缆的使用,特别是损坏的电线电缆缺乏统一的管理制度。借鉴国外对损坏的电缆产品进行长期跟踪管理的成功经验,我们提出了对国内交联聚乙烯电缆绝缘老化击穿的案例进行收集和数据库管理的研究课题,希望通过长期的资料积累、统计和分析,寻求出统计规律。
基于绝缘老化击穿图片存储的交联聚乙烯(XLPE)电缆绝缘老化测试数据库管理系统的开发,就是对高压交联聚乙烯电缆绝缘老化测试进行技术管理和分析的一种尝试,目的是从大量电缆绝缘老化故障的管理中寻找出统计的规律,发现引起电缆损坏的原因,为我国XLPE电缆的结构改造和材料性能改进提供决策支持。
为此,开发一个试验性的单机版的交联聚乙烯(XLPE)电缆绝缘老化击穿测试数据库管理系统,对国内损坏的XLPE电缆进行统一的管理,就变得十分必要。
数据库管理的内容包括:电缆绝缘基本信息,电缆绝缘老化测试数据,老化存储图片,击穿原因的统计,电压等级的统计,老化方式的统计。系统包括以下功能: (1)XLPE电缆基本信息录入;
(2)XLPE电缆绝缘老化击穿图片的添加; (3)XLPE电缆基本信息的修改;
(4)XLPE电缆绝缘老化击穿图片的修改; (5)XLPE电缆绝缘老化信息的查询; (6)XLPE电缆绝缘老化击穿信息的统计; (7)系统用户设置。
其中每个对电缆绝缘老化信息进行管理的模块都要具备列出清单,尤其是修改和录入模块要具备:浏览选中文件,然后对文件进行基本管理操作。
例如:电缆绝缘老化测试数据库的修改模块,对老化数据应具备修改和删除的功能,首先在浏览区选中需修改的信息,点击修改按钮,这时该条信息中,新录入的数据将覆盖以往旧的数据,并存入数据库中;或点击删除按钮,可以将选中的数据信息从数据库中删除。在老化数据录入模块中,应具备对数据信息进行添加的操作,首先按照提示要求在文本框中,键入相同的数据类型的值,输入完毕,用户点击添加数据信息按钮,这时文本框中的数据将对照相应的数据库表字段,并存储进该数据库的数据表中。查询模块应具备对数据库中的信息进行查询的操作,查询分为单个查询和组合查询两种,单一查询即是一种模糊查询,根据输入的关键字符,在相应的数据库表的属性列中,查找包含输入的关键字符的记录;组合查询即是一种比较精确的查询,根据输入的多条数据信息,在数据库中相应的数据表里,查找包含输入的关键字符的记录,查询的字段值比较贴近于需要查找的
数据值。绝缘老化数据的统计模块,应具备对某个字段进行计算和统计,该系统的统计的关键字主要是,对电压等级,老化方式及击穿原因进行统计,当点击统计时,系统将根据键入的不同关键字,进行统计,并显示在信息浏览区中。 2.2 系统可行性分析
一般系统规划方案的可行性应从经济方面、技术方面、系统运行方面进行分析和评价[14]。由于本系统仅仅是一个实验性的系统,加上在电线电缆行业中,利用计算机实现企业管理已是十分普遍的事情。利用现有的计算机软硬件设备,对高压XLPE电缆的绝缘材料在放电测试中的树枝化老化等图片数据和相关信息进行数据库管理,在经济、技术和系统运行方面都不成为问题。 以下是对于系统的可行性的一个概要的分析:
利用企业现有的计算机软硬件设备,在经济上几乎不要增加新的投入。
随着显微镜技术和数码相机技术的发展,基于“水树”图片存储的数据库管理系统的实现,在技术上已变得非常方便。
随着网络技术的发展,利用数据库管理的图片及测试资料可以方便的实现资源共享和技术管理。 因击穿电压具有一定的离散性,所以对各种不同测试条件的试验结果呈现的概率作统计分析,在技术管理上日趋重要。
对XLPE电缆绝缘老化测试资料进行管理和数据统计,可以为探索XLPE电缆绝缘老化的机理积累大量资料。通过数据库资料的大量积累,寻找统计规律,为电缆产品的结构改进提供决策支持。 建立国内XLPE电缆绝缘老化击穿案例的数据库管理系统,通过长期的资料积累,寻求XLPE电缆损坏的规律,以便对电线电缆的结构设计和生产工艺提供决策支持的想法一经提出,就得到了中国核心科技期刊《电线电缆》杂志和中国管理科学学会的高度重视。 3 系统总体设计
3.1 系统功能模块设计
系统采用模块化结构如图1所示,按照功能和文档分类要求进行分层设计,第一层为总控模块,包括一个登陆程序和主控程序,用来判明用户的合法性和权限,自制和控制各处理流程,并初始化系统;第二层菜单模块,包括系统设置,视图设置,数据处理,帮助;第三层是第二层各个菜单下的子菜单,实现不同的功能,分为:
(1)用户权限设置,退出系统属于系统设置菜单中的两功能块; (2)隐藏菜单栏和显示菜单栏属于视图设置菜单中的两个功能;
(3)查询模块、录入模块、修改模块和统计模块属于数据管理菜单中的四大功能;第四层是第三层的子功能模块,分别包括:修改用户,添加用户和删除用户属于用户权限设置中的子功能项;老化数据查询和老化图片查询属于查询模块中的子功能项;老化数据录入和老化图片录入属于录入模块的子功能项;老化数据修改和老化图片修改属于修改模块的子功能项。
系统主菜单
视图设置 数据管理 帮 助 系统设置
隐显查录修统用退藏示 询入改计户出菜菜模模模模权系 单单块块块块限统栏栏
图1 系统的结构组成 修改用户 添加用户 删除用户 老化数据查老化图片查老化数据老化图片老化数据老化图片
3.1.1 用户权限管理模块
(1)只有“管理员”登陆系统后可以对每个用户信息进行管理,即可以查看每位用户的信息,可以对用户的密码进行修改,增加用户及删除用户等操作;
(2)普通用户登陆系统只能进行“查询模块”操作,并且只能对自己的用户密码进行修改,无权查看其他任何用户信息及用户权限设置操作; (3)用户登陆系统时,首先要进行用户身份验证,无论是用户名错误还是密码错误,超过三次登陆,系统会将其列入非法用户,自动关闭系统。 3.1.2 查询信息
查询系统分为单一查询和集合查询两种。
(1)简单查询:是根据一条已知信息进行单一性的查询即模糊查询,可以根据电缆基本信息进行查询;可以根据电缆老化测试信息进行查询;另外还可以根据电缆老化测试时间进行查询。
(2)组合查询:是根据多条己知的信息进行综合查询即精确查询,可以根据电缆基本信息和电缆老化信息进行综合查询;另外还可以根据电缆老化测试时间进行查询。 查询的信息可以打印出来。
(3)当点击查看图片信息时,会弹出另外一个窗口,您可以在单一的窗体上,通过浏览按钮(第一条记录,前一条记录,后一条记录,最后一条记录)的点击对老化存储图片进行逐条浏览,即一条一条的浏览。 3.1.3 录入信息
录入信息模块分为:电缆绝缘老化信息录入和电缆绝缘老化图片录入两个模块。
(1)电缆绝缘老化信息录入:方式一:可以先查询用户相关的数据信息,然后在原有的信息上进行修改,点击添加按钮便可添加信息,这样便于用户参照数据类型及节省录入时间。方法二:先输入每条老化信息点击“确定”按钮后,新的数据被添加到数据库中。
(2)电缆绝缘老化图片录入:选中需添加的记录,点击“选择老化图片”按钮,在弹出的文件对话框中选择一幅老化图片,当被选择的老化图片显示在界面上时,点击“确定”按钮,老化图片即被添加到数据库中。您也可以取消刚刚的操作,点击“取消”按钮便可以实现此功能。 3.1.4 修改信息
(1)文本数据的修改:首先查询要修改的信息,然后在信息浏览区中选中该条信息,该条信息回自动出现在每个相对应的文本框中,接下来可以在文本框中对任意一条数据进行修改,最后点击修改按钮便可。
(2)老化图片的修改:点击“修改老化图片”按钮,在弹出的新窗体上,您可以根据逐条浏览信息的方式,选中您要修改的那条信息,然后点击“修改旧图片”按钮,从打开的文件中选择您需要的图片,然后点击“确定”按钮,信息成功修改。 3.1.5 统计信息
(1)可以根据电缆生产日期查看信息,也可以根据录入的关键字进行查询,然后对查询出来的数据进行统计;或者直接对选择关键字进行统计。 (2)根据“电压等级”,“老化方式”及“击穿原因”进行统计。
(3)可以将查询出来的信息转换到EXCEL表格中,进行统计,生成报表格式等操作; (4)当点击打印时可以将当前查询出来的信息打印成出来。 3.2 数据库设计
数据库设计的目标是建立一个合适的数据模型。这个数据模型应当能满足用户的要求;满足某个数据库管理系统的要求;具有较高的范式。 3.2.1 概念结构设计
描述概念数据模型的主要根据是E-R(实体-联系)模型,也叫E-R图。E-R图主要有实体、属性和联系三个要素构成。
本课题有三个实体组成:
(1)用户管理信息实体(如图3-1所示)
权限用户 用户编号 用户名 用户密码
图3-1 用户权限实体图
(2)电缆实体(如图 3-2 所示)
电缆线 电缆型号 电缆名称 有效日期 生产日期 编号 生产商
图 3-2 电缆基本信息实体图
(3)老化电缆实体(如图 3-3 所示)
老化电缆 测试条件 老化方式 额定电压 额定电流 出厂地 用户身份 测试日期 击穿原因 老化存储图片 电压等级 实际寿命
图 3-3 老化测试数据信息实体E—R图
(4)E-R图(如图3-4 所示)
实体之间存在1:1的关系。 额定电流 电缆名称 电缆型号 出厂地 编号 电缆线 1 使用超过寿命年限 1 老化电缆 测试日期 老化存储图片 额定电压 生产商 生产日期 使用寿命 测试条件 击穿原因 编号 实际寿命 电压等级 老化方式
图3-4 总体E—R图 3.2.2 逻辑结构设计
概念结构是于任何一种数据模型的信息结构,而逻辑结构设计的任务,就是根据E-R图,并按选定的数据库管理系统(本课题采用ACCESS 2003)软件支持的数据模型。本课题的主要关系模型如下:
(1)用户管理信息:(用户编号,用户名,密码,用户身份) (2)电缆线基本信息:(电缆型号,电缆名称,生产日期,使用寿命,生产商,出厂地,额定电压、额定电流)
(3)电缆老化数据信息:(测试条件,测试日期,击穿原因,老化方式,电压等级,实际寿命,老化存储图片,电缆线损坏数量,电缆接头损坏数量,电缆终端损坏数量)
为了进一步提高数据库应用系统的性能,应当对数据模型进行优化。关系模型的优化是采用规范化的理论来实现的。
3.2.3 数据库的物理实现
数据库设计的最后阶段是确定数据库在物理设备上的存储结构和存取方法,也就是设计数据库的物理数据模型。
本课题采用ACCESS数据库管理系统来存储数据表。它们分别是:电缆基本信息表(表3-1)、老化测试数据表(表3-2)和用户基本信息表(表3-3)。
表 3-1 电缆基本信息表
表 3-2 老化测试数据表
表 3-3 用户基本信息表
4 系统详细设计
在这个部分将介绍详细的系统设计。主要包括系统各个模块中主要功能的流程图以及数据库的逻辑结构设计。
4.1 模块的功能设计
介绍系统实现中的各个主要功能,包括实现功能的详细叙述以及流程图,不同模块中的类似功能只以一个为例进行介绍。
创建工程项目——XLPE电缆绝缘老化测试数据库管理系统
使用的软件技术是VS2003 平台C#.NET编辑语言,使用C#.NET创建应用程序,应当使用工程。工程的功能是被用来建造应用程序的文件集合,它包括: (1)跟踪所有部件的工程文件(.CS)。 (2)窗体文件(.FRM)。
(3)窗体的二进制数据文件(.FRX),它含有窗体上空间的属性数据。对含有二进制属性(例如图片或图标)的.FRM文件都是不可编辑的,是自动生成的文件。 (4)每个类模块的一个文件(.CLS),该文件是可选项。 (5)每个标准模块的一个文件(.BAS),该文件是可选项。 (6)一个或多个含Active控件的文件(.OCX),该文件是可选项。 (7)单个资源文件(.RES),该文件是可选项。
(8)引用程序窗体(.ICO),该文件当你创建窗体时系统自动生成的文件,用户不可编辑。
前面已经介绍系统的需求分析,数据库概念结构设计及数据库物理设计,本节主要介绍的关于界面设计。XLPE电缆绝缘老化测试数据库管理系统的界面设计分为以下部分: (1)老化数据查询 (2)老化图片查询 (3)老化数据录入 (4)老化图片录入 (5)修改老化信息 (6)老化信息统计 (7)用户权限设置 (8)帮助
下面是对系统中部分界面设计介绍。 4.2 系统用户身份的认证
功能:当某个用户登录系统前,检查输入的用户名和密码是否是系统中认可的合法用户,为增强系统的安全性,系统给用户提供了三次登录的机会,只有当用户名和密码输入均正确,并且不超过登录次数最大限度的情况下才能成功登录系统,否则系统给出错误提示,当超过三次登录机会,系统将自行关闭。
设计思路:设计用户身份验证界面包括:一个可供输入用户名和一个可供输入密码的TEXTBOX文本框,两个BUTTON按钮分别是“登录”按钮和“取消”按钮。当用户点击“登录”按钮时,系统将会比较系统界面中用户输入的信息与数据库中用户权限管理表中的用户名和密码进行比较,若信息正确,会进一步判断该合法用户的权限属于“管理员”还是“普通用户”,然后才登录到系统的主界面。 4.3 系统的主界面设计
前面介绍的是身份验证登录模块,该系统对登录的用户权利赋予了不同的身份,前面也已谈到两种不同的身份,下面针对不同身份的权限详细介绍。当以管理员身份登录系统后,可以对系统的任意模块进行操作,可以查看其他用户的信息,也可以对用户进行添加、删除和修改等操作。而普通用户登录系统只能对系统中的数据进行查询操作,及对自己的用户密码进行修改,无权查看、修
改其他用户管理信息,以及其他的数据处理操作都无法进行。
主页面的布局和设置:主页面上有两个菜单项,其一个是标题栏下的菜单栏,包括四项主菜单,每个主菜单里都包含各自的子目录;其二是状态区上显示的PICTUREBOX框,里面的目录选项基本上是对数据库数据进行处理的模块,里面包括了查询选项,录入选项,修改选项及统计选项.下面将一一做介绍,第一个目录中所包含的选项分别有: (1)“系统设置”菜单,其子菜单有“用户权限设置”和“退出系统”两个功能菜单项;两个菜单项各自都有属于他们的功能模块。当分别点击他们的时候将触发CLICK事件,当点击“用户权限设置”菜单项,CLICK事件触发后,系统将会执行THIS.NEWFRMUSER.SHOW(DIOLAGE)语句,调出USER.CS模块;当点击“退出系统”菜单项,CLICK事件触发后,系统将会执行APPLICATION.EXIT()语句,退出程序。 (2)“视图”菜单,其子菜单选项有“显示菜单栏”和“隐藏菜单栏”两个功能菜单项;当登录系统时,PICTUREBOX菜单栏是可见的,这时“视图”菜单中的子菜单只有“隐藏菜单栏”是处于激活状态,相反“显示菜单栏”处于灰色无法执行状态,当点击“隐藏菜单栏”选项时,CLICK事件触发后,系统将对PICTUREBOX菜单及里面的所有选项都隐藏,不可见。这时“视图”菜单中的“显示菜单栏”被激活,而“隐藏菜单栏”处于灰色无法操作的状态。 (3)“数据处理”菜单,其子菜单选项包括“老化数据查询”、“老化图片查询”、“老化数据录入”、“老化图片录入”、“老化数据修改”和“老化数据统计”。当点击其中的任意一个菜单选项时,将激活CLICK事件,系统将分别执行各自的THIS.NEWFRM@@.SHOW显示窗体语句,调出各自的模块。 (4)“联系我们”菜单,当CLICK事件触发后,将弹出联系我们的方式。
整个界面灵动、富有活力,看上去更加人性化。大致的显示状况示意图如图4.2。
蓝色:主菜单 浅黄色:子菜单框
白色:pictrueBox菜单框 黑色细线:每个菜单选项
图 4.2 工具栏动作示意图 4.4 老化数据查询的实现
查询操作是对数据库信息进行搜索的重要手段,不同用户对查询的要求也有所不同,本系统中针对不同的用户需求设置了不同的查询方法。一般用户的查询基本上是单一的查询,即根据一条已知的信息进行的简单查询。而组合查询是对提供的多条信息进行综合检索,即精确查询,查询出来的结果更贴近于用户所需要的信息。
该查询模块中包含:简单查询和组合查询两个不同查询功能。
(1) 简单查询:主要是负责电缆线基本数据信息和老化测试数据信息的查询,使用单一查询方法,根据文本框中键入的关键字进行查询;可以根据系统提供的可供查询的关键字段,并在相应的文本
框中输入相关数据值,再点击查询按钮,进行查询操作。
(2) 组合查询的实现:可以根据键入的多个关键字进行查询,该功能主要是实现对数据的精确查询,查询出来的结果更贴近于搜索者的所需的查询信息。
(3) 在不输入任何关键字的情况下直接点击查询,系统将该查询操作视为查询该数据库表中的所有属性列的元组值。
(4) treeview中的查询是根据电缆线不同阶段的生产日期进行的排序,生产日期由上往下依次排成树型结构,生产日期的大小按升序的方式排列,可以点击每个叶接点上的电缆线生产日期对老化数据进行分期浏览。
4.5 老化数据录入的实现
功能:该模块是用来将新的电缆线的基本信息和新的老化测试数据信息录入到数据库中。
设计思路:建立数据库连接,将文本框中输入的新记录存入数据库。要求指定的几个属性值不能为空,并且输入的记录的数据类型要与数据库中的数据类型相匹配,否则录入会出错。
另外在录入数据的时候可能会出现要添加的新记录的主键值在数据库中已经存在的情况,解决方法有两种:一种是查找数据库中是否存在相同主键值的记录,若存在则提示学号不可重复,但这种方法在空间和时间上都是比较浪费的,因此采用定义异常的方式来解决。 录入老化数据流程图如图 4.3所示:
进入老化数据库录入界面 点击“添加信息”按钮 在数据库表的末尾增加一行 在文本框中输入新记录 点击“确定”按钮 提出出错信息,无法提交数据库 N 判断合法性 Y 成功录入数据库 图4.3 老化数据录入流程图 4.6 修改老化信息的实现
功能:将用户界面上输入的新记录更新数据库中需要修改的那条记录,并保存在数据库中。
设计思路:在修改之前,首先要建立数据库连接,然后选择浏览区中需要修改的记录,当用户选择了一条记录时,该条记录将自动复制到界面的录入文本框中,然后用户可以有针对性的进行修改。当数据库中信息量大的情况下,可以使用查寻信息的方法,将需要修改的信息先查找出来,然后再对其进行修改,修改完毕之后,再点击修改按钮,系统会弹出提示对话框,问是否更新信息,若答是,数据库中的该条记录将被更新,否则取消更新操作。 流程图如4.4所示:
进入电缆老化数据修改界面 通过查询记录,将记录从数据中检索出来 输入新的数据,提交 N 检查是否合法 Y 将更新过的记录,提交到数据库中 Y 文本框中的数据被清除 N 是否更新当前记录 取 消 调出数据库信息 从LISTVIEW中选择一条记录 结 束
图 4.4 老化数据修改流程图 4.7 老化信息统计的实现
功能: 对数据库中的系统提供的某个字段,对数据库中的某些信息进行统计。
对老化信息进行统计之前,首先建立数据库的连接,然后按照老化方式,电压等级,击穿原因等老化字段,对数据库中的接头损坏数量,终端损坏数量及电缆线老化数量进行统计。通过打印模块可以实现对统计进行打印。 4.8 数据库的连接
当数据库表建成之后,将对数据库与模块中的对象实例进行绑定。在开发“XLPE电缆绝缘老化测试数据库管理系统”时,选择了使用编写字符串代码来绑定数据库。由于牵涉的地方比较多,利用字符串编写代码会显得比较的复杂,但却保证了系统的可移植性。
下面介绍如何在Visual C#中通过这个命名空间中的类实现对数据库的访问.一般对数据库的连接分为5步:
(1)导入名称空间。
(2)建立指向数据库的数据连接。
(3)在此数据连接上,建立一个SQL语句,用来返回所需用的数据集。 (4)打开数据连接,执行SQL语句,返回所需的数据集。
(5)关闭数据集,关闭数据连接。打开本地数据库(cable.mdb),连接数据库的具体步骤如下: (a)导入名称空间
在程序开始的命名空间引用中导入数据库的命名空间,语句如下: Using System.Data;
Using System.Data.OleDb;
(b)建立指向数据库的连接,建立连接要用到System..Data.OleDb名称空间中的类+——OleDbConnection。通过以下语句可以完成对本地数据库的连接工作: connectionStr=\"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\" +Application.StartupPath + \"\\\\cable.mdb\";
selectStr=\"select * from cable_total_info\";
Connection1=new OleDbConnection(connectionStr);
或者用下面的语句也行,如下:
string connstr = \" Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = cable.mdb\" ; OleDbConnection strConnection= new OleDbConnection(connstr); return(strConnection);
其中,第一句中的Provider是表明数据库引擎的类型,Data Source指向数据库名称:Application.StartupPath 是程序debug的目录。
(c) 在此数据连接上,建立一个SQL语句,用来返回所需用的数据集。要通过建立的SQL语句来得到所需的数据集,要用到System..Data.OleDb名称空间中的类——OleDbCommand。通过以下语句可完成此项工作,其中commandStr代表了要执行的SQL语句。 Connection1=new OleDbConnection(connectionStr); Command1=new OleDbCommand(); Command1.Connection=Connection1; Command1.CommandText=commandStr;
还有一种方法就是生成OleDbDataAdapter对象来完成数据库操作,OleDbDataAdapter可以通过Fill方法来把数据库中的数据填充到数据集中,可以通过Update命令把数据集填充到数据库中。同时每个OleDbDataAdapter对象都包含了Select,Delete,Update和Add四个SQL命令语句。 String selectStr=\"select * from cable_total_info\"
OleDbDataAdapter dataAdapter1=new OleDbDataAdapter(selectStr,Connection1);
(d)打开数据库连接,执行SQL语句,返回所需的数据集。要完成此项操作,需要用到OleDbConnection类中的Open()方法和 OleDbCommand类中的ExecuteReader方法。返回的数据集要用system.Data.OleDb名称空间中的另一个类——OleDbDataReader。这个类就像是一个容器,提供要访问的数据集。主要语句如下: objConnection.Open(); OleDbDataReader reader;
reader =myCommand.ExecuteReader() ;
还有一种方法就是通过上文提到的OleDbDataAdapter来填充数据集,代码如下: DataSet DataSetEmployy= new DataSet();
dataAdapter.Fill(DataSetEmployy,”cable_total_info”);
其中的CONNECTION1是上文刚刚生成的数据连接,DataSetEmployy是上文的数据集。 (e)关闭数据集和数据连接
关闭数据集要用到OleDbDataReader类中的Close()方法,关闭数据连接要用到OleDbConnection类中的Close()方法。注意,最好先关闭返回的数据集,再关闭指向数据库的连接。程序代码如下: DataReader1.close(); Connection1.close();
OleDbDataAdapter对象填充完数据集后,就可以直接调用Connection的close()方法了.
(f)在程序中,还设计了一个例外处理。在出现例外的时候,显示错误信息。错误信息的捕获是通过System.Data.OleDb名称空间中的类——OleDbException来实现的。其中,Finally块中的语句是无论什么情况下都会执行的,所以一般来讲都把关闭数据集和关闭数据库这些必须要执行的命令放到此快中.
通过以上的6步就简单地实现了Access 2003数据库的访问,其他的数据库类似,只是所用到的数据库访问引擎不同。
接下来将分别对每个模块中,与数据库连接的那部分进行介绍。 4.9 用户权限设置
基于XLPE电缆绝缘老化测试数据库管理系统的安全性考虑,为该系统增加了用户权限功能,
增设了“管理员”和“普通用户”两个对系统拥有不同操作权限的用户。用户权限设置信息在数据库中,是存放在user-info这张数据库表中,如何将模块中具体的对象绑定到该数据库,并对数据库顺利的进行读取及设置等操作呢,首先我们必须先编写字符串来连接USER-INFO数据库表,为此设置了根据用户名连接的数据库函数SeekUserNPI(),利用语句objConnection.Open()方法打开数据库,建立SQL 查询语句,建立三个相关的对象实例,分别是GetUsername用户名,GetPassword用户密码,GetIdenty用户权限,获取该数据库表中相应的字段值。当数据库被打开之后,将根据SQL查询条件通过reader对象,reader.Read ()从数据库中获取相关的字段值调用出来,并赋值到每个与其对应的对象中,当执行完毕后,结束读取程序,最后释放数据库。 具体实现该功能的方法如下所示: 定义连接数据库
OleDbConnection objConnection= getConn(); 定义SQL查询字符串,建立SQL查询语句
string strCom = \"Select * from user_info where LTRIM(RTRIM(username))='\"+UserName+\"'\"; 定义调用SQL查询语句
OleDbCommand myCommand =new OleDbCommand(strCom,objConnection); 创建打开数据库语句 objConnection.Open();
执行command并得到相应的DataReader
OleDbDataReader reader=myCommand.ExecuteReader() ; 定义对话框获取相应的数据库表中的值,从数据库中读取user_info表中username属性的值,将该值赋值给名称为getUserName的文本框。
GetUsername= reader[\"username\"].ToString();
从数据库中读取user_info表中PasswordQQ属性值,将该值赋值给名称为getPassword的文本框。 GetPassword= reader[\"passwordQQ\"].ToString();
从数据库中读取user_infoO表中identy属性值,将该值赋值给名称为identy的文本框,identy的作用是用户身份,不同身份的用户登录系统,对系统拥有不同的操作权利。 GetIdenty=reader[\"identy\"].ToString();
最后当一段程序使用完数据库后,释放出数据库的程序语言,reader.Close()代表读取完毕,结束读取操作,objConnection.Close()结束前面程序对数据库的访问,并关闭数据库。
为防止查询数据出错,应该首先定义一个异常,以避免系统异常终止,实现的方法语句如下所示: try{ }catch(Exception s){throw(new Exception(\"数据库出错:\" + s.Message));}当出现任何异常时,系统会自动抛出数据库错误的信息框。 4.10 查询信息模块
查询老化测试数据及查询老化图片。查询老化测试数据信息,分为单一查询和组合查询两种。 单一查询即是一种模糊查询,根据用户键入的关键字打开数据库,通过SQL条件选择语句来判断选择什么样的语句是符合用户要查询的记录。该条语句查询的结果值里包含输入的关键字,只要该记录包含该关键字的都被列出来。组合查询即精确查询,是根据输入的多条关键字进行综合的判断,查寻出的结果更贴近于用户所需要的信息。具体操作如下所示:
首先是为该系统单一查询模块建立一个实例对象,该查询的实例对象是comboBox对象和textBox,先选择comboBox中系统提供的可供查询的条件,然后在相应的textBox中输入关键字,然后点击“确定”按钮,系统将触发button_click事件,打开数据库具体代码如上所述,这里就不在重述了,当数据库被打开之后,系统将会调用SQL查询语句对数据库进行判断,该系统中comboBox和textBox与数据库连接的实现方法如下:
首先定义一个字符型的comText变量,作用是获取textBox文本框中的具体输入的值
string ComText=this.textBox1.Text.ToString(); 下面是对连接数据库定义的连接函数 getConn();
OleDbConnection objConnection= getConn();
下面是条件语句,对comboBox中每个具体字段值(如:电缆型号,电缆名称,生产商)与数据库表cable_total_info表中相对应的属性列(如:dl_id,dl_name,manufactor)进行绑定,并且判断的SQL条件语句是根据每个ComboBox后面TextBox中具体输入的关键字进行判断,其实现的SQL条件语句如下:
strCom= \"Select * from cable_total_info where dl_id like '%\"+textBox1.Text.Trim()+\"%'\";
再通过定义打开数据库,并读取数据库表cable_total_info中符合条件的那些相应的数据记录提列出来,然后将模块中建立的可供浏览数据信息的对象ListView列表,用字符串编写将ListView列表中的每列与数据库中的属性列进行一一对应绑定, 具体实现代码如下: 首先建立打开数据的连接语句 getConn();
OleDbConnection objConnection= getConn();
定义SQL语句,建立SQL语句查询,建立TextBox对象,将文本框与数据库用字符串进行绑定,以电缆型号为条件查询,查询数据库cable_total_info表中的所有字段。
strCom= \"Select * from cable_total_info where dl_id like '%\"+textBox1.Text.Trim()+\"%'\"; OleDbCommand myCommand =new OleDbCommand(strCom,objConnection); 定义打开数据库语句 objConnection.Open();
定义读取数据库中数据的对象 OleDbDataReader reader;
reader =myCommand.ExecuteReader() ;
定义将数据库中的数据一一读取到ListView对象中,该段数据库定义语句主要目的是将Cable_total_info这张表中的字段与ListView查询浏览区中的列项进行绑定。 ListViewItem li = new ListViewItem();
li.SubItems[0].Text= reader[\"id\"].ToString(); li.SubItems.Add ( reader[\"„„\"].ToString()); „„
listView1.Items.Add ( li );
当数据读取完毕后,关闭读取的操作,从释放出数据库。 reader.Close();
objConnection.Close();
为防止查询数据出错,应该首先定义一个异常,以避免系统异常终止,其实现的语句如下所示: try{ }catch(Exception s){throw(new Exception(\"数据库出错:\" + s.Message)) ;} 当出现任何异常时,系统会自动抛出数据库错误的信息框。 当搜索成功后,信息将会显示在LISTVIEW列表中。 4.11 添加图片技术
建立数据库连接,调用VS.NET中自带的Open()方法,然后在界面中添加OpenFile()对象,然后通过打开文件找到老化图片,点击“确定”按钮,图片被写如数据库中,该段数据代码实现如下: 当触发“添加图片”click()事件,打开文件,从文件中找到图片,然后将图片显示在界面中的pictureBox中,实现代码如下:
定义哪条记录需要添加图片。
int position=this.BindingContext[this.DataSetEmployy,\"cable_total_info\"].Position; 第一次打开文件显示直接路径显示的地址c:\\\\Picture this.openFileDialog1.InitialDirectory=\"c:\\\\Picture\"; 可支持的后缀图片格式
this.openFileDialog1.Filter=\"jpg files(*.jpg)|*.jpg|gif files(*.gif)|*.gif|bmp files(*.bmp)|*.bmp|All files (*.*)|*.*\"; 将文件中选取的图片显示到界面pictureBox1中 this.pictureBox1.Image=Image.FromFile(this.openFileDialog1.FileName);
下面语句是将界面pictureBox1中的图片添加到cable_total_info数据库表imageA字段中 this.DataSetEmployy.Tables[\"cable_total_info\"].Rows[position][\"imageA\"]=this.openFileDi alog1.FileName; 最后关闭数据库,代码如下所示: Connection1.Close (); 4.12 统计老化数据
首先建立数据库连接,打开数据库,建立SQL统计语句,根据查询条件,然后统计数据库中的数据。实现的代码如下所示: 建立数据库连接,打开数据库 getConn();
OleDbConnection objConnection= getConn();
根据输入的“老化方式”进行统计,SQL查询语句如下: strCom= \"Select * from view_degform\"; SQL数据统计语句如下:
SELECT degradation_form, SUM(degradation_numbers) AS dianlan, SUM(jitou) AS jietou, SUM(zhongduan) AS zhongduansunhuai FROM cable_total_info
GROUP BY degradation_form;
然后将统计的结果显示在ListView浏览区中,最后关闭数据库连接 objConnection.Close () ; 5 系统实施
系统实施阶段的主要活动是根据系统设计所提供的数据库设计、系统配置方案及详细设计资料,编制和调试程序,调试系统,将技术设计转化为物理实际系统[a]。 5.1 系统配置
系统实施的必要准备工作就是配置系统平台,它包括硬件配置和软件配置两部分。 5.1.1 硬件配置
硬件配置包括主机、外部设备、辅助设备、机房设施、通信设备等。
XLPE电缆绝缘老化数据库管理系统的硬件配置要根据用户对系统的稳定性要求、系统的容量、系统的吞吐量以及用户的维护水平来确定。 (1)客户端硬件选择:可以根据稳定性要求选择不同的客户端。一般情况下,对客户端的要求不高,如表5-1所示。 表5-1 用户 雇员客户端 管理员客户端 稳定性要求 低 中 备选客户端 Pentium CPU/MB/4GB Pentium III/256MB/20GB (2)服务器端硬件选择:可以根据数据量和吞吐量的大小选择不同的服务器硬件。服务器的选择如
表5-2所示,这种配置仅是做参考,具体的配置需要根据用户的需求精确计算。 表5-2 用户 每秒数据库并发稳定性数据访问记录数 要求 低 中 中 较高 高 维护水平 差 一般 一般 较好 好 备选服务器 Pentium III/256MB/20GB XEON双CPU/1GB/RAID5 3*72GB XEON双CPU/1GB/RAID5 3*72GB 小型计算机/双机热备或者 XEON 4 CPU/4GB/RAID5 6*72GB 小型计算机/双机热备或者 XEON 8 CPU/4GB/RAID5 6*72GB 个体企业(3~8) 10~50 小型企业(8~20) 50~500 中型企业(20~100) 大型企业(100~1000) 超大型企业(1000以上) 50~500 500~2000 2000以上 本系统开发的硬件:
(1) CPU:Intel Pentium4 2.0G (2) RAM:512MB DDR
(3) HD:120G ,至少2GB的自由空间 5.1.2 软件配置
软件配置是根据用户对系统的稳定性要求、系统的容量以及用户的维护水平来确定。 本系统开发设计的软件环境:
(1)软件为系统平台: Microsoft Windows98/2000/XP (2)数据库管理系统:Microsoft Access 2003 (3)主要设计工具: Visual studio.net 2003
(4)对数据库的访问:ADO.net 数据访问技术 5.2 程序模块设计
XLPE电缆绝缘老化测试数据库管理系统的界面设计主要有八个部分组成。 5.2.1 老化信息录入界面设计
老化信息录入界面是用来添加电缆绝缘老化测试数据信息,在信息浏览区中有四个按钮分别是“首条信息”、“末尾信息”、“上一条”、“下一条”,这四个按钮可以对DATAGRIDE浏览区中显示的信息进行逐条浏览,该界面中包含控件四个dateTimePicker时间控件,两个comboBox,九个textBox,三个numericUpDown控件,当点击“添加信息”按钮时,数据库中增加一行,这可以在DATAGRIDE信息浏览区中看到,然后在每个文本框中输入记录值,记住值最好不要有主键值不能为空值,即唯一能标识该条信息的信息,如ID号,或电缆型号不能取空值,最后点击确定按钮,新的记录被录入到数据库中。可以实现对老化测试数据信息的添加操作。其界面如图5.1所示。
图5.1 电缆老化数据录入界面 5.2.2 老化图片录入界面设计
老化图片录入界面是用来添加电缆老化测试数据的相关老化图片。在该界面的信息浏览区中包含有四个按钮分别是“首条信息”、“末尾信息”、“上一条”、“下一条”,这四个按钮可以对DataGride浏览区中显示的信息进行逐条浏览,浏览的同时,老化图片也随着记录的改变而更换与记录相对应的老化图片,首先通过逐条浏览的方法找到需要添加图片的那条记录,选中,然后在老化图片浏览区下方,点击“添加老化图片”按钮,系统出弹出C盘根目录中的picture文件,然后在文件中选择一幅图片,或者选择其他路径的图片也行,图片支持的格式JPG, BMP,„„,选中的图片将显示在界面的pictureBox框中,最后点击确定按钮,系统将图片添加到与老化信息相连的数据表中。其界面如图5.2所示。
图 5.2电缆绝缘老化图片录入界面
5.2.3 老化信息修改界面设计
电缆绝缘老化信息修改界面是用来对数据库中旧的记录进行修改操作。在该界面中有十七个TEXTBOX可供输入文本框,另外包含两个COMBOBOX文本框,一个LILSTVIEW用于浏览老化信息的控件。修改记录时若信息量少时,可以直接在LISTVIEWN浏览列表中,选中一条需要修改的记录,然后在相应的文本框中输入新的值,点击修改按钮,为增加系统的完整性,在点击修改按钮后,系统会弹出让用户确认是否更新当前记录的对话框,点击确定,若不出错,系统将再次弹出更新当前记录成功的对话框。否则程序返回原来文本框代用户输入信息的状态。若数据信息量大时,可以通过查询信息,然后选中,再修改这条记录,接下来的操作步骤与前面讲述的一样。
另外当用户需要删除不需要的记录时,也可以通过查询,选中需删除的记录,然后点击删除按钮,该条记录将从数据库中删除。其界面如图5.3所示。
图 5.3 电缆老化数据修改
5.2.4 老化图片查询界面设计
老化图片查询界面是用来查看老化测试记录相应的老化图片,进行逐条浏览.。在信息浏览区中有四个按钮分别是“首条信息”、“末尾信息”、“上一条”、“下一条”,这四个按钮可以对DATAGRIDE浏览区中显示的信息进行逐条浏览,浏览的同时,老化图片也随着记录的转变而更换不与记录相对应的老化图片,其界面如图5.4所示。
图 5.4 电缆绝缘老化照片浏览界面 5.2.5 老化数据统计界面设计
该界面中三个“总体统计”按钮,三个ComboBox文本框,每个总体统计按钮是对不同字段的总体统计,每个总体统计GroupBox框包含一个ComboBox,分别包含字段“老化方式”、“击穿原因”、“电压等级”,如图5.5所示。另外还设有三个单一统计的按钮,在单一统计GroupBox组中设有两个ComboBox和一个TextBox文本框,单一按钮操作思路是根据前面总体统计中ComboBox中的字段,与相对应的单一统计的文本框中的值的组合,作为统计的条件,点击单一统计,统计值将显示在LISTVIEW列表中。
图5.5 电缆绝缘老化信息统计界面
该界面中设有“打印”功能,打印主要是将当前显示在LISTVIEW列表中的字段,按照一定的格式打印输出。 5.2.6 用户管理
该界面中用到了三个Table 的TableControl控件,第一个Table是“修改用户密码”。当用户选择一条需要修改的用户信息时,修改密码按钮会由当前灰色转为被激活状态,界面下方会拉出可工用户
修改密码TEXTBOX文本框,输入完毕点击“确认”,系统会将下拉出来的界面缩会原状。被修改的信息显示在该界面中的LISTVIEW列表中。 第二个Table是“添加用户信息”,该界面中有三个TEXTBOX和一个用于录入用户权限的COMBOBOX,当用户将信息输入完整后,点击“确认”按钮,新信息将被录入数据库USER表中。 第三个Table是“删除用户信息”,该界面中一个LISTVIEW浏览列表,可以在其中选中一条记录,然后点击删除按钮,在删除前,系统会再次提醒用户是否决定删除当前记录,确定之后,该用户信息将从数据库中删除。 5.3 系统测试
系统测试是检查系统中存在的错误,确保系统各模块功能的的正常运行。本系统设计完成以后,就对各个系统模块进行了运行测试,经过大量的调试修改,基本上能实现各模块的功能。以下是部分模块的测试记录。
5.3.1 视图中工具栏的测试
“视图”菜单,其子菜单选项有“显示菜单栏”和“隐藏菜单栏”两个功能菜单项;当登录系统时, 位于主界面中工作区右侧的PICTUREBOX工具栏是处于可见的状态,这时“视图”菜单中的子菜单只有“隐藏菜单栏”是处于激活状态,如图5.6所示。相反“显示菜单栏”处于灰色无法执行状态,当点击“隐藏菜单栏”选项时,CLICK事件触发后,系统将对PICTUREBOX菜单及里面的所有选项都隐藏,不可见。这时“视图”菜单中的“显示菜单栏”被激活,如图 5.7所示。而“隐藏菜单栏”处于灰色无法操作的状态。
图 5.6 隐藏工具栏 图 5.7 显示工具栏 测试时逐个点击工具上的按钮,都能进行正常运行。 5.3.2 老化数据查询的测试
下面以 “老化数据查询”为例,说明其测试过程。点击“数据管理”菜单中“老化信息查询”中的“老化数据查询”命令(如图5.8),就弹出老化数据查询界面,如图 5.9 所示。
图 5.8 数据管
图5.9 电缆老化信息查
电缆老化信息查询模块,主要是对老化数据进行查询,查询的方法有三种:
(1)简单查询:在COMBOBOX中选择一条提供的可查询的字段,COMBOBOX中提供了电缆老化测试信息和电缆基本信息可供查询的字段,然后在相应的TEXTBOX文本框中输入要查询的具体字段,系统将根据一条已知信息进行单一性的查询即模糊查询,结果显示在LISTVIEW列表中。 (2)组合查询:在文本框中输入多条己知的信息点击查询按钮进行综合查询。结果显示在LISTVIEW列表电缆老化信息浏览区中。
(3)根据电缆老化测试时间进行查询。选择TREEVIEW树型列表中,选择一个电缆生产日期,该段时间生产的电缆全部信息将显示在LISTVIEW中。
另外,当点击“打印”按钮时,还可以将当前LISTVIEW列表中显示的信息添入到EXCEL表格中,然后自动将EXCEL表格转换成打印浏览样式,打印结果见附录。 5.3.3 老化图片录入测试
电缆绝缘老化图片录入主要是将老化图片添加到老化数据信息中,选中需添加的记录,点击“选择老化图片”按钮,在弹出的文件对话框中选择一幅老化图片,当被选择的老化图片显示在界面上时,点击“确定”按钮,老化图片即被添加到数据库中(同图 5.2)。
6 系统管理与维护
系统实施完成以后,就进入了系统的管理与维护阶段,其目的是保证系统的安全、正常、可靠的运行;并对系统进行评价,不断地改善和提高系统的性能益,以充分发挥系统的作用[a]。 6.1 系统安全性与可靠性 6.1.1 系统安全性 (1)服务器合理架构
采用分层次架构服务器,在各层之间设置防火墙,加强了安全性能,防止恶意侵入和攻击。 (2)用户使用权限
权限控制明了简捷,使用人员的权限可细化到每一个子功能模块,对每一个模块的数据操作可设可视、只读及读写项。采用组管理的概念,对同组的成员提供相同的功能操作,但对可操作的数据范围进行细分,符合一个数据库管理系统模式。 6.1.2 系统可靠性
稳定性好 ,有较强的容错性。对于每一个录入界面都提供完善的检错纠错功能,对于意外事件使用了事务处理。系统的开发和使用完全采用了微软的产品,同时系统本身采用C/S体系结构,维护客户端的升级换代,这些都保证了本系统在应用中能实现完整的升级,可保证系统的可靠性。 6.2 系统评价
(1)操作友好性:操作界面友好,易用、易维护。用户不必掌握后台编程语言,只要掌握简单的Windws操作技能就可以,可以通过设置的客户端在任何地点非常方便地对信息进行查询、发布、修改删除和系统维护。
(2)可维护性:采用模块化设计方法将各部分功能封装成的模块,在增强或删除功能时十分方便,并且不影响其它模块。由于连接数据库那块是用字符编写,所以程序的移值性比较强,可以对功能模块进行灵活的增减,可扩展性能强。
(3)安全性:采用分层次架构服务器,在各层之间设置防火墙,加强了安全性能,防止恶意侵入和攻击。设置了用户使用权限,对不同的登录用户授予不同的操作功能。
(4)可靠性:稳定性好,有较强的容错性。对于每一个录入界面都提供完善的检错纠错功能。系统的开发和使用完全采用了微软的产品,同时系统本身采用C/S体系结构,维护客户端的升级换代,这些都保证了本系统在应用中能实现平滑无缝升级,可保证系统的可靠性。
(5)系统速度问题:很难权衡速度与大容量的存储空间。在本系统的开发过程中,更加注意存储查询速度方面,由于:硬件发展迅速,存储介质的容量越来越大,并且本系统仅是目前的构思,并非属于超大容量的系统,当前所有的存储设备的容量可达到要求。
(6)一个相对比较完整的数据库管理系统是少不了要对数据进行备份,删除及恢复的功能,数据库在运行的过程中不可避免地出现数据的损坏或丢失,这是系统需要完善的部分。 6.3 系统维护
采用模块化设计方法将各部分功能封装成的模块,在增强或删除功能时十分方便,并且不影响其它模块。模块之间高内聚,低祸合,模块可使用。增加模块时,只要模块数据接口与系统相一致,即可加入本系统(需嵌入两个安全文件)。可针对不同地区不同现象的老化数据信息的需求,对功能模块进行灵活的增减,可扩展性能。系统构架采用的是C/S体系结构,由于整个系统采用的是字符编程连接数据库的方式,虽然编写代码比较复杂,但却可以保证系统的可移植性。
7 总结和展望 7.1 总结
数据库管理系统的发展对企业管理和技术管理的变革产生了和正在产生着深远的影响。本课题主要运用了面向对象的方法,对XLPE电缆绝缘老化测试数据进行了数据库管理,采用最新的C#.NET编程语言来开发系统。系统开发过程中,面向对象的方法技术贯穿了整个软件设计的全过程,使得系统具有很强的可扩充性和可移植性。
本系统能方便地对XLPE电缆绝缘老化测试资料进行管理,功能包括:数据记录的添加,删除,修改,查询,统计及打印等功能。本系统的开发为剖析XLPE电缆绝缘老化的机理打下了良好的基础。 必须指出,只有通过数据库资料的大量积累以后本系统才能给出真正有意义的统计结果,从而为电缆产品结构改进、材料应用的改性提供有益的决策支持。 7.2 展望
本课题对XLPE电缆绝缘老化测试数据库管理系统的构建提出了理论上的设想,并进行了系统的初步开发。以下是对于系统功能扩展的展望:
(1)增加数据维护模块,以便对数据库的数据进行数据库数据的备份、恢复、清理等功能。 (2)对系统实现局域网或广域网联网使用,使系统朝着网络化发展。
(3)收集国内大量的XLPE电缆绝缘击穿的案例,并输入到数据库,从而得到有意义的统计结果。 (4)增加对XLPE电缆绝缘老化击穿图片进行分析和识别,从而对电缆产品的结构改进、材料应用的性能改进提供决策支持。
附录:操作举例
(1)点击系统运行图标按钮,进入“系统登录”身份验证界面,首先根据提示,分别在相应的文本框中输入用户名和密码,然后点击“登录”按钮,登录系统主界面。该例中仅已管理员的身份来举例(管理员名:AA ;管理员登录密码:111)。如附录图1所示。
附录图1 系统登录界面
(2)点击工具栏中的“老化数据统计”按钮,便可进入“老化数据统计界面”,选择“电压等级”,然后点击“总体统计”按钮,以电压等级为统计条件的统计结果被显示在LISTVIEW数据浏览列表中,如附录图2所示。
附录图 2 电缆绝缘老化信息统计界面
(3)若需要单一统计,可以在选择关键字段之后,在相应的TEXTBOX中输入需要单一统计的具体数值,比如输入220V,然后点击“单一统计”按钮,统计出的结果被显示在LISTVIEW中。如附录图3所示。
附录图 3 电缆绝缘老化信息统计(单一统计)
(4)当点击“打印”按钮时,当前LISTVIEW浏览列表中的数据将被导入到EXCEL,表格中,并自动打印图表,如附录图4 所示。
附录图 4 打印预览界面
参考文献
[1] 陈元春,徐刚,吴.XLPE电缆绝缘老化测试数据库管理系统,电线电缆[J],2005,(1):25-27. [2] 特别高压CVヶヘヴル绝绿诊断技术调查专门委员会,特别高压CVヶヘヴル绝绿劣化形态と绝绿诊断技术の动向[R].东京:电气学会,电气学会技术报告,第668号,1998.
[3] A.Jshibashi. A study of Treeing Phenomens in the Development of Insulation for 500kV XLPE cable [J],IEEE-EI Vol5,No5,695-706,1998.10.
[4] 吴 炯.电力电缆应用研究50年回眸[A] .迈向21世纪,电线电缆行业五十年成就及展望研究论文集[C] .上海电线电缆行业协会,2000,158-170.
[5] 烟中正树等.酸化劣化にしたCVヶヘヴルの寿命推定[J] .电气学会论文志,2002,122-B(1):90-95. [6] 冯小倩, 郑晓泉, 王以田.XLPE电缆在线自动绝缘诊断技术研究[EB/OL] . www.shejis.com/new_lw/html/17521.shtml.2006.9.30/2007.3.20
[7] David W.Embley,Barry D.Kurtz,Scott N.Woodfield.Object-Oriented System Analysis a Model-driven Approach[M].Germany:Morgan Kaufman Publish, 1993,90-92.
[8] Shamim Abmed.Object-Oriented Database Management system for Engineering[J]. JOOP,1992,3: 126-127. [9] 张奇,李律松,卫建伟.Visual C#数据库项目案例导航[M],北京清华大学出版社,2005.6 第037975号,8-40.
[10] 东方人华主编,C#.NET 数据库开发[M],北京:清华大学出版社,2004.
[11] Richard Hundhausen等著,袁泉,雍容等译. 用ADO.NET 和 XML WEB服务构件窗体应用程序[M],北京:清华大学出版社,2003.15-16.
[12] 张金隆,现代管理信息技术[M],武汉:华中科技大学出版社,2002.25-110.
[13] 陈君,王宝良译,ADO.NET专业项目实例开发[M].北京:中国水利水电出版社,2003. [14] 罗超理,李万红.管理信息系统原理与应用[M],北京:清华大学出社,2004.30-120. [15] 汪星明,周山芙.管理系统中计算机应用[M],武汉:武汉大学出版社,2005,294-315.
[16] 沈锡臣,咚秋利.高校人力资源信息共享系统的分析设计[J],中山大学学报(自然科学版), 2001.1(40),21-24.
致 谢
本文是在我的导师陈元春副教授的悉心指导和严格要求下完成的。陈老师渊博的知识、敏锐的学术眼光、严谨的治学态度、以及在学业、生活、为人方面给我的帮助和启发,都将使我毕生受益。值此论文完成之际,谨向我的导师陈老师及沈学东老师表示最诚挚的感谢。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务