如何在COBOL程序中传输collect用户输入并存储在SQL表中?

问题描述 投票:0回答:1

请问如何使用嵌入式SQL创建一个COBOL程序,该程序接受用户输入并使用SQL来INSERT到表中。我知道如何使用SQL插入,但我不知道如何将COBOL ACCEPT输入传输到SQL表

        EXEC SQL DECLARE A05544 TABLE                     
        ( CUST_ID                        CHAR(6) NOT NULL,
          PROD                           CHAR(6) NOT NULL,
          PRIC                           CHAR(6) NOT NULL 
        ) END-EXEC.
    01  DCLA05544.                       
        10 CUST_ID              PIC X(6).
        10 PROD                 PIC X(6).
        10 PRIC                 PIC X(6).                                       

以上是我要插入的表的嵌入式SQL表声明

    WELCOME.
        DISPLAY 'INPUT CUSTOMER ID'

这就是程序的开始

我试过这样插入

EXEC SQL            
    INSERT INTO A05544
    (CUST_ID)         
    VALUES(CID_ADD)   
END-EXEC

但我收到错误DSNHANAL LINE 225 COL 14声明参考栏目'A05544''CID_ADD',未在指定表格中声明

mysql sql cobol
1个回答
2
投票

在COBOL部分的任何地方都没有引用CID_ADD,是吗?看起来这是你事先ACCEPTed的变量,在这种情况下使用:告诉预编译器你的意图:

EXEC SQL            
    INSERT INTO A05544
    (CUST_ID)         
    VALUES(:CID_ADD)   
END-EXEC
© www.soinside.com 2019 - 2024. All rights reserved.