在PB中使用FoxPro数据库的方法

  Power Builder 是十分优秀的用于客户/服务器环境信息管理系统开发工具,其优秀之处不仅是因为可以开发基于客户/服务器模式的系统,而且简单、易学,Power Builder 自身是没有数据库管理系统(DBMS)的,它是首先通过不同的驱动程序联接不同的数据库,再通过这种联接,实现对数据的管理。Power Builder同时随盘附带有一个小型的数据库管理系统:SQL Anywhere,所以用户也可以直接开发用于单机的完整的信息管理系统。

  本人以前曾开发过基于FoxPro环境下的数据库系统,但FoxPro的编程太麻烦,不但要处理数据的管理,而且还要花大量的精力处理输入、输出的格式等。但有着可视化编程环境的Power Builder却不同,处理输入、输出是件相当简单的事情,于是,本人偿试用Power Builder来管理以前的数据库。 c在Power Builder系统中,使用FoxPro的数据库有两种方法:一是利用ODBC联接FoxPro数据库;另一种方法是将FoxPro的数据库转换到SQL Anywhere的数据格式。

  在开发环境下,可以直接在PowerBar画板上配置ODBC,联接FoxPro数据库,方法如下:单击Configure ODBC工具钮

  通过ODBC方式联接的FoxPro的数据库,一定要满足FoxPro的数据库格式,即数据库文件结构必须是:“32字节文件描述 若干个32字节的字段描述 结构描述结束符(0D) 记录1,记录2,…… 文件结束符(1A)”。由此看来,传统的DBF数据库文件均可通过该方式联接。对于Visual FoxPro环境下建立的表(Table),其结构与传统的数据库结构是不同的,它在字段描述结束符(0D)与记录之间加上了二百多个字节的内容,但在未纳入VFP的数据库(Dbc)之前,其内容为“00”,此时仍可以通过这种方式联接,一旦纳入数据库中,该段字节已被填上了其它内容,无法再联接。

  通过对FoxPro数据库的联接,用户便可以在Power Builder开发环境下、应用程序中使用这些数据库,快速地开发出自己的信息管理系统,实现对这些数据库的维护与管理。

  在Power Builder环境下,附带有一个数据库系统——SQL Anywhere,在Power Builder中利用它,用户可以直接建立、维护数据库。在SQL Anywhere中,数据库结构虽然与VFP不同,但概念是一致的,即:数据库是系统中相关的各种数据,这些数据又因不同用途组织成不同的表,这些表共同构成数据库,与传统的数据库(DBF)相类比,PB、VFP中的表即是传统意义的数据库,PB、VFP中的数据库类似于传统的数据库(DBF)文件所在的目录。SQL Anywhere中提供了将传统的DBF文件转换为该系统下的数据库文件(DB)中的表的工具。为了实现这一转换,用户必须先建立一个新的表,再将DBF格式的文件内容导入该表中。

  将DBF文件直接转换为PB(SQL Anywhere)中的表,操作步骤如下:在PB 中建立新表

  新表中的字段顺序要与原文件中的字段顺序一样,即使新表中字段数更多,但新的字段必须放在最后

  新表中的数据类型必须与旧表中的数据类型兼容:字符 ? 字符, 数值 ? 数字,数字 ? 字符……

  新表中字段长度必须能容纳旧数据库文件中的对应字段中的数据,如:旧数据库某一字段宽度为C20,但库中所有记录在该字段的实际最长为14,那么,新表中的字段宽度至少应为C14

  如果你愿意,也可以将原FoxPro中的数据库先转换到TXT格式文件,再将TXT格式的文件导入SQL Anywhere数据库(表)中,不过TXT文件中一条记录独占一行,各字段间必须用Tab键(符)隔开,其导入方法与DBF文件中数据的导入方法类似。

  以上两种办法均可实现在Power Builder下访问FoxPro数据库,但两种方法之间有些不同之处:从系统需求来看:第一种方式使用ODBC直接访问DBF文件,只要Power Builder基本系统即可,不需要安装数据库管理系统(DBMS);而第二种方式必须安装SQL Anywhere系统。

  从运行效率来看:第一种方式速度要慢一些,后一种方式稍快。笔者在应用程序中比较了两种方式在速度上的差异:将FoxPro系统中的一个有15000余条记录的数据库,用第一种方式联接、在数据窗口控制中显示(Retieve)记录,需要6秒钟左右,后来又用第二种方式:在SQL Anywhere 中新建一个表,将这15000条记录导入表中,联接、显示记录,需要时间为3-4秒。对另一个拥有19万余条记录的FoxPro数据库直接使用ODBC,联接、显示的时间为85秒钟。

  使用Power Builder 的主要优势体现在建立客户/服务器模式的系统上。对于一般的单机系统、规模较小的系统,可能大多数人不会想到它。但如果你觉得FoxPro太老土,Visual FoxPro又太难学的的话,不妨试试Power Builder。

  * 网友发言均非本站立场,本站不在评论栏推荐任何网店、经销商,谨防上当受骗!

  更多

  VR本周说:苹果提交AR专利完善地图导航,Niantic举行开发者大赛

  绽放少女般魅力!AVITA LIBER 13.3英寸轻薄高颜值笔记本评测

  三星Galaxy A50更多配置曝光:Exynos 9610处理器+4000mAh电池

  哈苏携手阿斯顿马丁揭晓“惟美 光影之凝”摄影展大奖

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。