a me hanno suggerito sta roba:
codice:
 #define NAME_LEN 50
#define PHONE_LEN 50

SQLCHAR   szName[NAME_LEN], szPhone[PHONE_LEN];
SQLINTEGER  sCustID, cbName, cbAge, cbBirthday;
SQLRETURN retcode;
SQLHSTMT  hstmt;

retcode = SQLExecDirect(hstmt,
    "SELECT CUSTID, NAME, PHONE FROM CUSTOMERS ORDER BY 2, 1, 3",
    SQL_NTS);

if (retcode == SQL_SUCCESS) {
   while (TRUE) {
      retcode = SQLFetch(hstmt);
      if (retcode == SQL_ERROR || retcode == SQL_SUCCESS_WITH_INFO) {
         show_error();
      }
      if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO){

         /* Get data for columns 1, 2, and 3 */

         SQLGetData(hstmt, 1, SQL_C_ULONG, &sCustID, 0, &cbCustID);
         SQLGetData(hstmt, 2, SQL_C_CHAR, szName, NAME_LEN, &cbName);
         SQLGetData(hstmt, 3, SQL_C_CHAR, szPhone, PHONE_LEN,
              &cbPhone);

         /* Print the row of data    */

         fprintf(out, "%-5d %-*s %*s", sCustID, NAME_LEN-1, szName, 
             PHONE_LEN-1, szPhone);
      } else {
         break;
      }
   }
Vale?