Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Providers (https://www.clubdelphi.com/foros/forumdisplay.php?f=10)
-   -   Problemas con el applyupdates (https://www.clubdelphi.com/foros/showthread.php?t=22811)

el-otro 28-06-2005 13:01:08

Problemas con el applyupdates
 
Tengo un TBDGrid que muestra el contenido de una tabla de SQL Server.

El proceso para llegar a ella es el siguiente

- Un TADOConnection
- Un TADODataSet con la conexión anterior
- Un TDataSetProvider cuyo DataSet es el indicado anteriormente
- Un TClientDataSet, cuyo provider es el anterior
- Un TDataSource, cuyo DataSet es el ClientDataSet de la linea anterior
y - Un TBDGrid cuyo DataSource es el anterior.

Hasta aqui todo funciona correctamente

Además tengo por el formulario una serie de TBDEdit cuyo DataSource es el mismo que el del TBDGrid. Esto también se ve correctamente.

El caso es que cuando hago modificaciones en los TBDGrid se van guardando en el ClientDataSet de forma correcta.

A partir de aqui tengo un boton para la grabación en la tabla SQL Server de las modificaciones realizadas con un ClientDataSet.ApplyUpdates(0), sin embargo no me graba las modificaciones.

Tengo que señalar que la instrucción SQL que le paso a traves del TADODataSet tiene incluidos varios JOIN LEFT, lo que no se si influye.

Me podríais ayudar un poco a ver cual es la razón por la que no se aplican los cambios señalados.

Os agradezco vuestro interes, y os envio un saludo a todos.

Víctor

jachguate 28-06-2005 18:13:43

Cita:

Empezado por el-otro
Tengo que señalar que la instrucción SQL que le paso a traves del TADODataSet tiene incluidos varios JOIN LEFT, lo que no se si influye.

Claro que influye, puesto que el provider no puede encontrar el nombe de la tabla a actualizar. Podes hacer algo "manual" con los eventos de provider, ya sea insertando/actualizando vos mismo los registros (BeforeUpdateRecord), o bien indicando puntualmente que tabla actualizar (OnGetTableName).

Hasta luego.

pd. Por cierto... este tema me parece adecuado para el foro Providers, pero no para SQL, dado el tema que se trata, por lo que lo cambio para aqui.

el-otro 29-06-2005 10:15:38

Agradecido
 
Muchas gracias por tu rápida respuesta. A la vista de los problemas he decidido utilizar dos clientdataset, y hacer el applyupdates solo sobre uno de ellos.

Quedo muy agradecido por tu atención.

Saludos.

Víctor.


La franja horaria es GMT +2. Ahora son las 12:09:29.

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