Hola,
en teoría el Query te serviria para Selects, Updates, Inserts y deletes.
EL ADOCommand viene a ser más general, te permitiría enviar cualquier sentencia al SGBD.
Si lo que quieres es asignar la propiedad SQL por cógigo puedes hacer
Código:
Query1.SQL.Text:= 'INSERT INTO.....'
Query1.ExecSQL;
Query1.SQL.Text:= 'UPDATE etc etc';
Query1.ExecSQL;
Aunque si por ejemplo lo que necesitas es ejecutar varios inserts de los cuales solo cambian los valores lo que tienes que hacer es utilizar parámetros.
Por ejemplo colocas este INSERT
Código:
ISNERT INTO TABLA VALUES (:Codigo,:Nombre);
Y luego en tu programa les asignas valor a estos parámetros
Código:
Query1.Parameters.ParamByName('Codigo').Value:= 1;
Query1.Parameters.ParamByName('Nombre').Value:= 'Pepito';
Query1.ExecSQL;
Si ahora quieres hacer otro isnert con otros valores solo necesitas volver a asignar los parámetros y velover a hacer el ExecSQL.
Espero haberme explicado.
Un saludo.