背景:
阅读新闻

借力PowerBuilder 打造长江口水文数据库系统

[日期:2003-11-25] 来源:中国水资讯网:上海勘测设计研究院  作者:马迅 [字体: ]
中国水资讯网——水利新闻中心 http://news.cjk3d.net/

文/上海勘测设计研究院 马 迅

我院的长江口水文数据资料经过多年的积累,日渐庞大,鉴于对其统一管理科学利用的需要,"长江口水文数据库系统"的开发势在必行。"长江口水文数据库系统"包括数据录入、数据整编、数据检索、数据查询、数据修整等重要功能,系统的数据量大,其数据除了强调准确性之外,还有一个关键因素就是安全性,这一点对开发工具来说,是必须予以支持和保障的。

开发工具

目前市场上流行的各种数据库系统软件,各行其道,使用户无所适从,经过分析之后, 发现Powersoft 公司的PowerBuilder是一种高效而快捷的集成开发环境,它提供了可视化的、面向对象的、基于客户机/服务器的开发环境,为Oracle,Informix,Sybase等数据库提供了公共的前端工具。其特性归纳为:

⒈ 开放式数据库连接ODBC,不仅适用于各种数据库管理系统,具有很好的兼容性, 有利于应用系统的移植和扩充,而且还能给已有的数据资源带来全新的图形界面。

⒉ 基于客户机/服务器(Client/Sever)的体系结构可以减少硬件平台的投资,并能完成大型主机的功能,而且可以集中数据的存储和管理,实现资源的共享,降低维护的难度,还能集中实施规则,实现信息的标准化。

⒊ 面向对象的应用程序开发方法。一个定义良好的对象具有封装的数据和功能。

⒋ 可视化的开发环境。用户不用了解WINDOWS和C编程技术,通过图形化的交互操作,就可以设计实现应用系统,开发出美观、简洁的图形化界面来。

⒌强大的数据提取能力。PowerBuilder提供了功能强劲的数据窗口控制(DataWindosObject)。数据窗口对象可以用于联接数据库,获得记录,以各种风格显示数据和更新数据库。

PowerBulder由此被选为前端开发工具,开发平台是Windows98,Server端为UNIX操作系统和Sysbase数据库,网络协议是TCP/IP。

开发体会

⒈ 使用PowerBuilder同时访问多个数据库

需要在同一窗口同时访问两个服务器上的两个不同种数据库,PowerBuilder为这种需求提供了解决方案。

一、 通过Transaction Object同时打开多个事务,再通过多个事务存取建立在不同数据库上的DataWindows。

二、 通过数据管道(Data PipeLine)将其它数据库上基表中的数据传送到主数据库上,对数据管道还可加上过滤条件,以便只传送需要的数据。

PowerBuilder不仅为应用系统的快速开发提供了强有力的支持工具,而且为30多种数据库提供了直接连接或ODBC连接,再加上Transaction Object和Data PipeLine同时存取多个数据库的功能,为数据库系统的互连提供了简捷有效的方法。

⒉ PowerBuilder创建动态数据窗口

PowerBuilder动态数据窗口技术为开发人员提供了强大、灵活的数据窗口开发手段,减少了重复性劳动,提高了编程效率。动态数据窗口可以说是PowerBuilder这一优秀的数据库开发工具的一大亮点,用Create()函数创建动态数据窗口,其语法格式为:dw.Create(Syntax[,ErrString])

其中:dw为需创建的动态数据窗口名;Syntax为创建动态数据窗口的语法字符串;ErrString为可选参数,用来存放发生错误时的错误信息,若忽略,发生错误时系统自动显示消息框,一般不符我们需要,所以需定义该参数。

对于Syntax, PowerBuilder提供LibraryExport()与SyntaxFromSQL()二个函数来达到这个目的:

一、 LibraryExport()函数

功能:从PowerBuilder库中输出一个对象,返回该对象的语法。

语法格式:LibraryExport(LibName,ObjName,ObjType)

其中:LibName 为带路径的PowerBuilder库名;ObjName为导出对象名;ObjType为该对象的类型。

二、 SyntaxFromSQL()函数

功能:基于SQL的SELECT 语句产生创建数据窗口的语法。

语法格式:Transaction.SyntaxFromSQL(SqlString,StyleString,ErrorString)

其中:Transaction.为已连接的事务对象,一般即为SQLCA;SqlString为SQL-SELECT 语句;Stylestring为数据窗口的显示风格字符串;ErrorString用来存放发生错误时的错误信息。

一般来说,SyntaxFromSQL()函数灵活性高、功能强,因此创建动态数据窗口大都使用该函数。

⒊ 数据的转储和调入功能的实现

一个数据处理系统的安全性部分是整个系统的关键部分,对于一些需要长期保存的历史数据来说更是必不可少,本系统即是对此具有高度敏感性的。PowerBuilder中SaveAs()、ImportFile()两函数可以实现这方面的操作:

一、dwcontrol.SaveAs()提供了多种数据的存储格式,如dBase的DBF格式、以TAB作为分隔符的文本TXT格式、Excel格式、SQLInsert格式、CSV格式。

二、dwcontrol.ImportFile()将数据从各种格式的文本文件中调入数据窗口控制里。

⒋ 简洁美观的数据报表的创建

一个系统里的报表应该具有一致的风格,报表至少应该具有如下几种项目:报表的标题、报表的日期和时间、报表的页序、报表涉及的对象和条件。PowerBuilder提供了各种类型的数据窗口,报表中主要用到如下几种类型:

  • N-UP风格,该数据窗口可以多行显示数据,对于显示的内容比较短的记录尤其合适,可以节省纸张。
  • GRIDTAB风格,以表格的方式显示数据,外观比较工整,美观明了。
  • GRAPH风格,以图形方式显示数据,有直方格、圆饼图、曲线图、三维立体柱图。
  • COMPOS风格,复合数据窗口,这种风格可以将各种不同类型的数据窗口复合在一个数据窗口里,对于结构比较复杂的报表尤其有效。

⒌ 采取加密措施,实现按权限查询。

对用户来说,查阅数据记录是有权限的,这是个常识性的问题,对本系统来说尤为重要。在进入系统时,需正确地键入密码。

⒍ 在系统运行过程中,出现"缺少一些DLL库函数"的错误提示,解决此类问题的方法是:将功能相近的库函数复制成"缺少的库函数"。

 

收藏 推荐 打印 | 录入:cjk3d | 阅读:
本文评论   [发表评论]   全部评论 (0)
热门评论