怎样在某个vfp数据库中的记录集中删除记录,执行delete,update后,打开数据库,怎么还有记录存在啊,用啥方法可以解决这个问题,谢了

解决方案 »

  1.   

    http://www.china-askpro.com/msg20/qa85.shtml
    http://www.china-askpro.com/msg1/qa52.shtml
      

  2.   

    FoxPro删除一个记录分两步:先用DELETE建立一个删除标志,然后使用PACK真正地物理删除。 
        VB在操作FoxPro数据库时,其Delete方法只是类似DELETE命令建立一个删除标志,VB不支持Pack操作,所以无法从物理上删除记录。但是,在FoxPro中浏览数据时,你可以在每条记录前看见删除标志。如果你要进行物理删除,只能在FoxPro中执行PACK命令。
      

  3.   

    将以下代码用V_FoxPro编译成可执行文件(PACK.EXE) 
        PARA FILENAME 
         IF .NOT. FILE(FILENAME) THEN 
         MESSAGEBOX ("指定的数据库 ' "+FILENAME +" ' 没有找到!") 
         RETURN 
         ENDIF 
         
         SET EXCLUSIVE ON 
         USE (FILENAME) 
         PACK 
         USE 
        ** CLOSE ALL 
        RETURN 
        当每次操作完DBF数据库后关闭连接(db.clos) 
        然后调用以上程序进行切底删除,方法如下: 
         
         ... 
         db.clos 
         shell "path\pack.exe paht\数据库名" 
         
        或者在Form_Unload事件执行(建议) 
        (我编写的一个管理系统就经常用此方法的,简单方便)