#include <stdlib.h>
#include <stdio.h>
 
int main(int argc, char **argv)
{
    EXEC SQL BEGIN DECLARE SECTION;
    int v_key, v_val_ind;
    char v_val[81];
    EXEC SQL END DECLARE SECTION;
 
    EXEC SQL DECLARE c CURSOR FOR
        SELECT key, value
        FROM foo
        ORDER BY key;

    /* connect to the database */
    EXEC SQL CONNECT TO "<change connection string>" AS cnxsit USER "connection user";
    if(SQLCODE != 0)  {
      printf ( "sqlcode cnxsit= %d\n", sqlca.sqlcode);
    }
    
    EXEC SQL BEGIN WORK ;

    /* loop will be left if the cursor is done */
    int cpt=0;
    EXEC SQL OPEN c;
    for(;;)
    {
        EXEC SQL FETCH NEXT FROM c INTO :v_key, :v_val :v_val_ind;
 
        printf(
            "key = %d, value = %s - cpt = %d\n",
            v_key,
            v_val_ind ? "(null)" : v_val,
            cpt
        );
        cpt=cpt+1;
    }
    EXEC SQL CLOSE c;
    EXEC SQL DISCONNECT;
    return 0;
}

