表数据合并求教

kingmj 2005-03-22 04:16:29
小弟以前没有做过vfp,现在有一问题:在中有俩foxpro表,结构一样,部分数据重复,现在需要合并。表结构为:(Lm,Ym,Xxlx,Byzy,Cc,Zkyx,Zkzh,Xm,Xb,Byzh,Bysj)合并时如果Byzh相同则用第二个表的记录更新第一个表的记录,否则追加到第一个表。
...全文
185 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
十豆三 2005-03-24
  • 打赏
  • 举报
回复
PACK in 表名

你试一下。
kingmj 2005-03-24
  • 打赏
  • 举报
回复
我写了一个程序,通过vfpoledb,使用sql操作foxpro表,删除一条数据后,发现表中还存在这条数据,花了好多功夫才知道原来只是加了一个删除标记,在vfp里可以用“PACK”命令永久删除.
我想知道:怎么样不用vfp,用sql永久删除表中的数据?
淡蓝冰 2005-03-23
  • 打赏
  • 举报
回复
十豆三的方法很好﹐管你有沒有﹐我先刪﹐再加得到的結果都是一樣的。
LAIYANGPJ 2005-03-23
  • 打赏
  • 举报
回复
”嵌套错误“应该是对循环语句来说的,你的这段代码是不是还嵌套在别的语句里?上面的那段代码应该不会出现这个提示的
十豆三 2005-03-23
  • 打赏
  • 举报
回复
上面第一句,只有VFP8和VFP9才支持。VFP6不支持。
十豆三 2005-03-23
  • 打赏
  • 举报
回复
DELETE FROM T1 WHERE Byzh in (SELECT Byzh FROM T2)
SELECT T1
PACK
APPEND FROM T2
kingmj 2005-03-23
  • 打赏
  • 举报
回复
use t2
go top
scan
nbyzh=byzh
scatter to narray1
use t1
if byzh=nbyzh
update t1 SET lm=t2.Lm,ym=t2.Ym,xxlx=t2.Xxlx,byzy=t2.Byzy,cc=t2.Cc,zkyx=t2.Zkyx,zkzh=t2.Zkzh,xm=t2.Xm,xb=t2.Xb,byzh=t2.Byzh,busj=t2.Bysj
else
appe from narray1
endif
endscan


提示“嵌套错误” ???
十豆三 2005-03-23
  • 打赏
  • 举报
回复
VFP7我没用过,你试一下吧。
kingmj 2005-03-23
  • 打赏
  • 举报
回复
re apple_8180(十豆三)
上面第一句,只有VFP8和VFP9才支持。VFP6不支持。

——————————————————
我用的vfp7

kingmj 2005-03-23
  • 打赏
  • 举报
回复
我写了一个程序,通过vfpoledb,使用sql操作foxpro表,删除一条数据后,发现表中还存在这条数据,花了好多功夫才知道原来只是加了一个删除标记,在vfp里可以用“PACK”命令永久删除.
我想知道:怎么样不用vfp,用sql永久删除表中的数据?
淡蓝冰 2005-03-22
  • 打赏
  • 举报
回复
隨手寫的﹐也不知道對不﹐快要下班了﹐不好意思
淡蓝冰 2005-03-22
  • 打赏
  • 举报
回复
use t2
go top
scan
nbyzh=byzh
scatter to narray1
use t1
if byzh=nbyzh
update t1 SET lm=t2.Lm,ym=t2.Ym,xxlx=t2.Xxlx,byzy=t2.Byzy,cc=t2.Cc,zkyx=t2.Zkyx,zkzh=t2.Zkzh,xm=t2.Xm,xb=t2.Xb,byzh=t2.Byzh,busj=t2.Bysj
else
appe from narray1
endif
endscan
kingmj 2005-03-22
  • 打赏
  • 举报
回复
曾经考虑用C#写一个程序,通过sql语句导入数据,但是速度太慢,想用foxpro写一个合并两个表的的程序,那位仁兄能指教,最好有源码。
king1mj@sina.com
kingmj 2005-03-22
  • 打赏
  • 举报
回复
SELECT 1
USE e:\db\t1
SELECT 2
use e:\db\t2
SCAN
t1.byzh=t2.byzh
SELECT 1
LOCA FOR t1.byzh=t2.byzh
IF EOF()
INSERT INTO t1 VALUES(t1.Lm,t1.Ym,t1.Xxlx,t1.Byzy,t1.Cc,t1.Zkyx,t1.Zkzh,t1.Xm,t1.Xb,t1.Byzh,t1.Bysj)
ELSE
UPDATE t1 SET lm=t2.Lm,ym=t2.Ym,xxlx=t2.Xxlx,byzy=t2.Byzy,cc=t2.Cc,zkyx=t2.Zkyx,zkzh=t2.Zkzh,xm=t2.Xm,xb=t2.Xb,byzh=t2.Byzh,busj=t2.Bysj WHERE t1.byzh=t2.byzh
ENDIF
ENDSCAN


提示“嵌套错误”

2,722

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧