![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Neftali,
y si hiciera la consulta original de este modo ?? Cita:
|
|
#2
|
||||
|
||||
|
Creo que no va a funcionar Toni. N es una Join, pero es un producto cartesiano.
El problema no está en la JOIN es si, sino en mezclar datos de diferentes tablas en un DataSet.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#3
|
||||
|
||||
|
He buscado información al respecto, he visto varios casos de qry de más de una tabla
![]() Por lo que he entendido, el update resultante se gestiona en función de algunas propiedades de los campos en el DataSet original mediante banderas que se parametrizan en ProviderFlags. Los campos que se actualizarán con la propiedad pfInUpdate, los campos implicados en el where con la propiedad pfInWhere y los de clave principal con pfInKey. Siguiendo esas premisas he parametrizados todos los campos y me gustaría saber si conoces algún método para que pueda ver la sentencia sql del update resultante. En la qry original he identificado todos los campos con su nombre correcto de tabla, sin utilizar alias para intentar evitar problemas de identificación de éstos. El error que produce ahora al realizar el ApplyUpdates es El nombre de la columna CDGOPARTE no es válido y El nombre de la columna CDGOLIN no es válido, ambos campos son la clave principal de la tabla tbldetalle que és la que se debe actualizar. Es posible que el problema venga por tratarse de tablas Maestro/Detalle ?? Muchas gracias por la ayuda ![]() |
|
#4
|
||||
|
||||
|
Cita:
Nunca he llegado a este punto y creo que no debes intentar actualizar con el ApplyUpdates. Por internet he encontrado esto, que viene a ser más o menos lo que tiene más lógica: ApplyUpdates cannot handle updates to a join. You need to create a BeforeUpdateRecord event handler for the DSP and create and execute the UPDATE statements for each table.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#5
|
||||
|
||||
|
Neftali,
al final lo he resuelto siguiendo tus indicaciones, creando un campo actualizado que voy marcando al guardar los cambios en el ClientDataSet, en un button he creado un proceso que recorre el ClientDataSet y lanza un qry de update en función del valor del campo actualizado. Hasta aquí todo funciona perfectamente y realiza los updates correctamente ![]() El problema que tengo ahora es que en el DBGrid asociado al ClientDataSet se pueden añadir líneas y quisiera eliminar esa opción, es decir, que no puedan añadir ninguna línea, pero no sé cómo hacerlo ?? Muchas Gracias ![]() |
|
#6
|
||||
|
||||
|
Perdón, no me expliqué demasiado bien...
lo que quiero es no permitir insert ya sea bloqueando el DBGrid que muestra los datos, en ClientDataSet o en el Provider. Sorry por la confusión generada ![]() |
|
#7
|
||||
|
||||
|
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| La mejor tecnica para actualizar datos | NickName | Firebird e Interbase | 1 | 20-06-2011 15:47:08 |
| Ayuda por favor para correr un query en Delphi a una base de datos en Mysql | charlyfitlh | MySQL | 10 | 01-11-2007 20:28:49 |
| Problema con query para una base de datos de Access | omarifr | SQL | 3 | 27-07-2007 00:36:50 |
| Problemas para actualizar datos | Nelly | Varios | 2 | 20-11-2006 14:07:44 |
| Actualizar datos con componente jvDBComboBox | rochi | Conexión con bases de datos | 0 | 15-02-2005 17:35:20 |
|