Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-07-2022
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por juggern Ver Mensaje
¿Puede que el problema sea directamente del campo o la vista de SQL en lugar de en delphi? no se
Por ahí iba mi pregunta.
Revisa sobre "Vistas actualizables". Entiendo que tu vista está formada por JOINs, y si es así, no todos los campos de la JOIN son actualizables.
¿El resto de campos (DBCheckbox) son de la tabla principal o son de las otras tablas de la vista? ¿Y este que has añadido?

Cita:
Vistas actualizables
Es posible modificar los datos de una tabla base subyacente mediante una vista, siempre que se cumplan las siguientes condiciones: Cualquier modificación, incluidas las instrucciones UPDATE, INSERT y DELETE, debe hacer referencia a las columnas de una única tabla base.
__________________
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.
Responder Con Cita
  #2  
Antiguo 28-07-2022
juggern juggern is offline
Miembro
 
Registrado: jun 2020
Posts: 79
Poder: 7
juggern Va por buen camino
Pues acabo de estarlo revisando y tiene todo left join pero el campo que he agregado es a la tabla principal, los otros campos que veo que se actualizan, también son de esta tabla.

También he probado a hacer un
Código SQL [-]
update vista set Campo = 'N'
donde el campo es el que he creado y me lo actualiza bien desde SQL.
Responder Con Cita
  #3  
Antiguo 28-07-2022
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Poder: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Comprueba si el TField tiene las propiedades correctas (ReadOnly?).
Comprueba que no tenga ningún evento indeseado (OnSetText?)

No conosco el componente TBetterAdoDataSet.
Tiene alguna forma de establecer el UpdateSQL?
Responder Con Cita
  #4  
Antiguo 28-07-2022
juggern juggern is offline
Miembro
 
Registrado: jun 2020
Posts: 79
Poder: 7
juggern Va por buen camino
Ya lo miré pero lo estoy repasando por si acaso, todo parece correcto, no tiene readonly, ni ningún evento el Field.
El DataSet tiene varios eventos pero el único que podría afectar es el BeforeUpdate, porque el resto son para el post, delete o cancel, y el beforeupdate solo coge un valor y lo mete en una variable global, asique no afecta.
El DataSource sin embargo si que tiene los eventos DataChange, StateChange y UpdateDate vinculados, pero para verificar que no fuera por estos, probé a quitarlos todos y seguía igual, por eso me hace pensar que tiene que ser algo del Field o de la propia vista. El field lo he quitado y lo he agregado al DataSet a mano copiándolo de uno que si funciona y es igual y nada, tampoco.

La vista tiene esta estructura, donde CAMPONUEVO es el campo que he añadido yo a la tabla1:

Código SQL [-]
SELECT        A.Campo1, A.Campo2, A.Campo3, A.Camp4o, A.Campo5, A.Campo6, A.Campo7, A.Campo8, A.CAMPONUEVO, 
                         P.Nombre AS NombreAct, T.Nombre AS NombrePas, 
                         CASE WHEN A.Campo1 = 'M' THEN 'MMM' WHEN A.Campo1 = 'I' THEN 'III' WHEN A.Campo1 = 'C' THEN 'CCC' ELSE 'Indefinido' END AS Tipo
FROM            dbo.tabla1 AS A LEFT OUTER JOIN
                         dbo.tabla2 AS P ON A.clave1 = P.clave1 LEFT OUTER JOIN
                         dbo.tabla2 AS T ON A.clave2 = T.clave2 LEFT OUTER JOIN

Sigo probando cosas pero nada.

El comportamiento a la hora de hacer click en el CheckBox es como si no tuviera un campo vinculado, pero si que lo tiene ya que si en la bd tiene un valor 'S' lo muestra marcado y si tiene un valor 'N' lo muestra desmarcado.
Responder Con Cita
  #5  
Antiguo 29-07-2022
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 22
kuan-yiu Va camino a la fama
En versiones antiguas de Delphi he tenido problemas similares y eran porque tenía definidos de forma parcial campos persistentes (tablas monstruosamente grandes) en algunas consultas.
Daba problemas de este estilo con los componentes visuales tener algunos campos persistentes y otros no en el mismo dataset: o todo o nada.
Responder Con Cita
  #6  
Antiguo 29-07-2022
juggern juggern is offline
Miembro
 
Registrado: jun 2020
Posts: 79
Poder: 7
juggern Va por buen camino
Hola kuan,

No acabo de entender lo que me comentas.
Responder Con Cita
  #7  
Antiguo 29-07-2022
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 22
kuan-yiu Va camino a la fama
Los campos persistentes de un tQuery, por ejemplo, se ven haciendo doble click sobre el componente y en esa lista tienen que aparecer todos los campos que usas de la consulta o ninguno. Si los campos que ya tenías estaban dados de alta como persistentes (para referenciarlos directamente con un nombre en lugar de con 'FieldByname' o similares) pero el nuevo no está puede fallar por eso en versiones antiguas de Delphi, las nuevas no sé como se comportan al respecto.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
DBCheckbox angel1972 C++ Builder 1 17-02-2011 11:13:56
Problema con DBCheckBox Carmelo Cash OOP 2 02-02-2009 12:01:49
Problema con DBCheckBox esimon OOP 1 08-07-2007 16:46:58
problema con DBCheckBox...ayuda... CyberFire Conexión con bases de datos 2 12-06-2006 18:57:08
Problema con DBCHeckbox el_barto Conexión con bases de datos 5 13-07-2005 12:17:24


La franja horaria es GMT +2. Ahora son las 21:31:30.


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