retrieveend事件中的rowcount参数中保存的是从数据库中取到的行数, rowcount()函数返回的是primary缓冲区中的行数.
区别显而易见, 参数rowcount是包括filter缓冲区中的行数在内的.
由于retrieve()函数执行后会把不符合filter条件的行立即移入filter区, 因此, rowcount与rowcount()的值是不一定相等的.
强调这一点是有实际意义的:
在retrieveend事件中
if rowcount>0 then
getItemNumber(1, "xxx")
end if
运行时, 出现了无效行/列的错误, 原因是所有行都不符合filter条件, 因此rowcount()=0,而rowcount>0