Bueno te contesto aca tambien...
El tema es asi, para ejecutar la consulta tenes:
Query1->ExecSQL(); //Suponiendo que tu TQuery se llame Query1.
Luego de eso si todo salio bien y no dio error, para recorrer los registros tenes:
Query1->First();
Query1->Next();
Query1->Prev();
Query1->Last();
Y para obtener el registro actual tenes varias formas, una es obtener todo el registro entero en una char* que contenga un separador (no se cual es no lo probe aun):
Query1->GetCurrentRecord(Registro); //Registro es una variable char* de strlen(Registro)=La maxima Longitud de tu Registro en la base.
Ahora si lo que queres es obtener los datos del registro Campo a campo, usas:
CampoN = Query1->FieldsValue["Nombre del campo"];
Y eso es todo