PDA

Ver la Versión Completa : Error de actualizacion con CDS


Ezecool
13-09-2011, 17:06:52
Buenas amigos, ojala me puedan ayudar con el siguiente problema:
Tengo un cliendataset conectado a una query mediante un proveedor, el query obtiene datos desde dos tablas mediante inner join y en el cds modifico algunos datos de la tabla principal de la consulta. Al momento de hacer el applyupdate obtengo un mensaje: ERROR: no existe la columna <apellido>; esa columna pertenece a la tabla esclava de la consulta que me provee los datos y no la modifico para nada, es solo para mostrar el apellido de un cliente del cual modifico otros datos. Este problema me impide salvar las modificaciones, habra alguna forma de solucionarlo. Trabajo con D2010 y mysql. Desde ya muchas gracias:)

ecfisa
13-09-2011, 17:10:57
Hola.

¿ Podrías poner más detalles como por ejemplo el código SQL que utilizas en la consulta ?

Saludos.

Ezecool
13-09-2011, 17:24:22
Gracias por responder

la query hace esta consulta

SELECT
liquidaciones_det.id_liquidacion,
liquidaciones_det.id_agente,
liquidaciones_det.sueldo_bruto,
liquidaciones_det.id_categoria,
liquidaciones_det.horas,
liquidaciones_det.inasistencias,
liquidaciones_det.nro_cuenta,
empleados.apellido,
empleados.nombre
FROM
liquidaciones_det
INNER JOIN public.empleados ON (liquidaciones_det.id_agente = public.empleados.id_agente)
WHERE
id_liquidacion = :pId_liquidacion
ORDER BY
apellido

luego en CDS modifico los campos horas, inasistencias, sueldo_bruto hago el post en cada caso y al aplicar los cambios me me da el error mencionado con el campo apellido. Muchas gracias

DarKraZY
13-09-2011, 17:37:29
Seguramente habrás creado los TField en el ClientDataSet, ¿no? Pues tienes que modificar el field MiClientDataSetapellido y poner a False pfInUpdate y pfInWhere que están en ProviderFlags.
Esto es para DBX excluya esos fields de las actualizaciones que hagas con ApplyUpdates.

Espero que te sirva, saludos!

Ezecool
13-09-2011, 18:03:52
Muchas gracias darcrazy, efectivamente hice lo que me sugeriste y funciono. Muchisimas gracias, saludos

DarKraZY
14-09-2011, 09:00:54
De nada ;)