Hola, como dices que usas AdoConnection, espero te pueda servir esto:
una vez que tengo en AdoDataSet1 asignada la tabla de la que quiero información
Código:
for Contador:=0 to ADODataSet1.FieldCount - 1 do
begin
ADODataSet1.Fields.Fields[Contador].DisplayName; //nombre
ADODataSet1.Fields.Fields[Contador].Size; //tamaño
ADODataSet1.Fields.Fields[Contador].DataType; //tipo
end;
aunque no se si esto soporte todos los tipos que tengas en tu base de datos.