数据库中取随机数

Author: 大连 吴京洋 Date: 1992-07-10

        TIME函数把当前系统时间作为其输出值,我们可根据需要把系统时间最小一位或二位取出,做为选到的“随机数”。取到的“随机数”重复机会很少,为确保数字不重复,可用循环判断排除。
        举例如下:(运行环境为FOXBASE+2.10)
        产生10个单数字
        SET ECHO OFF
        SET TALK OFF
        DIME DSZ (10)
        I=1
        DO WHILE I<11
        STORE TIME(") TOSIS
        STORE SUBS(SJS,11,1)TO SJS1
        STORE SJS1 TO DSZ (I)
        IF I>1
        IF DSZ(I-1)=DSZ(I)
        LOOP
        ENDI
        ENDI
        I=I+1
        ENDD
        ?DSZ(1),DSZ(2),DSZ(3),DSZ(4),DSZ(5),DSZ(6),DSZ(7),DSZ(8),DSZ(9),DSZ(10)
        程序2 产生10个单字母
        DIME DZM(10)
        I=1
        DO WHILE I<11
        STORE TIME(") TO SJS
        STORE SUBS(SJS,10,2) TO SJS1
        IF(VAL(SJS1)>64.AND.(VAL(SJS1)<91
        STORE SJS1 TO DZM(I)
        IF I>1
        IF DZM(I-1)=DZM(I)
        LOOP
        ENDI
        ENDI
        I=I+1
        ENDI
        ENDD
        I=1
        DO WHILE I<11
        STORE DZM(I) TO X
        STORE CHR(&X) TO DZM(I)
        I=I+1
        ENDD
        ?DZM(1),DZM(2),DZM(3),DZM(4),DZM(5),DZM(6),DZM(7),DZM(8),DZM(9),DZM(10)