免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5875 | 回复: 5
打印 上一主题 下一主题

如何在cobol中实现fetch的数据保存到数组中 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-01 22:28 |只看该作者 |倒序浏览
感谢指导!

论坛徽章:
0
2 [报告]
发表于 2007-11-03 14:10 |只看该作者
这里管理员在吗,办我看看问题。谢谢。

论坛徽章:
0
3 [报告]
发表于 2007-11-06 10:40 |只看该作者

什么意思? 说详细点?

我也是用COLBE 的   楼上说详细点  看看能不能帮助

论坛徽章:
0
4 [报告]
发表于 2007-11-06 15:32 |只看该作者
01  tmp-ctl-table.                                      
      10 tmp-ctl-table-group            occurs 100 times
                                                      indexed by idx.
         15 tmp-5digits                 pic x(05).      
         15 tmp-last-digits             pic x(01).      

.......

         add 1                  to ws-x
         move tmpa          to tmp-5digits(ws-x)     
         move tmpb          to tmp-last-digits(ws-x)

论坛徽章:
0
5 [报告]
发表于 2007-11-07 09:12 |只看该作者
tme45   
谢谢您!
  
indexed by idx.  如何理解

我使用
        perform  varying  ind-x  from  1  by  1
                         until   ind-x  >  6
          perform  231-sc0101mast-select
          perform  232-sc0101mast-fetch
            end-perform
双循环解决了问题,这样和您那样的操作区别大吗,这样感觉无法指定数组的下标。
我直接创建一数组,
01   wk-ouccrs-1   occurs 100 times.
      03  wk-ouccrs-id   s9(002).
      03  wk-ouccrs-name   pic(01).

210 add-ouccrs section.
          exec sql  fetch  curor into
              ..................
              ...................
          end-sql
               
               perform  system-sql-check
               move    tb-colum-1               to             wk-ouccrs-1
  
       exit section.
                这个如何知道  wk-ouccrs-1    下标

论坛徽章:
0
6 [报告]
发表于 2007-11-07 15:15 |只看该作者
EXEC SQL INCLUDE SQLCA
      END-EXEC.

...

      01 TABLE-1.
          02 DEPT  OCCURS 10 TIMES.
             05  EMPNO   PIC   X(6).
             05 LASTNAME.
                49 LASTNAME-LEN  PIC S9(4) BINARY.
                49 LASTNAME-TEXT PIC X(15).
             05  WORKDEPT PIC  X(3).
             05  JOB      PIC  X(.
      01 TABLE-2.
         02 IND-ARRAY   OCCURS 10 TIMES.
            05 INDS PIC  S9(4) BINARY OCCURS 4 TIMES.

...
      EXEC SQL
      DECLARE D11 CURSOR FOR
      SELECT EMPNO, LASTNAME, WORKDEPT, JOB
       FROM CORPDATA.EMPLOYEE
        WHERE WORKDEPT = "D11"
      END-EXEC.

...

      EXEC SQL
       OPEN D11
      END-EXEC.
      PERFORM FETCH-PARA UNTIL SQLCODE NOT EQUAL TO ZERO.
  ALL-DONE.
        EXEC SQL CLOSE D11 END-EXEC.

...

      FETCH-PARA.
         EXEC SQL WHENEVER NOT FOUND GO TO ALL-DONE END-EXEC.
      EXEC SQL FETCH D11 FOR 10 ROWS INTO EPT :IND-ARRAY
      END-EXEC.

...


不知道是不是你要的。

[ 本帖最后由 pantierui 于 2007-11-7 15:23 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP