Ver Mensaje Individual
  #1  
Antiguo 05-01-2009
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Reputación: 20
mjjj Va por buen camino
TIBDataset y Update

Hola amigos una consulta...

Quiero modificar algunos datos de mi base de dato con el componente TIBDataSet.

Este el el codigo SDL, que tengo en el selectSQL del componente.

Código SQL [-]
select p.mes, SUM(MONTO) ,
(select monto from presupuesto
where empresa = 'XXX'
AND ANO = 2009
AND SUBAREA = 'OTROS'
AND AREA = 'PRENSAS'
and mes = p.mes
AND OFICINA = 1
) as OF1,
(select monto from presupuesto
where empresa = 'XXX'
AND ANO = 2009
AND SUBAREA = 'OTROS'
AND AREA = 'PRENSAS'
and mes = p.mes
AND OFICINA = 2
) as OF2
from presupuesto p
 
where empresa = 'XXX'
AND ANO = 2009
AND SUBAREA = 'OTROS'
AND AREA = 'PRENSAS'
GROUP BY MES

El campo que quiero modificar es "monto", el cual esta representado en mi consulta como OF1 o OF2, dependiendo de la oficina que corresponda.

Genere los codigos SQL para insertar, modificar, borrar, etc.

Este es el codigo para el update.

Código SQL [-]
update presupuesto
set
  MONTO = ld_OF1
where
  MES = :OLD_MES
AND SUBAREA =:OLD_SUBAREA
AND EMPRESA =:OLD_EMPRESA
AND AREA =:OLD_AREA
AND ANO  =:OLD_ANO
AND OFICINA  =:OLD_OFICINA

Ademas en el evento afterpost del dataset, escribi:

Código Delphi [-]
ibtransaction1.commit;

y en el onclick en un botton:

Código Delphi [-]
ibdataset1.post;

Tengo 2 preguntas:

En primer lugar, al ejecutar lo anterior, no arroja ningun error, pero tampoco ningun cambio en mi base de dato.

En segundo lugar, en caso de que este moficando el valor de OF2, creo que no funcionaria... ya que esta relacionado con el campo virtual OF1.

Bueno, espero me puedan ayudar con este problemita...

Muchas Gracias.
Responder Con Cita