Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Providers
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-06-2005
el-otro el-otro is offline
Miembro
 
Registrado: sep 2004
Posts: 13
Poder: 0
el-otro Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 28-06-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cool

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.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 29-06-2005
el-otro el-otro is offline
Miembro
 
Registrado: sep 2004
Posts: 13
Poder: 0
el-otro Va por buen camino
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.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 06:53:14.


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
Copyright 1996-2007 Club Delphi