编程
思路,生成一个新的数据库,从旧的数据库中提取数据,如果记录在新数据库中存在,就不复制,如果不存在,就将记录复制到新数据库中!这样的话就没重复的数据了
假定原数据是保存在sjdbf中,则程序如下:
use sj
copy to temp &&将原数据库内容复制到临时数据库中
zap &&清空原数据库
use temp
jlh=1
stro recc() to jls &&将原记录条数保存到变量中
do whil jlh<=jls &&依次判断在新表中是否存在重复记录
go jlh
stor code to lsbl &&将code字段的值保存在变量中
use sj
loca for code=lsbl
if found()
else
clos data
use temp
copy to lswj for recn()=jlh &&将没有找到的记录可在在临时文件中
use sj
appe from lswj &&从临时文件中追加记录
clos data
dele file lswjdbf &&删除产生的临时文件
endi
jlh=jlh+1
use tmep
endd
clos data
dele file tempdbf &&删除临时文件
再重新打开原数据库后,你会发现已经没重复的记录了
ZAP &&物理删除当前选定的记录
或者是
DELETE &&逻辑删除选定的记录,可以恢复
PACK &&物理删除已经逻辑删除过的记录
比如:
use tabledbf excl &&以独占方式打开要 *** 作的表
go top &&移动指针到第一行
locate for name="王八" &&定位记录
if found() &&判断条件
zap &&彻底删除记录
endif
它与下面的程序是等价的:
use tabledbf excl &&以独占方式打开要 *** 作的表
go top &&移动指针到第一行
locate for name="王八" &&定位记录
if found() &&判断条件
delete &&给记录标注删除符号
pack &&物理删除有删除标记的记录
endif
以上就是关于vfp中如何删除重复数据全部的内容,包括:vfp中如何删除重复数据、vfp 如何一次性彻底删除当前记录,命令是在线等答案!、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)