Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Error en el ApplyUpdates cuando tengo LEFT JOINS en el command text (https://www.clubdelphi.com/foros/showthread.php?t=47396)

intelectoall 27-08-2007 11:47:24

Error en el ApplyUpdates cuando tengo LEFT JOINS en el command text
 
Mi aplicación trabaja con clientsdatasets y, en una pantalla tengo que mostrar las líneas (Detalle) de una "muestra" en un DBGrid. Para eso utilizo un TMidasDataSet con el CommandText:

select LM.*, D.NOMB_DETERM_UNO from LINEAS_MUESTRA LM left join DETERMINACION D ON (LM.IOR_DETERMINACION=D.OID) WHERE LM.OWNER=:OID

Las líneas aparecen perfectamente, pero cuando intento editar o añadir una nueva línea, y relleno las informaciones (la clave foranea IOR_DETERMINACION la pongo también) me dá un error en el ApplyUpdates.

Cuando saco el LEFT JOIN (enseñando así solo el IOR_DETERMINACION en el DBGRID y no el nombre de la determinacion, él funciona perfecto.

Que debo hacer?

mensana 27-08-2007 13:39:04

Cita:

Empezado por intelectoall (Mensaje 226262)
Mi aplicación trabaja con clientsdatasets ...

select LM.*, D.NOMB_DETERM_UNO from LINEAS_MUESTRA LM left join DETERMINACION D ON (LM.IOR_DETERMINACION=D.OID) WHERE LM.OWNER=:OID

... me dá un error en el ApplyUpdates.

El provider asociado al ClientDataSet no sabe la tabla que debe actualizar. Esta información la extra automáticamente si el commandtext es un simple "select ... from TABLA where ..."
, la solución pasa por implementar el evento OnGetTableName del provider, e informarle cual es el nombre de la tabla que debe actualizar.


La franja horaria es GMT +2. Ahora son las 13:57:23.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi