Ver Mensaje Individual
  #6  
Antiguo 11-12-2006
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Reputación: 23
AzidRain Va camino a la fama
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;  {<---Este Edit sobra, Insert pone el query en Edit en automático}
MQnumperdido['codigo_mp'] := MQentradamp['codigo_mp'];
MQnumperdido['numero_perdido'] := MQentradamp['n_entrada'];
MQnumperdido.Post;
MQnumperdido.Refresh; {Este refresh no se si valga la pena...}

Para borrar un registro actual...
Código Delphi [-]
{--- Suponiendo que el registro actual es el que queremos borrar --}

MQnumperdido.Delete
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.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita