不理解动态SQL的处理方法EXEC SQL DESCRIBE OUTPUT S USING DESCRIPTOR 'output_descriptor';
EXEC SQL GET DESCRIPTOR 'output_descriptor' :output_count = COUNT;什么意思?大概是干什么的??请大侠指教!!谢谢

解决方案 »

  1.   

    --引用网侠中的一段:--例如:<example.pc>
    #define USERNAME “SCOTT”
    #define PASSWORD “TIGER”
    #include <stdio.h>
    EXEC SQL INCLUDE sqlca;
    EXEC SQL BEGIN DECLARE SECTION;
    Char * username=USERNAME;
    Char * password=PASSWORD;
    VARCHAR sqlstmt[80];
    Int emp_number;
    VARCHAR emp_name[15];
    VARCHAR job[50];
    EXEC SQL END DECLARE SECTION;
    Main()
    {
    EXEC SQL WHENEVER SQLERROR GOTO :sqlerror;
    EXEC SQL CONNECT :username IDENTIFIED BY :password;
    Sqlstmt.len=sprintf(sqlstmt.arr,”INSERT INTO EMP (EMPNO,ENAME,JOB,SAL)
    VALUES(:V1,:V2,:V3,:V4)”);
    Puts(sqlstmt.arr);
    EXEC SQL PREPARE S FROM :sqlstmt;
    For(;;)

    printf(“\nenter employee number:”);
    scanf(“%d”,&emp_number); 
    if (emp_number==0) break;
    printf(“\nenter employee name:”);
    scanf(“%s”,&emp_name.arr);
    emp_name.len=strlen(emp_name.arr);
    printf(“\nenter employee job:”);
    scanf(“%s”,job.arr); 
    job.len=strlen(job.arr);
    printf(“\nenter employee salary:”);
    scanf(“%f”,&salary);
    }
    EXEC SQL EXECUTE S USING :emp_number,:emp_name,:job,:salary;

      

  2.   

    大概是以某用户执行sql查询输出。