网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
BDE函数对DBF数据库的的几个常用操作
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式
tProp(hObj:hDBIObj;iProp:Longint;
        iPropValue:Longint):DBIResult;

    该函数用来设置 DBI 对象中某个属性的值. 其
中, hObj 为 DBI 对象名称, 我们这里为数据表 TTable
的句柄; iProp 为属性名称, 我们用的是软删除属性
curSOFTDELETEON; iPropValue 为属性值, 我们用 True
或 False 表示是否使软删除的记录被显示.

    下面就是一个典型的例子.
    同样,应在 uses 语句加上 DbiTypes, DbiProcs, DbiErrs.


{显示DBF数据表中的软删除记录,DbfTable包含了数据表的信
息,DeleteOn表示是否显示,True表示显示}
function SetDbfDelete(DbfTable:TTable;DeleteOn:
    boolean):boolean;
var
    errResult:DBIResult;
begin
    result:=false;{操作失败时,返回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;

三.获取当前记录号

    在用 Foxpro 时,  RecNo() 函数用惯了, 在Delphi 程序
没有这样的函数觉得别扭. 下面我们可以用 BDE 函数获取当
前记录在数据集中的记录号.

    要用到的函数名为 DbiGetRecord, 函数原型为

functionDbi GetRecord(hCursor:hDBICur;eLock:
    DBILockType;pRecBuff:Pointer;
    precProps:pRECProps):DBIResult;

    该函数用来取得当前记录的一些属性. 其
中, hCursor 可为数据集的 Handle, eLock 为对记录加锁
的类型, pRecBuff 存放记录的缓冲区, precProps
为记录属性集.

    下面就是一个典型的例子. 同样, 应在 uses 语句加
上 DbiTypes, DbiProcs, DbiErrs.

{取得当前记录的记录号}
function RecNo(ADbfTable:TTable):LongInt;
var
    RecordProps:RecProps;
begin
    Result:=0;{返回0表示函数执行失败}
    with ADbfTable do begin
        {如果数据集处于非活动状态,则执行失败}
        if not active then exit;
        {使数据集的当前记录与实际的当前记录的位置一致}
        UpdateCursorPos;
        {取得当前记录的属性,主要是记录的位置}
        if DBIERR_NONE<>
            DbiGetRecord(Handle,dbiNOLOCK,nil,@RecordProps)
        then exit;

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号