Es lo mismo... Si haces un TQuery.Delete el query manda una sentencia "DELETE FROM TABLE..." y el post hace un "UPDATE TABLE..." o "INSERT INTO ..." segun lo que estés haciendo (insertando un registro o editandolo).
De manera que:
Para insertar...
Código Delphi
[-]
MQnumperdido
MQnumperdido.Insert;
MQnumperdido.Edit;
MQnumperdido['codigo_mp'] := MQentradamp['codigo_mp'];
MQnumperdido['numero_perdido'] := MQentradamp['n_entrada'];
MQnumperdido.Post;
MQnumperdido.Refresh;
Para borrar un registro actual...
No importa si el query de donde borramos solo contiene unas cuantas filas o incluso una sola, el registro se borra de la tabla completamente...es decir...
si tengo un query "SELECT * FROM CLIENTES" y otro "SELECT * FROM CLIENTES WHERE NOMBRE LIKE '%COMPANY%' " en ambos casos hacer un delete a cualquier registro nos da el mismo resultado: la eliminación, en este caso del cliente, de la tabla. Obviamente el primer Query tardará mas en abrirse que el segundo antes de poder hacer el TQuery.Delete.
Ojo...Usar los metodos del TQuery solo funciona si el query que utilizas es de una sola tabla, si incluye joins o alguna otra cosa relacionada con mas de 1 tabla no es posible. Esto debido a que la mayoría de los motores no permiten editar sentencias multitablas.