| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3298 人关注过本帖
标题:请教二表随机整行替换代码中的一个错误提示
取消只看楼主 加入收藏
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
回复 22楼 吹水佬
打个比方,我共要进行3次替换(这个次数多少可以让人选择),第一次产生了3个随机数此时将B表中的3整行替换了原A的对应3行,第二次产生了7个随机数此时将B表中的7整行替换了原A的对应7行,第三次产生了1个随机数此时将B表中的1整行替换了原A的对应1行,而原A表是保持原样不变的
2022-02-15 09:23
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
回复 25楼 吹水佬
先生我是这样认为的,原A表当被B表替换后所得的结果是记录在“替换结果记录表.dbf”中的,所以原A表保持不变,或者说是从原A拷贝一份临时表来被B表替换,这样原A表就一直保持不变了,我的这个逻辑不知能否行得通,谢谢先生
2022-02-15 12:33
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
回复 27楼 吹水佬
先生您好,我用 COPY  TO  替换结果记录表.dbf 在记录表中得到的结果与您的查询中的结果怎么不一样的,并且在记录表中记录下的不是替换后的数字(10行6列的形式)
2022-02-15 17:17
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
回复 29楼 吹水佬
谢谢先生

ACTIVATE SCREEN
CLEAR
CLOSE DATABASES
SET SAFETY OFF
CREATE CURSOR ta (bh I, f1 C(4))
CREATE CURSOR tb (bh I, f1 C(4))
FOR i=1 TO 9
    INSERT INTO ta VALUES (i,"a"+TRANSFORM(i))
    INSERT INTO tb VALUES (i,"b"+TRANSFORM(i))
ENDFOR
SELECT ta
INDEX on bh TAG ta_bh
RAND(-1)
SELECT tb
INDEX ON RAND() TAG tb_r
SET RELATION TO bh INTO "ta"
ran = INT((RECCOUNT("tb")-1)*RAND()+1)
? " 取 "+TRANSFORM(ran)+" 条记录"
i = 0
SCAN FOR i<ran
    ? bh,f1
    i = i+1
    SCATTER MEMVAR
    SELECT ta
    GATHER MEMVAR
ENDSCAN
SELECT * FROM ta
COPY  TO  替换结果记录表.dbf
2022-02-15 18:19
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
回复 31楼 吹水佬
哦,那先生如何才能得到替换后的数字形式呢
2022-02-15 19:08
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
回复 33楼 吹水佬
就是替换后的真实表格呵
A                            B                            随机的B中的行替换对应的A中的行记录表                    
列1    列2    列3    列4    列5    列6        列1    列2    列3    列4    列5    列6        列1    列2    列3    列4    列5    列6
280    56    182    172    147    30        9    233    107    117    142    259        280    56    182    172    147    30
284    60    158    123    202    40        5    229    131    166    87    249        5    229    131    166    87    249
2    238    95    138    150    244        287    51    194    151    139    45        2    238    95    138    150    244
121    203    217    47    246    33        168    86    72    242    43    256        168    86    72    242    43    256
29    126    195    227    49    241        260    163    94    62    240    48        260    163    94    62    240    48
93    129    173    218    253    1        196    160    116    71    36    288        93    129    173    218    253    1
25    63    113    190    237    239        264    226    176    99    52    50        25    63    113    190    237    239
271    102    89    85    69    251        18    187    200    204    220    38        271    102    89    85    69    251
278    28    162    96    91    212        11    261    127    193    198    77        11    261    127    193    198    77
266    24    179    100    82    216        23    265    110    189    207    73        23    265    110    189    207    73


[此贴子已经被作者于2022-2-15 19:19编辑过]

2022-02-15 19:17
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
回复 35楼 吹水佬
就是替换后的真实表格呵
A                            B                            随机的B中的行替换对应的A中的行记录表                    
列1    列2    列3    列4    列5    列6        列1    列2    列3    列4    列5    列6        列1    列2    列3    列4    列5    列6
280    56    182    172    147    30        9    233    107    117    142    259        280    56    182    172    147    30
284    60    158    123    202    40        5    229    131    166    87    249        5    229    131    166    87    249
2    238    95    138    150    244        287    51    194    151    139    45        2    238    95    138    150    244
121    203    217    47    246    33        168    86    72    242    43    256        168    86    72    242    43    256
29    126    195    227    49    241        260    163    94    62    240    48        260    163    94    62    240    48
93    129    173    218    253    1        196    160    116    71    36    288        93    129    173    218    253    1
25    63    113    190    237    239        264    226    176    99    52    50        25    63    113    190    237    239
271    102    89    85    69    251        18    187    200    204    220    38        271    102    89    85    69    251
278    28    162    96    91    212        11    261    127    193    198    77        11    261    127    193    198    77
266    24    179    100    82    216        23    265    110    189    207    73        23    265    110    189    207    73
2022-02-15 19:19
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
回复 37楼 吹水佬
先生我代码这样修改了下(先试验只是1列),但提示说数据类型不对

ACTIVATE SCREEN
CLEAR
CLOSE DATABASES
SET SAFETY OFF
CREATE CURSOR ta (bh I, 列1 n(4))
CREATE CURSOR tb (bh I, 列1 n(4))
FOR i=1 TO 9
    INSERT INTO ta VALUES (i,"列"+TRANSFORM(i))
    INSERT INTO tb VALUES (i,"列"+TRANSFORM(i))
ENDFOR
SELECT ta
INDEX on bh TAG ta_bh
RAND(-1)
SELECT tb
INDEX ON RAND() TAG tb_r
SET RELATION TO bh INTO "ta"
ran = INT((RECCOUNT("tb")-1)*RAND()+1)
? " 取 "+TRANSFORM(ran)+" 条记录"
i = 0
SCAN FOR i<ran
    ? bh,列1
    i = i+1
    SCATTER MEMVAR
    SELECT ta
    GATHER MEMVAR
ENDSCAN
SELECT * FROM ta
COPY  TO  替换结果记录表.dbf
2022-02-15 19:33
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
回复 39楼 吹水佬
先生 列1 n(4) ........... 是数值类型
"列"+TRANSFORM(i) .. 这个是何类型我确不准了,对不起
2022-02-15 20:06
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
回复 41楼 吹水佬
哦,我再翻下书,对不起
2022-02-15 20:33
快速回复:请教二表随机整行替换代码中的一个错误提示
数据加载中...
 
   



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

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