免费下载应用软件、交流使用经验。

软件下载 经验交流 软件开发 专题论述 请君留言 网站介绍 休闲时光 返回主页
 
注意复合索引文件对单索引文件的干扰

作者:本人     来源:本站

    我们知道,后缀为.IDX的索引文件是常见的数据库索引文件,它只能对单个字段进行索引;而后缀为.CDX的索引文件是FoxPro 2.5中才能见到的复合索引文件,它可以同时对多个字段进行索引。复合索引文件比普通索引文件有更多的用处,但若使用不当,却会对普通索引文件产生干扰。
   在笔者编制的财务管理系统销售核算模块中,销售开票数据库(FPDJ.DBF)中只有购货单位的税务登记证号字段(DJZH),有关购货单位的名称、地址、电话等其他数据则另外存放在购货单位数据库(GHDW.DBF)中。两个数据库通过SET RELATION TO DJZH INTO GHDW命令建立起关联。当销售开票数据库的指针移到任一记录上时,由于通过税务登记证号与购货单位数据库建立起了关联,所以购货单位数据库的指针就会自动移到相应的记录上,从而取得购货单位的名称、地址、电话、开户银行及帐号等相关的数据。使用关联命令一般需要对被关联的字段(本文中的税务登记证号)进行索引之后才有效。笔者编制的程序经过调试通过后,已经正常使用了三个月,均未发生问题。最近,操作人员突然反映程序不能正常使用,两个数据库之间不能建立起关联。即无论销售开票数据库变动到哪一条记录,购货单位数据库总是停留在第一条记录上。开始笔者以为是程序受到病毒的攻击,于是用软盘备份的程序覆盖了硬盘中的程序,开机试用仍不正常。笔者又以为是FoxPro 被病毒破坏,重新安装FoxPro   后故障依旧。笔者将程序挂起之后进行检查,发现购货单位数据库并未按索引的关健字段排序,分别用SET INDEX TO GHDW和USE GHDW INDEX GHDW命令打开索引文件仍不奏效。至此,几乎已经到了无可奈何的地步。不过,笔者在列目录的时候发现多出了一个GHDW CDX的复合索引文件,顺手就把这个文件删除了。没想到再开机一试,故障竟然“不翼而飞”,程序又能正常使用了。
   后来经过询问才知道,是因为操作人员在FoxPro 的命令状态下打开了购货单位数据库并在无意当中建立了结构化的复合索引文件。当打开数据库时,结构化的复合索引文件就会自动优先打开,系统将不再理睬打开普通索引文件的命令,以致于普通索引文件就不起作用了。


注:本文发表在1996年7月1日《中国计算机报》第26期第115版

发表日期:1999-4-11     修改日期:

备案序号:赣ICP备05002359号

建议使用1024*768分辩率浏览 ☆版权所有 摘抄或转载须得到书面许可☆ Hujiajun ©1999,2016
E-Mail: hu-jj@21cn.com