Example of retrieving UTF-8 data into application variables

You can use SQLGetData() to retrieve UTF-8 data from columns in the current row of a result set.

The following example shows how SQLGetData() can retrieve UTF-8 data from three columns (DECIMAL, VARCHAR, and VARGRAPHIC) in the current row of the result set.
Figure 1. An application that retrieves result set data into application variables
/* Declare variables for Unicode UTF-8 data */
SQLCHAR     HV1DECIMAL   [50];
SQLCHAR     HV1VARCHAR   [100];
SQLCHAR     HV1VARGRAPHIC[200];  
SQLINTEGER  LEN_HV1DECIMAL;
SQLINTEGER  LEN_HV1VARCHAR;
SQLINTEGER  LEN_HV1VARGRAPHIC;
...
/* Assume CURRENTAPPENSCH=UNICODE is set */
/* Bind DECIMAL(10,2) column */
SQLGetData( (SQLHSTMT)     hstmt, 
            (SQLUSMALLINT) 1,  
              (SQLSMALLINT)  SQL_C_CHAR,
            (SQLPOINTER)   HV1DECIMAL,
            (SQLINTEGER)   sizeof(HV1DECIMAL),
            (SQLINTEGER *) &LEN_HV1DECIMAL ),
/* Bind VARCHAR(20) column */
SQLGetData( (SQLHSTMT)     hstmt, 
            (SQLUSMALLINT) 2,  
              (SQLSMALLINT)  SQL_C_CHAR,
            (SQLPOINTER)   HV1VARCHAR,
            (SQLINTEGER)   sizeof(HV1VARCHAR),
            (SQLINTEGER *) &LEN_HV1VARCHAR ),
/* Bind VARGRAPHIC(30) column */  
SQLGetData( (SQLHSTMT)     hstmt, 
            (SQLUSMALLINT) 3,  
              (SQLSMALLINT)  SQL_C_CHAR,
            (SQLPOINTER)   HV1VARGRAPHIC,
            (SQLINTEGER)   sizeof(HV1VARGRAPHIC),
            (SQLINTEGER *) &LEN_HV1VARGRAPHIC );