Estaba pensando en otras situaciones. Muy de acuerdo contigo AzidRain.
El ZDataset, imagina que son 4 Zquerys en un componente. Una para cuando quieres insertar, otra para eliminar, otra para refrescar el registro actual y por último otra Zquery para modificar los datos.
busca información sobre el SQL, un ejemplo:
Código SQL
[-]
insert into Clientes (idCliente, nombreCliente) Values (:idcliente, :nombreCliente)
update Clientes set idCliente = :idCliente, nombreCliente = :nombreCliente where idcliente = :old_idcliente
delete from clientes where idcliente = :old_idcliente
// refresh:
select idCliente, nombrecliente where idcliente = :old_idcliente
//select:
select idCliente, nombrecliente where idcliente = :idcliente
doble clic a ZDataset, boton derecho y añade los campos.
Enlaza ese ZDataset con tu TZTransaction, usa un DBNavigator y unos edits enlazados a los campos de este ZDAtaset. Listo, ya puedes insertar, borrar, modificar y refrescar desde la tabla. Lo que has ganado, es que solo viajará 1 registro por la red (el que quieres modificar).
Edito: usar la etiqueta noparse para las caritas dentro del código sql
Saludos