Was sicher nicht die schlechteste Lösung ist.
@Privateer: es spricht aus meiner Sicht und wie gesagt nichts dagegen, bei TADOQuery zu bleiben - wenn man nicht gleich direkt aufsetzen will. Ansonsten: CommandText nimmt nur 'ganze' Strings, und der adäquate Ersatz für ExecSQL wäre, TADOCommand direkt zu verwenden (selbiger werkelt unter der Haube auch im TADODataset und Nachfahren).
Confuzius say: Early worm have death wish.