我们来做一个简单的实验。
首先一个简单的表,它只有两个字段(ID,RECNO),包含了如下几条记录。
Record# ID RECNO
1 _1XS19XSDJ
2 _1XS19XSDK
3 *_1XS19XSDL
4 _1XS19XSDM
5 *_1XS19XSDN
6 *_1XS19XSDO
7 _1XS19XSDP
8 _1XS19XSDQ
接着编写一个简单的例程,源代码如下:
set multilocks on
local lnCurRec
use test
cursorsetprop("Buffering",5)
set deleted off
replace all recno with recno() &&为了使用全部记录都修改过
?[set delete off]
lnCurRec=getnextmodified(0)
do while m.lnCurRec#0
go m.lnCurRec
?recno(),deleted(),id
lnCurRec=getnextmodified(lnCurRec)
enddo
set deleted on
?[set delete on]
lnCurRec=getnextmodified(0)
do while m.lnCurRec#0
go m.lnCurRec
?recno(),deleted(),id
lnCurRec=getnextmodified(lnCurRec)
enddo
最后看一下它的运行结果:
set delete off
1 .F. _1XS19XSDJ
2 .F. _1XS19XSDK
3 .T. _1XS19XSDL
4 .F. _1XS19XSDM
5 .T. _1XS19XSDN
6 .T. _1XS19XSDO
7 .F. _1XS19XSDP
8 .F. _1XS19XSDQ
set delete on
1 .F. _1XS19XSDJ
2 .F. _1XS19XSDK
3 .T. _1XS19XSDL
4 .F. _1XS19XSDM
5 .T. _1XS19XSDN
6 .T. _1XS19XSDO
7 .F. _1XS19XSDP
8 .F. _1XS19XSDQ_
从结果很清楚看到,GETNEXTMODIFIED( )是不受set deleted off/on影响的。