vfp中如何删除重复数据
答案:3 悬赏:50
解决时间 2021-01-12 15:32
- 提问者网友:我们很暧昧
- 2021-01-11 22:26
vfp中如何删除重复数据
最佳答案
- 二级知识专家网友:玩世
- 2021-01-11 23:14
编程
思路,生成一个新的数据库,从旧的数据库中提取数据,如果记录在新数据库中存在,就不复制,如果不存在,就将记录复制到新数据库中!这样的话就没重复的数据了
假定原数据是保存在sj.dbf中,则程序如下:
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 lswj.dbf &&删除产生的临时文件
endi
jlh=jlh+1
use tmep
endd
clos data
dele file temp.dbf &&删除临时文件
再重新打开原数据库后,你会发现已经没重复的记录了
思路,生成一个新的数据库,从旧的数据库中提取数据,如果记录在新数据库中存在,就不复制,如果不存在,就将记录复制到新数据库中!这样的话就没重复的数据了
假定原数据是保存在sj.dbf中,则程序如下:
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 lswj.dbf &&删除产生的临时文件
endi
jlh=jlh+1
use tmep
endd
clos data
dele file temp.dbf &&删除临时文件
再重新打开原数据库后,你会发现已经没重复的记录了
全部回答
- 1楼网友:低音帝王
- 2021-01-12 00:24
用SQL命令或用循环检查的办法,将不重复的记录复制到新表,就等同删除重复记录了
- 2楼网友:轮獄道
- 2021-01-11 23:21
SELECt DISTINCT * FROM 数据源 INTO TABLE 目标表
然后呢,把原来的表不要了,目标表里面就是你想要的内容啦
然后呢,把原来的表不要了,目标表里面就是你想要的内容啦
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯