Da gehts jetzt in die SQLDA-Verarbeitung, was mit Abstand komplizierter wird.
Du musst eine SQLDA anlegen, die mindestens genausoviele Typstrukturen enthält wie der Select selber.
Abfragen kann man es über das "describe statement".
Innerhalb der SQLDA gibt man dann sowohl den SQL-Typ als auch die Adresse (%ADDR) einer Hostvariablen an.

Der Fetch wird dann mit "fetch mycursur using : mysqlda" verwendet.

Aber:
Warum selektierst du nicht immer alle möglichen Felder und kannst den Fetch dann statisch verwenden ? Die Performance ist da sicherlich zu vernachlässigen.