Я могу просто получить данные с помощью SQLExecDirect и SQLBindCol, но если я не знаю, сколько полей и какого типа запрос вернет меня? То есть, как обрабатывать запрос типа "SELECT * FROM X"? Я был бы очень благодарен за любые ссылки или объяснения.
Посмотрите на SQLNumResultCols API, чтобы найти количество столбцов. Посмотрите на API SQLDescribeCol, чтобы найти детали столбцов.