日期:2014-05-19  浏览次数:20738 次

如何在.net环境下删除.dbf的资料
我想在程序里面清除一个.dbf文件的资料
我试了用delete,pack一些方法都不能达到效果
文件的大小没有改变。
急呀,我以前没用过foxpro
在线等答案!!

------解决方案--------------------
你建立一個 連接到 foxpro的數據源,然後,用 oledbcommand來操作,和操作 access一樣的。
------解决方案--------------------
楼上正解 不过要有vfp1.0的provider的支持 对dbf的操作用oledbcommand 都是通用的sql语句
------解决方案--------------------
转自 cxmcxm(小陈)


应该装oledb for vfp,可支持vfp的大部分命令 包括pack
oledb for odbc不支持pack

具体操作
建一ado连接,选oledb for vfp,如果是数据库,连接到数据库,如果是自由表,连接到自由表所在目录,然后建一ado command或用ado连接的execute方法,执行以下命令
pack vfp表名
即可将标记的记录删除。我在vb中试过没问题。
注意pack命令要求独占打开表,如果有其它程序或其它机器正在使用表,则上述操作肯定失败。


参考文章:
如何pack表通过 Visual FoxPro ODBC 驱动程序 (VFPODBC.dll)
http://support.microsoft.com/kb/q234756/
------解决方案--------------------
注意文件的权限,NTFS格式的还要注意安全选项中的读取权限是否是针对EveryOne