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

怎样解决打开一个DBF表时的Index not found..错误-Delphi资料

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

当 你 创 建 一 个 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.

VB6.0动态加载ActiveX控件漫谈 VB编程步步高-表单篇 VB编程常见问题 VB编程中如何锁定鼠标 VB创建位图菜单 VB实现按钮浮动效果 VB应用程序中的工具提示和状态显示 VB中处理长列表框项的两种方法 VB中多级下拉列表的实现 VB中防止将重复项目添加到列表框控件中 VB中实现菜单分割 VB中实现带预览的对话框 VB中实现同一窗口的多个实例及控件的动态增减 VB中阴影字体的实现 VB自定义数据结构的传输转换 Visual Basic 窗体背景花纹的实现 Visual Basic 中的界面设计原则和编程技巧 Visual Basic 中文本框处理技巧集萃 Visual Basic 中字符淡出淡入的实现 Visual Basic窗体背景花纹的实现 Visual Basic下工具条的制作 Visual Basic中的界面设计原则和编程技巧 Visual Basic中在同一界面输入大量数据的几种方法 VisualBasic中的界面设计原则和编程技巧 VisualBasic中用户界面的设计原则 把 VB 标准的工具栏变成平面式 把窗体卸载干净-VB资料 保持初始的窗体大小-VB资料 编程实现将所有窗口最小化-VB资料 不规则形状窗口详细说明 -VB资料 不用 API ,直接调用关联的程序 -VB资料 关于InstalShield的两个非常简单的问题! 这般问题,应该如何? 如何学好VC? vc在应用层上 和delphi 区别在哪里? 以下程序中,若输入12345,ABC,则输出的结果是什么 请问大师门,我引用数据库为什么不行呀? ----在线程里的SOCKET为什么关不掉 请问如何有破解excel2000文件密码的工具或方法吗?300分酬谢,急等.谢谢! 在SQL*PLUS下怎样查看一个字段的属性,如是否为主关键字。 帮小弟一把,我仅有的36分了,各位 在vc中如何将字符串转化成其对应的ascii码?用什么函数? 天啊!!怎么办啊,救命啊 内存分配的一个小问题 无聊,散分。只给前面十个。 用image控件可以互相转换ico,bmp,jpg三种格式的图片吗? 请问哪有NGWS下载? ?有没有啊 以下程序的输出值是 哪位朋友知晓如果Table与DbGrid绑定后,如何实现非第一索引的排序。 请问MSDN有中文版的吗?我们这的全是英文版的 我的 Win2000 出大问题了,急盼各位大虾赐教 请问那里有VB.NET软件下载呀 什么delphi命令可以打开网页呢? 到底有没有人知道如何可以在panel中动态的调用frame或者是form呢? 哪里有windowsXP下载? 送我能给的最大分,请教很小的问题,中高手进 聊天请进(thinkingdog) 大家来谈谈 IBM都有些什么认证???什么认证现在比较吃香???谢谢!!! 打印数窗问题求助! 如何使用UrlDownloadtoFile下载文件使用进度条? 如何用在两次用getTime()中得到两个不同的时间。 一个类似于牛角尖的问题(多余的CONST),不能忽视,请各位高手详细说明!!谢谢! 怎样读写注册表,每次都不成功,气死我也~! 各位救命啊,用 TClientDataSet.Load XML 的问题。。。。 娃呀呀,pb8怎么这么难安装?jaguar组建就用了5分钟,regester window又用了10分钟,重启动后,还没完,偶不敢装了,把碟退了出来,大家是不是也这样?//牛虻 请教高手一个ado的问题. 请问一个TWebBrowser的问题 请问:系统崩溃后,找不到BOOT,系统告诉:DOS基本分区为格式化?无法引导启动! 在VB.NET的tabcontrol上放置AxMSFlexGrid控件问题,急 java3D 现在大家是用Oracle 8还是 Oracle 9??? C++问题求助! 请教一个错误的原因. 各位大侠请问Jeffrey Richter的windows核心程序设计是不是就是andvanced windows程序设计的第四版 SCJP里的那些什么300-020,020是什么意思啊? 请问一个关于document.write()方法的问题。急啊! 初学者,欢迎灌水。 Delphi6的Bug?不兼容? 为什么我用GetProfileString()却总是得不到结果 sos 请教各位大侠一个问题 delphi6中的installShield 生料带的配方可以加入些什么填充料吗?生料带的配方中可以加入些什么填充料来提高质量吗?有没什么填充料降低成本呀? 气温略高于0°C,有风的时候晒在室外的湿衣服会结冰吗 用二氧焊进行单面焊双面成型时,打底焊后,焊缝上出现裂纹,并非收弧时也出现,是何原因,如何避免? 内衣泡在干净的水里,容易滋生细菌吗 在寒冷的阴天,气温未达到0摄氏度,但晾在室外的湿衣服会结冰,什么原因?工程热力学 焊接符号 焊接双面焊符合怎么表示?单面焊又怎么表示呢 内衣泡在水里不洗会不会滋生细菌 正常铁路轨道寿命多少年 请问:原电池中,若电解质溶液为0.5mol/L硫酸溶液,电极为铜片和铝片,则电流计指针为什么偏向铝?另外请问:稀HNO3与Fe反应放H2吗?若不放出H2,那该放出哪种气体? 巫婆骑的是扫帚还是拖把靠!我只是问问,骑的是什么!怎么把弗洛伊德都搞出来啦! 我住宿舍内衣洗干净就放在床铺上怎样可以减少细菌的滋生 铁路轨道衡是什么作用 连接天燃气管道和水管管道用的生料带是一样的吗 苹果切开后为什么会变黑? HIV在空气中能存活多长时间?请问HIV在空气中到底能存活多长时间?好像听人说也就几个小时,有点疑虑的是,既然离开人体后马上会死亡,那为什么输带有HIV血的血浆时会感染HIV(因为血浆中的血 液体生料带管子上带油有事没 关于铝和另一不活泼的金属电极(电解质NaOH溶液)构成的原电池的方程式另一不活泼的电极随便假设,请写出不同假设下的两极的电极反应方程式(把总反应方程也写出来更好) 艾滋病在空气中能存活多久并且伴随着春天的阳光和春天的温度 切开的苹果放在空气中为什么会变黄? 镁与铝作电极氢氧化钠溶液作电解质的原电池反应,为什么镁会先参加反应呢,在铝上有气泡产生 HIV 暴露在空气中的存活时间是多少? 为什么苹果切开后放置空气中切口处变成棕红色与接触到空气中的水分无关 我添过女人的内裤,我以为头里有细菌,就经常拿手狠狠的打头,现在头痛,请问是真的有细菌吗? 艾滋病病毒在空气中能存活多长时间,听说过因为修眉毛而得上艾滋病的,那么,他得在刀具上存在多长时间才能消失.这种感染艾滋病的机率有多大? 水管 生料带 怎么 铁路轨道结构包括哪几部分?最好有图 熔化吸热 凝固放热日常生活中有那些利用熔化吸热,凝固放热的例子?什么情况下熔化吸热,凝固放热会给我们带来不利影响?怎样避免? 市面上有脱脂生料带、有油生料带、无油生料带,它们有什么区别,都可以用来按装水管吗? 中国的土地很多都被农药污染了,很多指标会不合格,还有部分是转基因.国内外那个品牌大米可以安心吃?国内的那个地区是没有转基因的,也没有化学超标的?国外的大米那个品牌是真品?我很迷 用汽油擦除衣服上的污渍时,汽油很快跑掉了,这是什么物态变化,过程中是吸热还是放热 水管龙头软管安装使用生料带的问题家中的水管龙头淋浴软管那些在安装的时候需要用生料带那些不用?是不是里面带有橡胶垫圈的就不需要生料带了?生料带使用的时候一般需要缠绕多少圈? 冬天,结冰的 湿衣服也能晾乾,其中发生的物态变化是? 请问中国男性的阴茎的长度和直径标准? 测量成品窗帘下垂长度的计算方式? 冬天潮湿的衣服一层结冰的过程中的物态变化是什么? 甲乙两人在铁路轨道旁背向而行,速度都是每秒1米,一列火车匀速地向甲迎面驰来,列车在甲旁开过用了16秒,而在乙身旁开过用18秒,问这列火车多长? 如何进行窗帘丈量,如何测量窗帘 原电池中,电解质溶液对电极的影响.为什么在氢氧化钠溶液中,镁当正极,铝当负极呢 下午的影子最长还是上午的影子最长 窗帘测量怎么测量啊? 构成原电池的时两个电极一定至少有一个和电解质反映吗镁和铝在氢氧化钠电解质中谁是负极啊 为什么?小生愚笨 请清楚说明 如果是 那铁和铜在氢氧化钠做电解质的情况下能构成原电池吗? 在早上、中午、下午哪个时间你的影子最长? 内裤湿着放会滋生细菌吗 铝与镁形成原电池电解质溶液为氢氧化钠,请把负极的反应式写出来? 为什么早上影子最长? 我添过女人的内裤,我以为头里有细菌,就经常拿手狠狠的打头,现在头痛,请问是真的有细菌吗?..我添过女人的内裤,我以为头里有细菌,就经常拿手狠狠的打头,现在头痛,请问是真的有细菌吗? 铁路轨道加强设备有哪些? 我有急用 由镁、铝、氢氧化钠溶液组成的原电池,负极和正极反应式分别是? 女性内裤细菌多 它的寿命是多久呢 空气中的细菌与什么有关细菌必须从外结摄取有机物获得营养.下表为不同地区的细菌分布数场所 空气中的细菌数(个/米3)畜舍 100万-200万宿舍 2000城市街道 5000市区公园 200海洋上空 1-2北极 那什么物态变化,要吸热放热的,应该怎么记?我老是记不住,求学习方法 日全食是如何发生的 中国的哪些省都与外国相连?分别与哪些国家相连? 单面焊双面成型!立焊单面焊双面成型是左右摆动在断弧还是只要在中间点一点不用摆动就断弧?不是开坡口的两块板,是类似立角焊的样子,两个板成V形组装,最好也说一下开坡口的,他们两种是 为什么家里的苹果切开之后变黑了?不是 就是切开放了一会就变黑了呢 中国为什么要与其他国家(外国)合作? Y电焊单面焊双面成型技能 生料带对封水、气、油的成份有什么要求? 镁—铝—氢氧化钠 ,构成的原电池中,为什么负极是铝? 平焊对接单面焊双面成型时,第一道焊焊枪角度是多少,第二道焊缝因离铁板平面多高?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn