如题!!!

解决方案 »

  1.   

    pick.....这是在vf中
    在delphi 中好像有个3方控件。。我查查
      

  2.   

    在delphibbss 中找到的
    真正删除记录
    ---- 在Delphi 程序中,用TTable 或TQuery 构件的方法Delete执行删除记录的操作时执行的是软删除, 即 相 当 于Foxpro 中 的"Set Delete Off" 的 效 果, 仅 将 记 录 用 星 号"*" 标 记 为 删 除, 实 际 并 没 有 数 据 库 中 进 行 物 理 上 的 删 除 . 要 进 行 真 正 的 删 除, 需 要 进 行Pack Table 的 操 作 . ---- 在Delphi 程 序 中 真 正 删 除 记 录, 需 要 调 用BDE 函 数, 函 数 名 为DbiPackTable, 函 数 原 型 为: 
          function DbiPackTable ( hDb : hDBIDb;hCursor : hDBICur; pszTableName : PChar;pszDriverType : PChar; bRegenIdxs : Bool ): DBIResult;---- 其 中,hDb 为 数 据 库TDatabse 的 句 柄,
                     hCursor 为 数 据 表TTable 的 句 柄,
                     pszTableName 为 要 删 除 记 录 的 数 据 表 的 名 称,
                     pszDriverType 为 要 删 除 记 录 的 数 据 表 的 类 型,
                     bRegenIdxs 表 示 是 否 在 删 除 记 录 后 自 动 更 新 索 引 文 件 . ---- 在 上 面 前 四 个 参 数 中,hDb 不 能 为NULL .hCursor、pszTableName、pszDriverType 可 以 为 NULL, 但 必 须 提 供 足 够 的 信 息 来 标 识 数 据 表 的 文 件 名 称 和 类 型, 当hCursor 不 为 空 时, pszTableName 和pszDriverType 可 以 为NULL; 当pszTableName 为 数 据 表 的 路 径 和 文 件 名 时,hCursor 和pszDriverType 可 以 为NULL . ---- 值 得 注 意 的 是, 在 删 除 记 录 时, 如 果 用Table 来 实 现, 则Table 必 须 以Exclusive=True 的 方 式 打 开 . 下 面 就 是 一 个 典 型 的 例 子 .    首先,应在uses语句加上DbiTypes,DbiProcs,DbiErrs.{ Pack一个DBF数据表,DbfTable包含了数据表的信息 }
    function PackDbfTable( DbfTable : TTable ) : boolean;
    var
       errResult : DBIResult;
    begin
         if not DbfTable.Exclusive then  {如果不是以独占方式,操作失败 }
         begin
         result := false;
         exit;
        end;
         {进行删除操作 }
         errResult := DbiPackTable( DbfTable.dbHandle, DbfTable.handle, NIL, NIL, true );     {根据返回结果,返回成功与否的标志 }
         if errResult = DBIERR_NONE then     {没有错误,操作成功 }
             result := true
         else{没有错误,操作失败 }
    result := false;
    end;
      

  3.   

    如用ADO的话
    adocommand1.CommandText:='pack ht.dbf';
    adocommand1.Execute;