说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

解决一个DBF表时的"Index not found.."错误-Delphi资料

HTML文档下载 WORD文档下载 PDF文档下载
解决一个DBF表时的"Index not found.."错误-Delphi资料

怎样解决打开一个DBF表时的"Index not found.."的错误

当 你 创 建 一 个 DBF 表 时 , 如 果 使 用 了 MDX 格 式 的 索 引 文 件 , 那 么 DBF 表 的 表 头 中 的 某 个 字 节 就 自 动 被 设 置 了 一 个 标 志 , 当 你 下 次 试 图 重 新 打 开 这 个 DBF 表 的 时 候 , 数 据 引 擎 会 自 动 识 别 这 个 标 志 , 如 果 此 标 志 为 真 , 则 数 据 引 擎 将 试 图 打 开 相 应 的 MDX 文 件 , 当 相 应 的 MDX 文 件 不 存 在 时 , 错 误 就 产 生 了 。 知 道 了 问 题 产 生 的 原 因 , 解 决 方 案 也 就 有 了 : 我 们 只 需 将 那 个 标 志 字 节 ( 其 实 就 是 第 28 个 字 节 ) 设 为 零 就 行 了 。 下 面 为 示 范 代 码 :

unit Fixit;

interface

uses

SysUtils

WinTypes

WinProcs

Messages

Classes

Graphics

Controls

Forms

Dialogs

StdCtrls

DB

DBTables

Grids

DBGrids;

type

TForm1 = class(TForm)

Table1: TTable;

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

const

TheTableDir = 'c:\temp\';

TheTableName = 'animals.dbf';

procedure RemoveMDXByte(dbFile: String);

{ 这 个 procedure 的 参 数 是 一 个 文 件 名 , 它 将 对 这 个 文 件 的 文 件 头 }

{ 进 行 处 理 , 以 确 保 它 不 在 需 要 MDX }

const

Value: Byte = 0;

var

F: File of byte;

begin

AssignFile(F

dbFile);

Reset(F);

Seek(F

28);

Write(F

Value);

CloseFile(F);

end;

procedure TForm1.Button1Click(Sender: TObject);

{ 此 procedure 将 试 图 打 开 一 个 表 , 如 果 相 应 的 .MDX 文 件 不 存 在 }

{ 将 对 表 文 件 进 行 处 理 并 尝 试 再 次 打 开 }

begin

try

{ 为 表 设 置 路 径 }

Table1.DatabaseName := TheTableDir;

{ 设 置 表 的 名 字 }

Table1.TableName := TheTableName;

{ 尝 试 打 开 表 }

Table1.Open;

except

on E:EDBEngineError do

{ 如 果 MDX 文 件 未 发 现 , 将 返 回 以 下 错 误 信 息 }

if Pos('Index does not exist. File'

E.Message)>0 then begin

{ 询 问 用 户 是 否 继 续 }

MessageDlg('MDX file not found. Attempting to open

without index.'

mtWarning

[mbOk]

0);

{ 从 表 头 中 移 去 相 应 标 志 }

RemoveMDXByte(TheTableDir + TheTableName);

{ 再 次 向 Button1 发 送 被 按 下 的 消 息 , 本 procedure 再 次 被 执 行 }

PostMessage(Button1.Handle

cn_Command

bn_Clicked

0);

end;

end;

end;

end.

【CTO俱乐部走进海尔】海尔的转型探索之路 十一问MongoDB CTO,谈NoSQL人气王的扩展、事务及运维 腾讯“创业•密码”开发者论坛 ChinaJoy引爆创业者关注 从F1赛车到智能手机,无线充电技术之崛起 助力梦想!MDCC免费为优秀App开发团队提供展位 为Symfony2和Redis正名,基于PHP的10亿请求/周网站打造 【聚焦API】教你如何选择最适合的NLP API服务商? 直接改应用!Flipboard开源iOS应用内调试工具FLEX 专访腾讯游戏运营总经理崔晓春:云时代游戏运营的变革与创新 嵌入式专家Bruce Douglass经验谈 门票销售过半 从2014微信开发者大会购票者特征说起 当来自金星的Devs碰上火星的Ops——共话应用扩展 移动平台市场占有率:Android首次赶超iOS 豌豆荚范怀宇 I/O大会总结:Android无处不在 轻博客始祖Tumblr:哈希以支撑2.3万Blog请求/秒 《近匠》FIR.im:简单易用的内测分发工具 传苹果公司将于9月9日召开新一代iPhone发布会 近百家微信开发商参与征集评选活动 TOP10正浮出水面 Java程序猿,手游引擎怎么选? MDCC 2014优秀移动团队免费展位火热申请中 【微信讲师面对面】你在企业服务号开发中遇到的坑和难点 五个解决方案让MongoDB拥有RDBMS的鲁棒性事务 浅谈Apache Spark的6个发光点 安卓 “假ID” 签名漏洞,竟然骗过了支付宝和360 从Social到Big Data,移动App蚂蜂窝转型推新品 《近匠》nice曹大鹏,从男装导购到潮人社区的心路历程 DevOps扼杀的不是开发者,而是开发生产力! 利用Docker构建开发环境 Netflix公布Cassandra新性能:基于AWS的百万次写入每秒 一周消息树:谷歌Android遭遇“颠覆”危机 微软发布新应用Snipp3t,iOS平台首发且无Windows Phone版 VC程序方法的请教。 请问如何禁用一个页面的cache 不好意思,怎么把引号赋给一个变量?thank 关于字体的保存,用序列化 关于oracle连接的一个简单问题 一个构件地址35分,快快来吧。 如何实现实时监测注册表的变化呢??????????? 如何锁定一个SQL SERVER的表? 哪里有Rose2000? MMGG Redhat7.2Ftp,硬盘安装问题求救! 请问怎样设置phpmyadmin带用户名和密码的登陆界面? 本来打算跳楼的,想想还是先来这试试...... 下面代码有什么用? 想问一下关于BDE和ADO组件的对应关系 就是这本《VC++技术内幕》……哎……我认了…… MSSQL2000 为什么我的log文件拼命往上涨 如何将用jsp得到的数据用javascript显示出来? 关于画声音波形曲线的问题.高手请帮帮忙(效果像flash加入声音时那样) TNND , 连个回复都不行 , 真恶心 (yeti_lee) 信用卡代理网站的可靠性 关于sqlserver联接问题帮一下了在线等待 小问题,高分啦!!:) 真的没有高手么,真的没人会么? 我为了使鼠标指向SpeedButton上时它的Caption颜色改变,在SpeedButtonMouseMove()和PanleMouseMove()中写了代码,但是很不敏感,鼠标移动快一点,就会有延时? 如何在Delphi5种调用windows自身的拨号网络实现点到点通过modem连接 回贴老是出错(该页无法显示。。。),试试发主贴怎么样。 哎!!!!帮帮忙吧!!!!!!! 高分求助!!!谁能告诉我在ASP下上传任意文件? 一个很菜的问题,和var有关 关于其他数据表/库文件转换进MySQL库的问题 请问在win98 下面安装 SQL Server 7.0 DESKTOP版 需不需要哪台机有网卡?? 关于网络设计师考试? 再发一次吧。昨天发晚了,人少.比较BCB和DELPHI我差点哭了,原来是这样,我以前的看法错了。BCB,你的路还长.BCB真比DELPHI慢得多,你们认为呢,有谁一起比过呢?来说说吧 对于SDK(win32 api)精通、熟悉、了解或者正在努力中的同志,希望能多多交流.qq:4911756 如何控制2000域用户上网权限 有没有用来关闭计算机的函数或消息呀! 很菜的问题,不要错过机会阿。拿分把 请问从哪里可以下载到免费的jsp的编译软件,谢谢帮忙!! 难得问问题,给个高一点的分,win95下的驱动程序怎么移植到windows me下面?(问题圆满解决可以加到400分,剩这么点了,呵呵) 谁能告诉我几个Activex控件的下载网址,我给他分 关于dll在代理中的运行问题?(H) 分在里面拿!http://www.csdn.net/expert/topic/374/374827.shtm 在程序员大本营的2001borland版上有一个插件叫maxspace,谁帮忙破解一下时间限制? 救命啊!sos..sos.. 我快不行拉! 哪里有wise for windows installer的使用说明? 遍历表字段名的问题? 上传文件是否可以设置默认文件? 谁能告诉我几个Activex控件的下载网址,我给他分!!!! 能否提供些,好书(数据库方面),好的学习DELPHI的网站 怎样判断闰年,有原代码吗 40-50字读书感言怎么写? 水浒传第57回500字简介和50字读后感徐宁教使钩镰枪 宋江大破连环马 是这一章么大哥 要写关于运动会的作文,帮忙想个作文题目. 意林其中随便一篇文章的200字的读后感 阅读西游记并写出幸福的感受300字 好的我给50 快30分钟写出来快,我给50270字就行快 水浒传单个小故事的读后感,每篇50~100字 小于150字的读后感!要(读者,青年文摘,意林)的!有多少篇,记住要小于150字 要(读者,青年文摘,意林) 读书感言 50字 老师让写一篇以“爱”为话题的作文(题目自拟).作文高手进.我觉得这些都 太俗了.有没有新颖一点的.要带题目的、、、 我的好朋友作文400字 男生? 怎样写自己的文章,必须300字到400字是必须300 400,五百也行,最好是提纲 ,重点是外貌和特点. 描写高中老师作文题目、要求幽默点或者新颖点别整什么“明灯”啊、“蜡烛”啊俗的、要与众不同! 以顽强为话题 800字作文 我的好朋友作文写一下谢 我是90 后作文800字绝对 独一无二 不要抄 基督山伯爵读后感23000字谁能写,非常急,尽量多点 怎样辅导写我的好朋友的作文 自信,成功的秘诀(作文)5百字以上 求基督山伯爵复仇记600字读后感如题,初中生级作文,答对追50分 写我的好朋友 作文 可以从哪几个方面写 作文【成功的秘诀】 输入您的问题300字美文10篇 和 骆驼祥子 300字美文10篇 请以“微笑”为话题写一篇作文(题目要有微笑两字)不少于500字 我找到了成功的秘诀作文 有没有基督山伯爵的英文读后感300-400字 江姐读后感 300字左右 张士骏的《童话大师安徒生》的读后感,100字左右就行了.读了这篇文字,你有哪些感受?受到了哪些启发,把想法写出来!500多字吧!好的话,可以把分提到150 速求《基督山伯爵》读后感英文版,200字左右 江姐的事迹(30~50字)越少越好! 安徒生童话故事卖火柴的小女孩读后感 求一篇1000字的基督山伯爵读后感.突出对他那复仇天使的形象和骑士精神的欣赏与赞美. 一篇《江姐》的读后感 3000字 我的好朋友作文600字有用的 珍惜时间的文章(300字左右) 西游记读后感30~50字 自信的作文300字 他是我的好朋友 作文kuai 我的好朋友作文怎么写 我的好朋友作文500字都没一个好的 关于我的好朋友的作文. 给个300 400左右字有哲理的文章字不要太多,不要太幼稚的! 以“信心”为话题的800字作文跪求一篇以“信心”为话题的八百字作文.望好心人帮助.悬赏20分. 求一篇以“生命的芳香”为话题的作文? 求《给自己一个微笑》的800字作文, 关于自信的作文400字以上急用 中学作文 总有一个理由让你们微笑为话题600字是为 话 是以第一人称哦 以珍爱生命为话题的作文题有哪些 急. 以自信为话题的作文,800字左右! 请以“生命的芳香”为话题,写一篇文章.800字左右, 我的好朋友作文500字左右 写运动会的作文题目有? 我要一篇以“生命的芳香”为话题的600字作文.在后天就要.不能以“生命的芳香”为题目.必须要是600字以上或600字. 作文:我的好朋友!600字左右! 谁能帮我想一下关于运动会的作文题目吗一定要新颖啊 ,一定要让人过目难望 以“生命的芳香”为题的作文初一水平的,600字就够了. 读 有感50字 运动会作文题目 请用“生命的芳香”为题 写一篇作文. 求水浒传每回的读后感(大概50-80字)5-8、10、11、13、15、17、18、19回的.(是读后感,不是内容哦!)如果符合要求,我会给分的.:) 写运动会的作文题目该写什么
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn