回复 59楼 laowan001
CLEAR
close database
SELECT 1
USE D:\标记法\数据源表.DBF ALIAS 数据源A
SELECT 2
USE D:\标记法\素数表5万.DBF ALIAS 素数表参
SELECT 3
USE D:\标记法\数据表a.DBF ALIAS 数据A
SELECT 5
USE D:\标记法\素数表结果.DBF ALIAS 素数表果
kssj=SECONDS()
FOR i=11 TO 12
@12,10 SAY i
SELECT 3
DELETE ALL &&因为此表将写入新的数据,所以提前清空数据,即记录条值
PACK
INSERT INTO 数据A (数据1) SELECT 素数式+(i-1)*9699690 FROM 数据源A && 素数式+(i-1)*9699690 数据1 FROM
数据源表 INTO CURSOR 数据表a READWRITE
&&select list item 选择列表项,之前它不管,[ ,...]应该是字段名用逗号隔开
SELECT 3
bpz=i*9699690
Kf=INT(SQRT(bpz))
GO 1
SELECT 2
GO 1
COUNT ALL FOR 素参<=kf TO jlh
&& jlh=RECNO()
xhcs=jlh-8 &&xhcs是循环次数的简写(第一个字母代替)
SELECT 2
GO 9
FOR k=1 TO xhcs
sc=素参
SELECT 3
jlts1=RECCOUNT()
&&把数据a表中的记录条总数赋给变量:jlts1
GO 1
FOR h1=1
to jlts1
sj1=数据1
ys1=MOD(sj1,sc)
IF ys1=0
SELECT 3
DELETE next 1
ENDIF
SELECT 3
SKIP
ENDFOR
SELECT 3
PACK
SELECT 2
skip
ENDFOR
SELECT 3
jlts2=RECCOUNT()
&&把数据a表中的记录条总数赋给变量:jlts1
GO 1
FOR h2=1
to jlts2
sj2=数据1
SELECT 5
APPEND BLANK
REPLACE 素数 WITH sj2
SELECT 3
SKIP
ENDFOR
ENDFOR
=MESSAGEBOX("运行时间:"+LTRIM(STR(INT((SECONDS()-kssj)/60)))+"分"+LTRIM(STR(MOD(SECONDS()-kssj,60),5,2))+"秒",64,"运行时间提示")
那个语句无法应用,把那部分用最后的语句,改写了下,能正常运行,用时28分27:93秒,也不知道时间是否减少了。