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)
-   -   Actualización Query con Join en DBExpress (https://www.clubdelphi.com/foros/showthread.php?t=1746)

ibarrols 25-06-2003 23:11:42

Actualización Query con Join en DBExpress
 
Hola foro !!

Mi problema es que sale un error al momento de realizar cualquier
actualización en la base de dato cuando tengo un query que utiliza también
otra tabla relacionada.

Estoy trabajando con DBEXPRESS y D7.
Tengo definido un TSQLDataSet con un query, por ejemplo:
SELECT cliente.idCliente, cliente.nombre, pais.nombre
FROM cliente
JOIN pais USING (idPais)

También tengo definido un TDataSetProvider, un TClientDataSet y un
TDataSource.
Al trabajar de esta manera el insert o Edit en el ClientDataSet funciona
bien, pero al momento de realizar un ApplyUpdate me sale un mensaje de error
diciéndome que el campo 'pais.nombre' no existe en la tabla 'cliente' cuando
en realidad pertenece a la tabla país y solo lo tengo a los fines de
mostrarlo.

¿Qué es lo que estoy haciendo mal? ¿como puedo utilizar un query con join
pero que en la actualización no me exiga los campos que pertenecen al join y
que no es mi intenciòn actulizar?

Gracias por la ayuda

jlcasih 26-06-2003 14:41:01

Te envio un link en donde te explican bien el tema aunque es en midas la logica es la misma:

http://community.borland.com/article...,00.html#Joins

Mucha suerte.Espero te sirva.
Saludos..

linsua 26-06-2003 16:03:55

Hola, no se si ya tienes la respuesta, pero el problema es facil de solucionar, debes tocar las Flags de los Campos que los DataSet. Poner la propiedad Update = False

un saludo y suerte

ibarrols 26-06-2003 17:33:58

>debes tocar las Flags de los Campos que los DataSet. Poner la
>propiedad Update = False

como se utilizan los Flags? Creo que la solucion es la que me dices pero no logro implementarlo.

Les agradecere la ayuda para entender este tema.

linsua 26-06-2003 18:31:26

Hola, si creas los campos explicitamente en tiempo de diseño con el editor de campos de los DataSet, no tienes mas que seleccionar el campo que no requiere actualizacion y en el inspector de objetos buscar la propiedad Flags

un saludo

ibarrols 26-06-2003 20:13:56

Problema solucionado. El flag que mencionas es el ProviderFlags
Mil gracias por la ayuda !!!


La franja horaria es GMT +2. Ahora son las 14:05:37.

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