请问如何找出DBF数据库中带删除标记的记录???(50分)

  • 主题发起人 主题发起人 www
  • 开始时间 开始时间
使用函数DELE()判断
 
shh:怎么判断??SQL语句怎么写??
 
借问:
<a href="http://shrw.chn.net" target=_blank>Delphi俱乐部</a>为什么打不开?
 
茂名的空间有问题,连202.103.176.81也ping 不通 。
 
在SQL语句的条件中加上 WHERE DELETE()
 
to renyi:
还是不行呀.
 
还有谁能帮我??
 
..............
各位大虾,帮帮忙吧!!
 
SQL怎么可能判断delete与否呢?
这都是dbase/foxpro/paradox的特殊结构。

在table一级用dbi...函数,也只能
实现set delete on/off的功能,
暂时还不知道有判断某一条记录是否为
被删除记录的方法。
 
调用dbisetprop()的BDE API函数
 
能不能给出具体的例子??
 
等待.................
 
uses DbiTypes,DbiProcs,DbiErrs.

显示DBF数据表中的软删除记录,

DeleteOn 表示是否显示,True表示显示

function SetDbfDelete( DbfTable :
TTable ; DeleteOn : boolean ) : boolean;
var
errResult : DBIResult;
begin
result := false;
{如果数据表没有打开,则操作失败 }
if ( not DbfTable.active ) then exit;
{进行设置显示操作 }
errResult := DbiSetProp( hDBIObj(DbfTable.Handle),
curSOFTDELETEON,
LongInt( DeleteOn ));
if errResult = DBIERR_NONE then
{没有错误,则操作成功 }
begin
result := true;
DbfTable.refresh;
end;
end;

恢复被软删除的记录

function UndeleteRecord
( DbfTable : TTable ) : boolean;
begin
Result := false;
with DbfTable do
begin
{如果数据集处于非
活动状态,则执行失败 }
if not active then exit;
{使数据集的当前记录与
实际的当前记录的位置一致 }
UpdateCursorPos;
{恢复被软删除的记录 }
if DBIERR_NONE < > DbiUndeleteRecord( Handle ) then
exit;{发生错误,操作失败 }
result := true; {操作成功 }
end;
end;

注:摘自王发军文章,本人没有测试过。
 
有人试过吗?能成吗?
 
温柔一刀 果然厉害!!
佩服
 
后退
顶部