请教高手!dbf文件打开的corrupt table/index header错误!!!怎么回事?(100分)

  • 主题发起人 主题发起人 chongchong76
  • 开始时间 开始时间
C

chongchong76

Unregistered / Unconfirmed
GUEST, unregistred user!
我在打开一个dbf文件时总是出错,打开别的dbf旧没有问题,
报错总是说‘corrupt table/index header’,不知道怎么回师?
这个dbf文件大概有15万条左右的记录,其中有memo字段,
有人说跟memo有关,我想不会,在打开时候就报错了!
请问各位高手,这是什么原因?是因为文件太大了么?
有没有什么办法打开它?我不太懂!请详细些。谢谢!着急!
(我的代码应该没有错误,打开别的旧可以)
 
系统提示好象是说:索引头错误

请检查一下此表的索引,或将之重建。
 
更改表头,去掉索引字节
 
对不起请问二位大虾,索引文件的后缀是什么呀?
怎么打开,怎么更改表头,怎么去掉索引字节???或怎么重建啊???
我是个新手,刚用delphi,且不懂foxpro文件!请详细些,谢谢,(老板催的急!)
 
可以删除.px文件(当然先备份啦)

或者只把 主文件.dbf 拷贝到新的目录中看能不能打开啊!
 
to liulm0326
这位老大,没有什么。px文件啊,只有一个.dbf和一个.fpt文件,共两个,把主文件copy到
别的目录打开,提示说’.fpt缺少或无效‘.什么原因?
哎,看来我太烂了,净问最简单的问题,请各位大虾原谅!
 
用UltraE或其他的工具打开,把表头第29个字节的01改成00
 
to goldbaby:
我按照您说的做了,不知道对不对,但我的文件中第29个字节是02,
我改成00或者01都试过了,但还是出现原来的错误。
补充一点:我是用table控件直接连接dbf文件,没有用bde设置别名,
因为他本身就是单独生成的dbf文件;
即:table.databasename:='';
table.tablename:=dbf文件名;(全路径名)
table.open;
table.open放在try。。。except中就会提示打开时候出错!其他正常!

 
应重建索引!
确定您的dbf 文件的版本,用相应的foxpro 打开数据库,设数据库为aa.dbf

在FOXPRO的命令窗口下键入
use aa
reindex
试一下,不然就是 fpt 备注文件与dbf 不配

 
FoxPro中的索引文件应是 *.idx 文件
也就是说你原库中有索引,但你在拷贝时少拷贝了索引文件,请将之重建即可。
 
我在panadox中也迂到這樣的問題, 現在正急找答案, 就是把索引文件及檢驅文件都
刪掉都沒有辦法, 且不能重建索引, 建索引時出現相同的警告
 
我知道是什么问题,但我也在找解决办法。问题是:你这个表的某个字段的累型DELPHI不支持,
我发现用DELPHI创建的DBF表中某个字段是‘FLOAD’型,保存后,用FOXPRO6.0打开,把‘FLOAD’
型改为‘双精度型’后保存,再到DELPHI中打开就会出现你的问题了。
 
我也想知道如何解决此问题,如果有谁知道,请一定告诉我!我想找一些DBF控件客能解决。
 
用ODBC连接就没问题了,我的也是这样解决的.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
973
import
I
后退
顶部