| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2818 人关注过本帖
标题:关于删除数据的问题
只看楼主 加入收藏
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册:2015-3-25
收藏
得分:0 
上面的代码,是可以用在VFP6的
2017-09-21 13:44
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用mywisdom88在2017-9-21 13:44:29的发言:

上面的代码,是可以用在VFP6的



我问的是win7和vfp6啊  现在类似代码 在vfp6 和xp中已经没有问题了

DO IT YOURSELF !
2017-09-21 13:45
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9799
专家分:26886
注 册:2012-2-5
收藏
得分:13 
set defa to d:\
clos all
use gcf && 此处改为 USE WT IN 0
do while .not.eof()
   N=RECNO()
   dele from cgf where wt.cc=cgf.aa &&系统自动打开CGF
   SELECT WT
   GO N+1
enddo
clos all
use cgf
brow

[此贴子已经被作者于2017-9-21 13:53编辑过]


坚守VFP最后的阵地
2017-09-21 13:51
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9799
专家分:26886
注 册:2012-2-5
收藏
得分:0 
CREATE CURSOR cfg (aa I)
INSERT INTO cfg VALUES (102)
INSERT INTO cfg VALUES (101)
INSERT INTO cfg VALUES (103)

CREATE CURSOR wt (cc I)
INSERT INTO wt VALUES (101)
INSERT INTO wt VALUES (103)
INSERT INTO wt VALUES (105)
INSERT INTO wt VALUES (101)
INSERT INTO wt VALUES (102)
INSERT INTO wt VALUES (104)
INSERT INTO wt VALUES (103)
INSERT INTO wt VALUES (106)
SCAN
    DELETE FROM CFG WHERE WT.CC=CFG.AA
ENDSCAN
SELECT CFG
BROWSE

XP、VFP6下通过

[此贴子已经被作者于2017-9-21 14:00编辑过]


坚守VFP最后的阵地
2017-09-21 13:59
xinjie
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:19
帖 子:271
专家分:520
注 册:2007-8-11
收藏
得分:13 
以下是引用wp231957在2017-9-21 13:45:55的发言:

 
 
 
我问的是win7和vfp6啊  现在类似代码 在vfp6 和xp中已经没有问题了

WIN7 下用 VFP9SP2
2017-09-21 14:10
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9799
专家分:26886
注 册:2012-2-5
收藏
得分:0 
VFP6可以在WIN7下运行

坚守VFP最后的阵地
2017-09-21 14:25
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用sdta在2017-9-21 13:59:11的发言:

CREATE CURSOR cfg (aa I)
INSERT INTO cfg VALUES (102)
INSERT INTO cfg VALUES (101)
INSERT INTO cfg VALUES (103)

CREATE CURSOR wt (cc I)
INSERT INTO wt VALUES (101)
INSERT INTO wt VALUES (103)
INSERT INTO wt VALUES (105)
INSERT INTO wt VALUES (101)
INSERT INTO wt VALUES (102)
INSERT INTO wt VALUES (104)
INSERT INTO wt VALUES (103)
INSERT INTO wt VALUES (106)
SCAN
    DELETE FROM CFG WHERE WT.CC=CFG.AA
ENDSCAN
SELECT CFG
BROWSE

XP、VFP6下通过


现在的问题是xp vfp6下通过的代码 在win7 vfp6 下无法通过

DO IT YOURSELF !
2017-09-21 15:02
sharamjam
Rank: 2
来 自:UK
等 级:论坛游民
帖 子:81
专家分:59
注 册:2014-9-19
收藏
得分:13 
楼主

能不能考虑别用循环

用sql语句搞定这个需求啊

不同表间切换、移动指针,效率很差的

use cgf in 0
use wt in 1
delete from cgf a ;
join  wt b ;
on a.aa=b.cc

这个语句在sql server里面是能运行的
不知道在vfp里行不行

[此贴子已经被作者于2017-9-21 16:41编辑过]


我是VFP菜鸟……
但是用VFP实现一个个小应用,还是很有成就感的
2017-09-21 16:36
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册:2015-3-25
收藏
得分:0 
clos database
use cgf IN 0
use wt IN 0
* 要操作 cgf 表,就要循环 wt 表,这样才能从头到尾,sql 命令删除 cgf 表,不会影响到 循环表 wt 的指针
SELECT wt
GO TOP
do while .not.eof()
   dele from cgf where wt.cc=cgf.aa
   skip
enddo
clos database
USE cgf
brow
2017-09-21 17:26
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册:2015-3-25
收藏
得分:0 
如果是VFP9就简单了.
DELETE cgf from cgf where aa in (SELECT cc FROM wt )
DELETE cgf from cgf,wt where wt.cc==cgf.aa
都可以
但如果删除不等于的,
DELETE cgf from cgf where aa not in (SELECT cc FROM wt ) && 正常
DELETE cgf from cgf,wt where wt.cc <> cgf.aa &&有问题
2017-09-21 17:37
快速回复:关于删除数据的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016765 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved